forked from google/XNNPACK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD.bazel
11828 lines (10995 loc) · 343 KB
/
BUILD.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Copyright 2020 Google LLC
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
#
# Description:
# XNNPACK - optimized floating-point neural network operators library
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//lib:selects.bzl", "selects")
load(":build_defs.bzl", "xnnpack_aggregate_library", "xnnpack_benchmark", "xnnpack_binary", "xnnpack_cc_library", "xnnpack_gcc_std_copts", "xnnpack_min_size_copts", "xnnpack_msvc_std_copts", "xnnpack_optional_dnnl_copts", "xnnpack_optional_dnnl_deps", "xnnpack_optional_gemmlowp_copts", "xnnpack_optional_gemmlowp_deps", "xnnpack_optional_ruy_copts", "xnnpack_optional_ruy_deps", "xnnpack_optional_tflite_copts", "xnnpack_optional_tflite_deps", "xnnpack_std_cxxopts", "xnnpack_unit_test", "xnnpack_visibility")
load(":microkernels.bzl", "AARCH32_ASM_MICROKERNEL_SRCS", "AARCH64_ASM_MICROKERNEL_SRCS", "ALL_ARMSIMD32_MICROKERNEL_SRCS", "ALL_AVX2_MICROKERNEL_SRCS", "ALL_AVX512F_MICROKERNEL_SRCS", "ALL_AVX512SKX_MICROKERNEL_SRCS", "ALL_AVX512VBMI_MICROKERNEL_SRCS", "ALL_AVX_MICROKERNEL_SRCS", "ALL_F16C_MICROKERNEL_SRCS", "ALL_FMA3_MICROKERNEL_SRCS", "ALL_FMA_MICROKERNEL_SRCS", "ALL_FP16ARITH_MICROKERNEL_SRCS", "ALL_HEXAGON_MICROKERNEL_SRCS", "ALL_NEONBF16_AARCH64_MICROKERNEL_SRCS", "ALL_NEONBF16_MICROKERNEL_SRCS", "ALL_NEONDOT_MICROKERNEL_SRCS", "ALL_NEONFMA_AARCH64_MICROKERNEL_SRCS", "ALL_NEONFMA_MICROKERNEL_SRCS", "ALL_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS", "ALL_NEONFP16ARITH_MICROKERNEL_SRCS", "ALL_NEONFP16_MICROKERNEL_SRCS", "ALL_NEONV8_MICROKERNEL_SRCS", "ALL_NEON_AARCH64_MICROKERNEL_SRCS", "ALL_NEON_MICROKERNEL_SRCS", "ALL_RVV_MICROKERNEL_SRCS", "ALL_SCALAR_MICROKERNEL_SRCS", "ALL_SSE2_MICROKERNEL_SRCS", "ALL_SSE41_MICROKERNEL_SRCS", "ALL_SSE_MICROKERNEL_SRCS", "ALL_SSSE3_MICROKERNEL_SRCS", "ALL_WASMRELAXEDSIMD_MICROKERNEL_SRCS", "ALL_WASMSIMD_MICROKERNEL_SRCS", "ALL_WASM_MICROKERNEL_SRCS", "ALL_XOP_MICROKERNEL_SRCS", "WASM32_ASM_MICROKERNEL_SRCS")
licenses(["notice"])
exports_files(["LICENSE"])
OPERATOR_BENCHMARK_DEPS = [
":XNNPACK",
":bench_utils",
":cache",
"@FP16",
]
MICROKERNEL_BENCHMARK_DEPS = [
":aligned_allocator",
":bench_microkernels",
":bench_utils",
":common",
":enable_assembly",
":microkernels_h",
":params",
":microparams",
":microparams_init",
":xnnpack_h",
"@FP16",
"@cpuinfo",
]
ACCURACY_EVAL_DEPS = [
":aligned_allocator",
":bench_microkernels",
":bench_utils",
":common",
":isa_checks",
":math",
":math_stubs",
"@FP16",
"@cpuinfo",
"@pthreadpool",
]
MICROKERNEL_TEST_DEPS = [
":aligned_allocator",
":allocator",
":common",
":enable_assembly",
":isa_checks",
":math",
":microkernels_h",
":microparams",
":microparams_init",
":params",
":requantization",
":test_microkernels",
":xnnpack_h",
"@FP16",
]
OPERATOR_TEST_DEPS = [
":allocator",
":cache",
":common",
":params",
":XNNPACK_test_mode",
":jit_test_mode",
":normalization_test_mode",
"@pthreadpool",
"@FP16",
]
OPERATOR_SRCS = [
"src/operator-delete.c",
"src/operator-run.c",
"src/operators/argmax-pooling-nhwc.c",
"src/operators/average-pooling-nhwc.c",
"src/operators/binary-elementwise-nd.c",
"src/operators/channel-shuffle-nc.c",
"src/operators/constant-pad-nd.c",
"src/operators/convolution-nchw.c",
"src/operators/convolution-nhwc.c",
"src/operators/deconvolution-nhwc.c",
"src/operators/fully-connected-nc.c",
"src/operators/global-average-pooling-ncw.c",
"src/operators/global-average-pooling-nwc.c",
"src/operators/lut-elementwise-nc.c",
"src/operators/max-pooling-nhwc.c",
"src/operators/prelu-nc.c",
"src/operators/resize-bilinear-nchw.c",
"src/operators/resize-bilinear-nhwc.c",
"src/operators/slice-nd.c",
"src/operators/softmax-nc.c",
"src/operators/transpose-nd.c",
"src/operators/unary-elementwise-nc.c",
"src/operators/unpooling-nhwc.c",
]
SUBGRAPH_SRCS = [
"src/memory-planner.c",
"src/runtime.c",
"src/subgraph.c",
"src/subgraph/abs.c",
"src/subgraph/add2.c",
"src/subgraph/argmax-pooling-2d.c",
"src/subgraph/average-pooling-2d.c",
"src/subgraph/bankers-rounding.c",
"src/subgraph/ceiling.c",
"src/subgraph/clamp.c",
"src/subgraph/concatenate.c",
"src/subgraph/convert.c",
"src/subgraph/convolution-2d.c",
"src/subgraph/copy.c",
"src/subgraph/deconvolution-2d.c",
"src/subgraph/depth-to-space.c",
"src/subgraph/depthwise-convolution-2d.c",
"src/subgraph/divide.c",
"src/subgraph/elu.c",
"src/subgraph/even-split.c",
"src/subgraph/floor.c",
"src/subgraph/fully-connected.c",
"src/subgraph/global-average-pooling.c",
"src/subgraph/global-sum-pooling.c",
"src/subgraph/hardswish.c",
"src/subgraph/leaky-relu.c",
"src/subgraph/max-pooling-2d.c",
"src/subgraph/maximum2.c",
"src/subgraph/minimum2.c",
"src/subgraph/multiply2.c",
"src/subgraph/negate.c",
"src/subgraph/prelu.c",
"src/subgraph/sigmoid.c",
"src/subgraph/softmax.c",
"src/subgraph/space-to-depth-2d.c",
"src/subgraph/square-root.c",
"src/subgraph/square.c",
"src/subgraph/squared-difference.c",
"src/subgraph/static-constant-pad.c",
"src/subgraph/static-reshape.c",
"src/subgraph/static-resize-bilinear-2d.c",
"src/subgraph/static-slice.c",
"src/subgraph/static-transpose.c",
"src/subgraph/subtract.c",
"src/subgraph/tanh.c",
"src/subgraph/unpooling-2d.c",
"src/subgraph/validation.c",
"src/tensor.c",
]
TABLE_SRCS = [
"src/tables/exp2-k-over-64.c",
"src/tables/exp2-k-over-2048.c",
"src/tables/exp2minus-k-over-4.c",
"src/tables/exp2minus-k-over-8.c",
"src/tables/exp2minus-k-over-16.c",
"src/tables/exp2minus-k-over-32.c",
"src/tables/exp2minus-k-over-64.c",
"src/tables/exp2minus-k-over-2048.c",
"src/tables/vlog.c",
]
PROD_SCALAR_MICROKERNEL_SRCS = [
"src/u8-lut32norm/u8-lut32norm-scalar.c",
"src/xx-copy/xx-copy-scalar-memcpy.c",
"src/xx-transpose/xx-transpose-1x1-scalar-memcpy.c",
"src/x8-lut/gen/x8-lut-scalar-x4.c",
"src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
]
PROD_SCALAR_AARCH32_MICROKERNEL_SRCS = [
"src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-x4.c",
"src/f32-argmaxpool/f32-argmaxpool-4x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9x-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9p8x-minmax-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9x-minmax-scalar-c1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p0p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-2f2m2l4c1s1r-minmax-scalar-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c",
"src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-x2.c",
"src/f32-gavgpool-cw/f32-gavgpool-cw-scalar-x1.c",
"src/f32-gavgpool/f32-gavgpool-7p7x-minmax-scalar-c1.c",
"src/f32-gavgpool/f32-gavgpool-7x-minmax-scalar-c1.c",
"src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
"src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
"src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
"src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
"src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
"src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
"src/f32-maxpool/f32-maxpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9x-minmax-scalar-c1.c",
"src/f32-prelu/gen/f32-prelu-scalar-2x4.c",
"src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-x4.c",
"src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-x4.c",
"src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-x4-acc2.c",
"src/f32-rmax/f32-rmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
"src/f32-vbinary/gen/f32-vadd-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vaddc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vdiv-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmaxc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmin-scalar-x8.c",
"src/f32-vbinary/gen/f32-vminc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmul-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmulc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiff-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiffc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsub-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsubc-minmax-scalar-x8.c",
"src/f32-vclamp/gen/f32-vclamp-scalar-x4.c",
"src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-x4.c",
"src/f32-vhswish/gen/f32-vhswish-scalar-x4.c",
"src/f32-vlrelu/gen/f32-vlrelu-scalar-x4.c",
"src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
"src/f32-vrelu/gen/f32-vrelu-scalar-x8.c",
"src/f32-vrnd/gen/f32-vrndd-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndne-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndu-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndz-scalar-libm-x1.c",
"src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-x2.c",
"src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-x1.c",
"src/f32-vtanh/gen/f32-vtanh-scalar-expm1minus-rr1-lut8-p4h3-div-x4.c",
"src/f32-vunary/gen/f32-vabs-scalar-x4.c",
"src/f32-vunary/gen/f32-vneg-scalar-x4.c",
"src/f32-vunary/gen/f32-vsqr-scalar-x4.c",
"src/qc8-dwconv/gen/qc8-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
"src/qc8-dwconv/gen/qc8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
"src/qc8-gemm/gen/qc8-gemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qc8-gemm/gen/qc8-gemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qc8-igemm/gen/qc8-igemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qc8-igemm/gen/qc8-igemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
"src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
"src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-x4.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c1.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7x-minmax-fp32-scalar-imagic-c1.c",
"src/qs8-gemm/gen/qs8-gemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qs8-gemm/gen/qs8-gemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qs8-igemm/gen/qs8-igemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qs8-igemm/gen/qs8-igemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qs8-vadd/gen/qs8-vadd-minmax-scalar-x1.c",
"src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-x1.c",
"src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-x4.c",
"src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-x4.c",
"src/qs16-qs8-vcvt/gen/qs16-qs8-vcvt-scalar-x4.c",
"src/qu8-avgpool/qu8-avgpool-9p8x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-avgpool/qu8-avgpool-9x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
"src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
"src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-x4.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-fmagic.c",
"src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-fmagic.c",
"src/qu8-vadd/gen/qu8-vadd-minmax-scalar-x1.c",
"src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-x1.c",
"src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-x4.c",
"src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-x4.c",
"src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
"src/s8-maxpool/s8-maxpool-9p8x-minmax-scalar-c1.c",
"src/s8-vclamp/s8-vclamp-scalar-x4.c",
"src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
"src/u8-maxpool/u8-maxpool-9p8x-minmax-scalar-c1.c",
"src/u8-rmax/u8-rmax-scalar.c",
"src/u8-vclamp/u8-vclamp-scalar-x4.c",
"src/xx-fill/xx-fill-scalar-x16.c",
"src/xx-pad/xx-pad-scalar.c",
"src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
"src/x8-zip/x8-zip-xm-scalar.c",
"src/x8-zip/x8-zip-x2-scalar.c",
"src/x8-zip/x8-zip-x3-scalar.c",
"src/x8-zip/x8-zip-x4-scalar.c",
"src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
"src/x32-packx/x32-packx-x2-scalar.c",
"src/x32-packx/x32-packx-x3-scalar.c",
"src/x32-packx/x32-packx-x4-scalar.c",
"src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
"src/x32-unpool/x32-unpool-scalar.c",
"src/x32-zip/x32-zip-xm-scalar.c",
"src/x32-zip/x32-zip-x2-scalar.c",
"src/x32-zip/x32-zip-x3-scalar.c",
"src/x32-zip/x32-zip-x4-scalar.c",
]
PROD_SCALAR_WASM_MICROKERNEL_SRCS = [
"src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-x1.c",
"src/f32-argmaxpool/f32-argmaxpool-4x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9x-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9p8x-minmax-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9x-minmax-scalar-c1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p0p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-5f5m5l1c1s1r-minmax-wasm.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
"src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-bitcast-x4.c",
"src/f32-gavgpool-cw/f32-gavgpool-cw-scalar-x1.c",
"src/f32-gavgpool/f32-gavgpool-7p7x-minmax-scalar-c1.c",
"src/f32-gavgpool/f32-gavgpool-7x-minmax-scalar-c1.c",
"src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
"src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
"src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
"src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
"src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
"src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
"src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
"src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
"src/f32-maxpool/f32-maxpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9x-minmax-scalar-c1.c",
"src/f32-prelu/gen/f32-prelu-scalar-2x4.c",
"src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-x1.c",
"src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-x1.c",
"src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-x4-acc2.c",
"src/f32-rmax/f32-rmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
"src/f32-vbinary/gen/f32-vadd-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vaddc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vdiv-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vdivc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmaxc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmin-scalar-x8.c",
"src/f32-vbinary/gen/f32-vminc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmul-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmulc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiff-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiffc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsub-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsubc-minmax-scalar-x8.c",
"src/f32-vclamp/gen/f32-vclamp-scalar-x4.c",
"src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-x2.c",
"src/f32-vhswish/gen/f32-vhswish-scalar-x4.c",
"src/f32-vlrelu/gen/f32-vlrelu-scalar-x4.c",
"src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
"src/f32-vrelu/gen/f32-vrelu-scalar-x8.c",
"src/f32-vrnd/gen/f32-vrndd-scalar-libm-x4.c",
"src/f32-vrnd/gen/f32-vrndne-scalar-libm-x4.c",
"src/f32-vrnd/gen/f32-vrndu-scalar-libm-x4.c",
"src/f32-vrnd/gen/f32-vrndz-scalar-libm-x4.c",
"src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-x2.c",
"src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-x1.c",
"src/f32-vtanh/gen/f32-vtanh-scalar-expm1minus-rr1-lut8-p4h3-div-x4.c",
"src/f32-vunary/gen/f32-vabs-scalar-x4.c",
"src/f32-vunary/gen/f32-vneg-scalar-x4.c",
"src/f32-vunary/gen/f32-vsqr-scalar-x4.c",
"src/qc8-dwconv/gen/qc8-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
"src/qc8-dwconv/gen/qc8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
"src/qc8-gemm/gen/qc8-gemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qc8-gemm/gen/qc8-gemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qc8-igemm/gen/qc8-igemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qc8-igemm/gen/qc8-igemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
"src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
"src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-x1.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c4.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7x-minmax-fp32-scalar-imagic-c4.c",
"src/qs8-gemm/gen/qs8-gemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qs8-gemm/gen/qs8-gemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qs8-igemm/gen/qs8-igemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qs8-igemm/gen/qs8-igemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qs8-vadd/gen/qs8-vadd-minmax-scalar-x4.c",
"src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-x4.c",
"src/qs8-vcvt/gen/qs8-vcvt-scalar-x1.c",
"src/qs8-vcvt/gen/qs8-vcvt-scalar-x4.c",
"src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-x4.c",
"src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-x4.c",
"src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-x4.c",
"src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-x4.c",
"src/qs16-qs8-vcvt/gen/qs16-qs8-vcvt-scalar-x4.c",
"src/qu8-avgpool/qu8-avgpool-9p8x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-avgpool/qu8-avgpool-9x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
"src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
"src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-x1.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c4.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7x-minmax-fp32-scalar-imagic-c4.c",
"src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
"src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
"src/qu8-vadd/gen/qu8-vadd-minmax-scalar-x4.c",
"src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-x4.c",
"src/qu8-vcvt/gen/qu8-vcvt-scalar-x1.c",
"src/qu8-vcvt/gen/qu8-vcvt-scalar-x4.c",
"src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-x4.c",
"src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-x4.c",
"src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-x4.c",
"src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-x4.c",
"src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
"src/s8-maxpool/s8-maxpool-9p8x-minmax-scalar-c1.c",
"src/s8-vclamp/s8-vclamp-scalar-x4.c",
"src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
"src/u8-maxpool/u8-maxpool-9p8x-minmax-scalar-c1.c",
"src/u8-rmax/u8-rmax-scalar.c",
"src/u8-vclamp/u8-vclamp-scalar-x4.c",
"src/xx-fill/xx-fill-scalar-x16.c",
"src/xx-pad/xx-pad-scalar.c",
"src/x8-lut/gen/x8-lut-scalar-x1.c",
"src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
"src/x8-zip/x8-zip-xm-scalar.c",
"src/x8-zip/x8-zip-x2-scalar.c",
"src/x8-zip/x8-zip-x3-scalar.c",
"src/x8-zip/x8-zip-x4-scalar.c",
"src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
"src/x32-packx/x32-packx-x2-scalar.c",
"src/x32-packx/x32-packx-x3-scalar.c",
"src/x32-packx/x32-packx-x4-scalar.c",
"src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
"src/x32-unpool/x32-unpool-scalar.c",
"src/x32-zip/x32-zip-xm-scalar.c",
"src/x32-zip/x32-zip-x2-scalar.c",
"src/x32-zip/x32-zip-x3-scalar.c",
"src/x32-zip/x32-zip-x4-scalar.c",
]
PROD_SCALAR_RISCV_MICROKERNEL_SRCS = [
"src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-x4.c",
"src/f32-argmaxpool/f32-argmaxpool-4x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
"src/f32-argmaxpool/f32-argmaxpool-9x-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9p8x-minmax-scalar-c1.c",
"src/f32-avgpool/f32-avgpool-9x-minmax-scalar-c1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p0p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc/f32-conv-hwc-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
"src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-x2.c",
"src/f32-gavgpool-cw/f32-gavgpool-cw-scalar-x1.c",
"src/f32-gavgpool/f32-gavgpool-7p7x-minmax-scalar-c1.c",
"src/f32-gavgpool/f32-gavgpool-7x-minmax-scalar-c1.c",
"src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
"src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
"src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
"src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
"src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
"src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
"src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
"src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
"src/f32-maxpool/f32-maxpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/f32-pavgpool-9x-minmax-scalar-c1.c",
"src/f32-prelu/gen/f32-prelu-scalar-2x4.c",
"src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-x4.c",
"src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-x4.c",
"src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-x4-acc2.c",
"src/f32-rmax/f32-rmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
"src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
"src/f32-vbinary/gen/f32-vadd-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vaddc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vdiv-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmaxc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmin-scalar-x8.c",
"src/f32-vbinary/gen/f32-vminc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmul-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vmulc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiff-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiffc-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsub-minmax-scalar-x8.c",
"src/f32-vbinary/gen/f32-vsubc-minmax-scalar-x8.c",
"src/f32-vclamp/gen/f32-vclamp-scalar-x4.c",
"src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-x4.c",
"src/f32-vhswish/gen/f32-vhswish-scalar-x4.c",
"src/f32-vlrelu/gen/f32-vlrelu-scalar-x4.c",
"src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
"src/f32-vrelu/gen/f32-vrelu-scalar-x8.c",
"src/f32-vrnd/gen/f32-vrndd-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndne-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndu-scalar-libm-x1.c",
"src/f32-vrnd/gen/f32-vrndz-scalar-libm-x1.c",
"src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-x2.c",
"src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-x1.c",
"src/f32-vtanh/gen/f32-vtanh-fma-expm1minus-rr1-lut8-p4h3-div-x4.c",
"src/f32-vunary/gen/f32-vabs-scalar-x4.c",
"src/f32-vunary/gen/f32-vneg-scalar-x4.c",
"src/f32-vunary/gen/f32-vsqr-scalar-x4.c",
"src/qc8-dwconv/gen/qc8-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
"src/qc8-dwconv/gen/qc8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
"src/qc8-gemm/gen/qc8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qc8-gemm/gen/qc8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qc8-igemm/gen/qc8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qc8-igemm/gen/qc8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
"src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
"src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-x4.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c1.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7x-minmax-fp32-scalar-imagic-c1.c",
"src/qs8-gemm/gen/qs8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qs8-gemm/gen/qs8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qs8-igemm/gen/qs8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qs8-igemm/gen/qs8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qs8-vadd/gen/qs8-vadd-minmax-scalar-x4.c",
"src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-x4.c",
"src/qs8-vcvt/gen/qs8-vcvt-scalar-x4.c",
"src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-x4.c",
"src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-x4.c",
"src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-x4.c",
"src/qs16-qs8-vcvt/gen/qs16-qs8-vcvt-scalar-x4.c",
"src/qu8-avgpool/qu8-avgpool-9p8x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-avgpool/qu8-avgpool-9x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
"src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
"src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-x4.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7p7x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7x-minmax-fp32-scalar-imagic-c1.c",
"src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
"src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
"src/qu8-vadd/gen/qu8-vadd-minmax-scalar-x4.c",
"src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-x4.c",
"src/qu8-vcvt/gen/qu8-vcvt-scalar-x4.c",
"src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-x4.c",
"src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-x4.c",
"src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-x4.c",
"src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
"src/s8-maxpool/s8-maxpool-9p8x-minmax-scalar-c1.c",
"src/s8-vclamp/s8-vclamp-scalar-x4.c",
"src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
"src/u8-maxpool/u8-maxpool-9p8x-minmax-scalar-c1.c",
"src/u8-rmax/u8-rmax-scalar.c",
"src/u8-vclamp/u8-vclamp-scalar-x4.c",
"src/xx-fill/xx-fill-scalar-x16.c",
"src/xx-pad/xx-pad-scalar.c",
"src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
"src/x8-zip/x8-zip-xm-scalar.c",
"src/x8-zip/x8-zip-x2-scalar.c",
"src/x8-zip/x8-zip-x3-scalar.c",
"src/x8-zip/x8-zip-x4-scalar.c",
"src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
"src/x32-packx/x32-packx-x2-scalar.c",
"src/x32-packx/x32-packx-x3-scalar.c",
"src/x32-packx/x32-packx-x4-scalar.c",
"src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
"src/x32-unpool/x32-unpool-scalar.c",
"src/x32-zip/x32-zip-xm-scalar.c",
"src/x32-zip/x32-zip-x2-scalar.c",
"src/x32-zip/x32-zip-x3-scalar.c",
"src/x32-zip/x32-zip-x4-scalar.c",
]
PROD_ARMSIMD32_MICROKERNEL_SRCS = [
"src/qc8-gemm/gen/qc8-gemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qc8-gemm/gen/qc8-gemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qc8-igemm/gen/qc8-igemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qc8-igemm/gen/qc8-igemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qs8-gemm/gen/qs8-gemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qs8-gemm/gen/qs8-gemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qs8-igemm/gen/qs8-igemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qs8-igemm/gen/qs8-igemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qs8-vcvt/gen/qs8-vcvt-armsimd32-x8.c",
"src/qs8-vlrelu/gen/qs8-vlrelu-armsimd32-x4.c",
"src/qu8-gemm/gen/qu8-gemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qu8-gemm/gen/qu8-gemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qu8-igemm/gen/qu8-igemm-1x2c4-minmax-fp32-armsimd32.c",
"src/qu8-igemm/gen/qu8-igemm-2x2c4-minmax-fp32-armsimd32.c",
"src/qu8-vcvt/gen/qu8-vcvt-armsimd32-x8.c",
"src/qu8-vlrelu/gen/qu8-vlrelu-armsimd32-x4.c",
]
PROD_FP16ARITH_MICROKERNEL_SRCS = [
"src/f16-vbinary/gen/f16-vdiv-minmax-fp16arith-x2.c",
"src/f16-vbinary/gen/f16-vdivc-minmax-fp16arith-x2.c",
"src/f16-vbinary/gen/f16-vrdivc-minmax-fp16arith-x2.c",
]
PROD_NEON_MICROKERNEL_SRCS = [
"src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-x16.c",
"src/f32-argmaxpool/f32-argmaxpool-4x-neon-c4.c",
"src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c",
"src/f32-argmaxpool/f32-argmaxpool-9x-neon-c4.c",
"src/f32-avgpool/f32-avgpool-9p8x-minmax-neon-c4.c",
"src/f32-avgpool/f32-avgpool-9x-minmax-neon-c4.c",
"src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c",
"src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c",
"src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c",
"src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c",
"src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-8f8m9l4c4s4r-minmax-neon-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c",
"src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-x8.c",
"src/f32-gavgpool-cw/f32-gavgpool-cw-neon-x4.c",
"src/f32-gavgpool/f32-gavgpool-7p7x-minmax-neon-c4.c",
"src/f32-gavgpool/f32-gavgpool-7x-minmax-neon-c4.c",
"src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c",
"src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c",
"src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c",
"src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c",
"src/f32-maxpool/f32-maxpool-9p8x-minmax-neon-c4.c",
"src/f32-pavgpool/f32-pavgpool-9p8x-minmax-neon-c4.c",
"src/f32-pavgpool/f32-pavgpool-9x-minmax-neon-c4.c",
"src/f32-prelu/gen/f32-prelu-neon-2x8.c",
"src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-x32.c",
"src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-x32.c",
"src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neon-rr2-lut64-p2-x8.c",
"src/f32-rmax/f32-rmax-neon.c",
"src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c",
"src/f32-vbinary/gen/f32-vadd-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vaddc-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vmaxc-neon-x8.c",
"src/f32-vbinary/gen/f32-vmin-neon-x8.c",
"src/f32-vbinary/gen/f32-vminc-neon-x8.c",
"src/f32-vbinary/gen/f32-vmul-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vmulc-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vrsubc-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiff-neon-x8.c",
"src/f32-vbinary/gen/f32-vsqrdiffc-neon-x8.c",
"src/f32-vbinary/gen/f32-vsub-minmax-neon-x8.c",
"src/f32-vbinary/gen/f32-vsubc-minmax-neon-x8.c",
"src/f32-vclamp/gen/f32-vclamp-neon-x8.c",
"src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-x8.c",
"src/f32-vhswish/gen/f32-vhswish-neon-x16.c",
"src/f32-vlrelu/gen/f32-vlrelu-neon-x8.c",
"src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c",
"src/f32-vrnd/gen/f32-vrndd-neon-x8.c",
"src/f32-vrnd/gen/f32-vrndne-neon-x8.c",
"src/f32-vrnd/gen/f32-vrndu-neon-x8.c",
"src/f32-vrnd/gen/f32-vrndz-neon-x8.c",
"src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-x8.c",
"src/f32-vtanh/gen/f32-tanh-neon-expm1minus-rr1-p6h5-nr2recps-x8.c",
"src/f32-vunary/gen/f32-vabs-neon-x8.c",
"src/f32-vunary/gen/f32-vneg-neon-x8.c",
"src/f32-vunary/gen/f32-vsqr-neon-x8.c",
"src/qc8-dwconv/gen/qc8-dwconv-3p16c-minmax-fp32-neon-mla8-ld128.c",
"src/qc8-dwconv/gen/qc8-dwconv-9p16c-minmax-fp32-neon-mla8-ld64.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p8c-minmax-fp32-neon-mla8-ld64.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p16c-minmax-fp32-neon-mla8-ld64.c",
"src/qc8-gemm/gen/qc8-gemm-1x8-minmax-fp32-neon-mlal-lane.c",
"src/qc8-gemm/gen/qc8-gemm-1x8c2s4-minmax-fp32-neon-mlal.c",
"src/qc8-gemm/gen/qc8-gemm-2x8c2s4-minmax-fp32-neon-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-1x8-minmax-fp32-neon-mlal-lane.c",
"src/qc8-igemm/gen/qc8-igemm-1x8c2s4-minmax-fp32-neon-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-2x8c2s4-minmax-fp32-neon-mlal.c",
"src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-rndnu-neon-mla8-ld64.c",
"src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-rndnu-neon-mla8-ld64.c",
"src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c",
"src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-x32.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7p7x-minmax-rndnu-neon-c8.c",
"src/qs8-gavgpool/gen/qs8-gavgpool-7x-minmax-rndnu-neon-c8.c",
"src/qs8-gemm/gen/qs8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
"src/qs8-gemm/gen/qs8-gemm-1x8c2s4-minmax-rndnu-neon-mlal.c",
"src/qs8-gemm/gen/qs8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
"src/qs8-gemm/gen/qs8-gemm-2x8c2s4-minmax-rndnu-neon-mlal.c",
"src/qs8-igemm/gen/qs8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
"src/qs8-igemm/gen/qs8-igemm-1x8c2s4-minmax-rndnu-neon-mlal.c",
"src/qs8-igemm/gen/qs8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
"src/qs8-igemm/gen/qs8-igemm-2x8c2s4-minmax-rndnu-neon-mlal.c",
"src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-x16.c",
"src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-x32.c",
"src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-x16.c",
"src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-x32.c",
"src/qs8-vcvt/gen/qs8-vcvt-neon-x32.c",
"src/qs8-vlrelu/gen/qs8-vlrelu-neon-x32.c",
"src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-x16.c",
"src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-x16.c",
"src/qs16-qs8-vcvt/gen/qs16-qs8-vcvt-neon-x32.c",
"src/qu8-avgpool/qu8-avgpool-9p8x-minmax-fp32-neon-c8.c",
"src/qu8-avgpool/qu8-avgpool-9x-minmax-fp32-neon-c8.c",
"src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-rndnu-neon-mul8.c",
"src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-rndnu-neon-mul8.c",
"src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-x32.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7p7x-minmax-rndnu-neon-c8.c",
"src/qu8-gavgpool/gen/qu8-gavgpool-7x-minmax-rndnu-neon-c8.c",
"src/qu8-gemm/gen/qu8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-gemm/gen/qu8-gemm-3x8-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-igemm/gen/qu8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-igemm/gen/qu8-igemm-3x8-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-neon-mlal-lane.c",
"src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-x16.c",
"src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-x32.c",
"src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-x16.c",
"src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-x32.c",
"src/qu8-vcvt/gen/qu8-vcvt-neon-x32.c",
"src/qu8-vlrelu/gen/qu8-vlrelu-neon-x32.c",
"src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-x16.c",
"src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-x16.c",
"src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c",
"src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c",
"src/s8-maxpool/s8-maxpool-9p8x-minmax-neon-c16.c",
"src/s8-vclamp/s8-vclamp-neon-x64.c",
"src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c",
"src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c",
"src/u8-maxpool/u8-maxpool-9p8x-minmax-neon-c16.c",
"src/u8-rmax/u8-rmax-neon.c",
"src/u8-vclamp/u8-vclamp-neon-x64.c",
"src/xx-fill/xx-fill-neon-x64.c",
"src/xx-pad/xx-pad-neon.c",
"src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c",
"src/x8-zip/x8-zip-xm-neon.c",
"src/x8-zip/x8-zip-x2-neon.c",
"src/x8-zip/x8-zip-x3-neon.c",
"src/x8-zip/x8-zip-x4-neon.c",
"src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c",
"src/x24-transposec/x24-transposec-2x2-neon-tbl64.c",
"src/x32-packx/x32-packx-x4-neon-st4.c",
"src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c",
"src/x32-unpool/x32-unpool-neon.c",
"src/x32-zip/x32-zip-xm-neon.c",
"src/x32-zip/x32-zip-x2-neon.c",
"src/x32-zip/x32-zip-x3-neon.c",
"src/x32-zip/x32-zip-x4-neon.c",
]
PROD_NEONFP16_MICROKERNEL_SRCS = [
"src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-x16.c",
"src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-x16.c",
]
PROD_NEONFMA_MICROKERNEL_SRCS = [
"src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c",
"src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c",
"src/f32-dwconv/gen/f32-dwconv-5f5m5l8c4s4r-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c",
"src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c",
"src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c",
"src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c",
"src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c",
"src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c",
"src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c",
"src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c",
"src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c",
"src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c",
"src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-x16.c",
"src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c",
"src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-x16.c",
"src/f32-velu/gen/f32-velu-neonfma-rr1-p6-x8.c",
"src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c",
"src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x16.c",
"src/f32-vtanh/gen/f32-tanh-neonfma-expm1minus-rr1-p6h5-nr2fma-x8.c",
]
PROD_NEON_AARCH64_MICROKERNEL_SRCS = [
"src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c",
"src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c",
"src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-6x2-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-6x2-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld64.c",
"src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c",
"src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c",
"src/f32-vbinary/gen/f32-vdiv-minmax-aarch64-neon-x8.c",
"src/f32-vbinary/gen/f32-vdivc-minmax-aarch64-neon-x8.c",
"src/f32-vbinary/gen/f32-vrdivc-minmax-aarch64-neon-x8.c",
"src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt-x4.c",
"src/f32-vtanh/gen/f32-tanh-aarch64-neonfma-expm1minus-rr1-p6h5-div-x16.c",
"src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-x64.c",
"src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c",
"src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c",
]
PROD_NEONV8_MICROKERNEL_SRCS = [
"src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-x32.c",
"src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-x32.c",
"src/f32-vrnd/gen/f32-vrndd-neonv8-x8.c",
"src/f32-vrnd/gen/f32-vrndne-neonv8-x8.c",
"src/f32-vrnd/gen/f32-vrndu-neonv8-x8.c",
"src/f32-vrnd/gen/f32-vrndz-neonv8-x8.c",
"src/qc8-dwconv/gen/qc8-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld128.c",
"src/qc8-dwconv/gen/qc8-dwconv-9p16c-minmax-fp32-neonv8-mla8-ld64.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p8c-minmax-fp32-neonv8-mla8-ld64.c",
"src/qc8-dwconv/gen/qc8-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c",
"src/qc8-gemm/gen/qc8-gemm-1x8-minmax-fp32-neonv8-mlal-lane-prfm.c",
"src/qc8-gemm/gen/qc8-gemm-1x8-minmax-fp32-neonv8-mlal-lane.c",
"src/qc8-gemm/gen/qc8-gemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
"src/qc8-gemm/gen/qc8-gemm-1x8c8-minmax-fp32-neonv8-mlal.c",
"src/qc8-gemm/gen/qc8-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
"src/qc8-gemm/gen/qc8-gemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
"src/qc8-gemm/gen/qc8-gemm-2x8c8-minmax-fp32-neonv8-mlal.c",
"src/qc8-gemm/gen/qc8-gemm-4x16-minmax-fp32-neonv8-mlal-lane.c",
"src/qc8-igemm/gen/qc8-igemm-1x8-minmax-fp32-neonv8-mlal-lane-prfm.c",
"src/qc8-igemm/gen/qc8-igemm-1x8-minmax-fp32-neonv8-mlal-lane.c",
"src/qc8-igemm/gen/qc8-igemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-1x8c8-minmax-fp32-neonv8-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
"src/qc8-igemm/gen/qc8-igemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-2x8c8-minmax-fp32-neonv8-mlal.c",
"src/qc8-igemm/gen/qc8-igemm-4x16-minmax-fp32-neonv8-mlal-lane.c",
]
PROD_NEONFP16ARITH_MICROKERNEL_SRCS = [
"src/f16-avgpool/f16-avgpool-9p8x-minmax-neonfp16arith-c8.c",
"src/f16-avgpool/f16-avgpool-9x-minmax-neonfp16arith-c8.c",
"src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c",
"src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c",
"src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c",
"src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c",
"src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c",
"src/f16-gavgpool-cw/f16-gavgpool-cw-neonfp16arith-x8.c",
"src/f16-gavgpool/gen/f16-gavgpool-7p7x-minmax-neonfp16arith-c8.c",
"src/f16-gavgpool/gen/f16-gavgpool-7x-minmax-neonfp16arith-c8.c",
"src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c",
"src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c",
"src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c",
"src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c",
"src/f16-maxpool/f16-maxpool-9p8x-minmax-neonfp16arith-c8.c",
"src/f16-pavgpool/f16-pavgpool-9p8x-minmax-neonfp16arith-c8.c",
"src/f16-pavgpool/f16-pavgpool-9x-minmax-neonfp16arith-c8.c",
"src/f16-prelu/gen/f16-prelu-neonfp16arith-2x16.c",
"src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-x32.c",
"src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-x40.c",
"src/f16-rmax/f16-rmax-neonfp16arith.c",
"src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c",
"src/f16-vbinary/gen/f16-vadd-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vaddc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vmin-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vminc-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vmul-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vmulc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vrsubc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vsub-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/f16-vsubc-minmax-neonfp16arith-x16.c",
"src/f16-vclamp/gen/f16-vclamp-neonfp16arith-x16.c",
"src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-x16.c",
"src/f16-vhswish/gen/f16-vhswish-neonfp16arith-x16.c",
"src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-x16.c",
"src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c",
"src/f16-vrnd/gen/f16-vrndd-neonfp16arith-x16.c",
"src/f16-vrnd/gen/f16-vrndne-neonfp16arith-x16.c",
"src/f16-vrnd/gen/f16-vrndu-neonfp16arith-x16.c",
"src/f16-vrnd/gen/f16-vrndz-neonfp16arith-x16.c",
"src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-x40.c",
"src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-x16.c",
"src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-x8.c",
"src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2-nr1fma-x32.c",
"src/f16-vunary/gen/f16-vabs-neonfp16arith-x16.c",
"src/f16-vunary/gen/f16-vneg-neonfp16arith-x16.c",
"src/f16-vunary/gen/f16-vsqr-neonfp16arith-x16.c",
]
PROD_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS = [
"src/f16-vbinary/gen/f16-vdiv-minmax-aarch64-neonfp16arith-x8.c",
"src/f16-vbinary/gen/f16-vdivc-minmax-aarch64-neonfp16arith-x8.c",
"src/f16-vbinary/gen/f16-vrdivc-minmax-aarch64-neonfp16arith-x8.c",
"src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-x8.c",
"src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2-div-x32.c",
]
PROD_NEONBF16_MICROKERNEL_SRCS = [
]
PROD_NEONBF16_AARCH64_MICROKERNEL_SRCS = [
]
PROD_NEONDOT_MICROKERNEL_SRCS = [
"src/qc8-gemm/gen/qc8-gemm-1x8c4-minmax-fp32-neondot.c",
"src/qc8-gemm/gen/qc8-gemm-1x16c4-minmax-fp32-neondot.c",
"src/qc8-gemm/gen/qc8-gemm-4x8c4-minmax-fp32-neondot.c",
"src/qc8-gemm/gen/qc8-gemm-4x16c4-minmax-fp32-neondot.c",
"src/qc8-igemm/gen/qc8-igemm-1x8c4-minmax-fp32-neondot.c",
"src/qc8-igemm/gen/qc8-igemm-1x16c4-minmax-fp32-neondot.c",
"src/qc8-igemm/gen/qc8-igemm-4x8c4-minmax-fp32-neondot.c",
"src/qc8-igemm/gen/qc8-igemm-4x16c4-minmax-fp32-neondot.c",
"src/qs8-gemm/gen/qs8-gemm-1x8c4-minmax-rndnu-neondot.c",
"src/qs8-gemm/gen/qs8-gemm-1x16c4-minmax-rndnu-neondot.c",
"src/qs8-gemm/gen/qs8-gemm-4x8c4-minmax-rndnu-neondot.c",
"src/qs8-gemm/gen/qs8-gemm-4x16c4-minmax-rndnu-neondot.c",
"src/qs8-igemm/gen/qs8-igemm-1x8c4-minmax-rndnu-neondot.c",
"src/qs8-igemm/gen/qs8-igemm-1x16c4-minmax-rndnu-neondot.c",
"src/qs8-igemm/gen/qs8-igemm-4x8c4-minmax-rndnu-neondot.c",
"src/qs8-igemm/gen/qs8-igemm-4x16c4-minmax-rndnu-neondot.c",
"src/qu8-gemm/gen/qu8-gemm-1x8c4-minmax-rndnu-neondot.c",
"src/qu8-gemm/gen/qu8-gemm-1x16c4-minmax-rndnu-neondot.c",
"src/qu8-gemm/gen/qu8-gemm-4x8c4-minmax-rndnu-neondot.c",
"src/qu8-gemm/gen/qu8-gemm-4x16c4-minmax-rndnu-neondot.c",
"src/qu8-igemm/gen/qu8-igemm-1x8c4-minmax-rndnu-neondot.c",
"src/qu8-igemm/gen/qu8-igemm-1x16c4-minmax-rndnu-neondot.c",
"src/qu8-igemm/gen/qu8-igemm-4x8c4-minmax-rndnu-neondot.c",
"src/qu8-igemm/gen/qu8-igemm-4x16c4-minmax-rndnu-neondot.c",
]