blob: d58e608b3570028cb9f8f0d90bcd679f28467b29 [file] [log] [blame]
Frank Barchard1a953052020-11-16 18:44:58 -08001# Copyright 2020 Google LLC
Marat Dukhan08c4a432019-10-03 09:29:21 -07002#
3# This source code is licensed under the BSD-style license found in the
4# LICENSE file in the root directory of this source tree.
5#
6# Description:
7# XNNPACK - optimized floating-point neural network operators library
8
Marat Dukhan10a38082020-04-17 03:58:35 -07009load(":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_armcl_copts", "xnnpack_optional_armcl_deps", "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")
Marat Dukhan69c3f2c2019-11-06 12:30:01 -080010
Marat Dukhan08c4a432019-10-03 09:29:21 -070011licenses(["notice"])
12
13exports_files(["LICENSE"])
14
Marat Dukhan1b354632020-03-23 12:50:22 -070015OPERATOR_BENCHMARK_DEPS = [
16 ":XNNPACK",
17 ":bench_utils",
18 "@cpuinfo",
Frank Barchard0c849732020-06-12 13:31:32 -070019 "@FP16",
Marat Dukhan1b354632020-03-23 12:50:22 -070020 "@pthreadpool",
21]
22
Marat Dukhan08c4a432019-10-03 09:29:21 -070023MICROKERNEL_BENCHMARK_DEPS = [
Marat Dukhan2c724952021-07-27 18:46:30 -070024 ":bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -070025 ":bench_utils",
Frank Barchard7e955972019-10-11 10:34:25 -070026 ":enable_assembly",
Marat Dukhan08c4a432019-10-03 09:29:21 -070027 "@cpuinfo",
28 "@FP16",
29 "@pthreadpool",
30]
31
Marat Dukhan6adff4e2019-10-14 18:32:07 -070032ACCURACY_EVAL_DEPS = [
33 ":XNNPACK",
Marat Dukhan2c724952021-07-27 18:46:30 -070034 ":bench_microkernels",
Marat Dukhan6adff4e2019-10-14 18:32:07 -070035 "@FP16",
36 "@pthreadpool",
37]
38
Marat Dukhan08c4a432019-10-03 09:29:21 -070039MICROKERNEL_TEST_DEPS = [
Marat Dukhan2c724952021-07-27 18:46:30 -070040 ":test_microkernels",
Frank Barchard7e955972019-10-11 10:34:25 -070041 ":enable_assembly",
Marat Dukhan08c4a432019-10-03 09:29:21 -070042 "@cpuinfo",
43 "@FP16",
44 "@pthreadpool",
45]
46
Marat Dukhan1b354632020-03-23 12:50:22 -070047OPERATOR_TEST_DEPS = [
Marat Dukhan33fcf782020-05-24 14:27:15 -070048 ":XNNPACK_test_mode",
Marat Dukhan1b354632020-03-23 12:50:22 -070049 "@pthreadpool",
50 "@FP16",
51]
52
Marat Dukhan08c4a432019-10-03 09:29:21 -070053OPERATOR_SRCS = [
Marat Dukhane8265432020-04-28 18:42:59 -070054 "src/operators/argmax-pooling-nhwc.c",
55 "src/operators/average-pooling-nhwc.c",
56 "src/operators/binary-elementwise-nd.c",
Marat Dukhane8265432020-04-28 18:42:59 -070057 "src/operators/channel-shuffle-nc.c",
Marat Dukhan065b11e2020-05-22 09:49:41 -070058 "src/operators/constant-pad-nd.c",
Marat Dukhane8265432020-04-28 18:42:59 -070059 "src/operators/convolution-nchw.c",
60 "src/operators/convolution-nhwc.c",
61 "src/operators/deconvolution-nhwc.c",
Marat Dukhan13b68f22020-11-12 11:55:19 -080062 "src/operators/depth-to-space-nchw2nhwc.c",
Marat Dukhan0e521172020-11-25 13:10:04 -080063 "src/operators/depth-to-space-nhwc.c",
Marat Dukhane8265432020-04-28 18:42:59 -070064 "src/operators/fully-connected-nc.c",
65 "src/operators/global-average-pooling-ncw.c",
66 "src/operators/global-average-pooling-nwc.c",
Marat Dukhanf6c991e2021-09-09 01:10:40 -070067 "src/operators/lut-elementwise-nc.c",
Marat Dukhane8265432020-04-28 18:42:59 -070068 "src/operators/max-pooling-nhwc.c",
69 "src/operators/prelu-nc.c",
Artsiom Ablavatski97918102020-10-27 15:52:59 -070070 "src/operators/resize-bilinear-nchw.c",
Marat Dukhane8265432020-04-28 18:42:59 -070071 "src/operators/resize-bilinear-nhwc.c",
Marat Dukhane8265432020-04-28 18:42:59 -070072 "src/operators/softmax-nc.c",
Marat Dukhanc3065f52020-06-04 13:33:32 -070073 "src/operators/unary-elementwise-nc.c",
Marat Dukhane8265432020-04-28 18:42:59 -070074 "src/operators/unpooling-nhwc.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -070075]
76
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070077SUBGRAPH_SRCS = [
Marat Dukhan5fab4092020-06-10 01:28:28 -070078 "src/subgraph/abs.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070079 "src/subgraph/add2.c",
80 "src/subgraph/argmax-pooling-2d.c",
81 "src/subgraph/average-pooling-2d.c",
Marat Dukhan5fab4092020-06-10 01:28:28 -070082 "src/subgraph/bankers-rounding.c",
83 "src/subgraph/ceiling.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070084 "src/subgraph/clamp.c",
85 "src/subgraph/convolution-2d.c",
86 "src/subgraph/deconvolution-2d.c",
Artsiom Ablavatskibbe85062020-11-05 14:07:37 -080087 "src/subgraph/depth-to-space.c",
Frank Barchard9cef5ea2020-11-18 14:52:08 -080088 "src/subgraph/depthwise-convolution-2d.c",
Marat Dukhan9d3a4592020-06-05 16:52:42 -070089 "src/subgraph/divide.c",
Marat Dukhana1600202020-12-01 22:17:16 -080090 "src/subgraph/elu.c",
Marat Dukhan5fab4092020-06-10 01:28:28 -070091 "src/subgraph/floor.c",
Frank Barchard04336c12020-10-22 16:48:55 -070092 "src/subgraph/fully-connected.c",
Marat Dukhana059b7d2020-06-11 11:41:27 -070093 "src/subgraph/global-average-pooling-2d.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070094 "src/subgraph/hardswish.c",
Marat Dukhan5bbebac2020-06-10 19:42:15 -070095 "src/subgraph/leaky-relu.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070096 "src/subgraph/max-pooling-2d.c",
Marat Dukhan9d3a4592020-06-05 16:52:42 -070097 "src/subgraph/maximum2.c",
98 "src/subgraph/minimum2.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -070099 "src/subgraph/multiply2.c",
Marat Dukhan5fab4092020-06-10 01:28:28 -0700100 "src/subgraph/negate.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -0700101 "src/subgraph/prelu.c",
102 "src/subgraph/sigmoid.c",
103 "src/subgraph/softmax.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700104 "src/subgraph/square-root.c",
105 "src/subgraph/square.c",
106 "src/subgraph/squared-difference.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -0700107 "src/subgraph/static-constant-pad.c",
Marat Dukhand27202d2020-07-09 23:43:40 -0700108 "src/subgraph/static-reshape.c",
Marat Dukhanaff24e22020-07-23 01:43:58 -0700109 "src/subgraph/static-resize-bilinear-2d.c",
Marat Dukhan9d3a4592020-06-05 16:52:42 -0700110 "src/subgraph/subtract.c",
Marat Dukhan95e8b7a2020-06-03 12:46:26 -0700111 "src/subgraph/unpooling-2d.c",
112]
113
Marat Dukhan3a77ea72019-12-23 12:10:24 -0800114TABLE_SRCS = [
115 "src/tables/exp2-k-over-64.c",
116 "src/tables/exp2-k-over-2048.c",
Marat Dukhande390d42020-11-29 19:32:18 -0800117 "src/tables/exp2minus-k-over-4.c",
118 "src/tables/exp2minus-k-over-8.c",
Marat Dukhanc60742b2020-11-23 12:33:27 -0800119 "src/tables/exp2minus-k-over-16.c",
Marat Dukhan1f256fc2020-09-24 21:27:14 -0700120 "src/tables/exp2minus-k-over-64.c",
121 "src/tables/exp2minus-k-over-2048.c",
Marat Dukhan3a77ea72019-12-23 12:10:24 -0800122]
123
Marat Dukhan2c724952021-07-27 18:46:30 -0700124PROD_SCALAR_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -0700125 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x1.c",
126 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x4.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700127 "src/f32-argmaxpool/4x-scalar-c1.c",
128 "src/f32-argmaxpool/9p8x-scalar-c1.c",
129 "src/f32-argmaxpool/9x-scalar-c1.c",
130 "src/f32-avgpool/9p8x-minmax-scalar-c1.c",
131 "src/f32-avgpool/9x-minmax-scalar-c1.c",
132 "src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c",
133 "src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c",
134 "src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700135 "src/f32-dwconv/gen/up1x3-minmax-scalar-acc2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700136 "src/f32-dwconv/gen/up1x3-scalar-acc2.c",
Frank Barchard66ae2572021-11-02 17:36:21 -0700137 "src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700138 "src/f32-dwconv/gen/up1x4-scalar-acc2.c",
139 "src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c",
140 "src/f32-dwconv/gen/up1x9-scalar-acc2.c",
141 "src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c",
142 "src/f32-dwconv/gen/up1x25-scalar-acc2.c",
143 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c",
144 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c",
145 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c",
146 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c",
147 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c",
148 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c",
149 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c",
150 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c",
Marat Dukhana0c61682021-11-10 19:23:41 -0800151 "src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x4.c",
152 "src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x2.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700153 "src/f32-gavgpool-cw/scalar-x1.c",
154 "src/f32-gavgpool/7p7x-minmax-scalar-c1.c",
155 "src/f32-gavgpool/7x-minmax-scalar-c1.c",
156 "src/f32-gemm/gen/1x4-minmax-scalar.c",
157 "src/f32-gemm/gen/1x4-relu-scalar.c",
158 "src/f32-gemm/gen/1x4-scalar.c",
159 "src/f32-gemm/gen/2x4-minmax-scalar.c",
160 "src/f32-gemm/gen/2x4-relu-scalar.c",
161 "src/f32-gemm/gen/2x4-scalar.c",
162 "src/f32-gemm/gen/4x2-minmax-scalar.c",
163 "src/f32-gemm/gen/4x2-relu-scalar.c",
164 "src/f32-gemm/gen/4x2-scalar.c",
165 "src/f32-gemm/gen/4x4-minmax-scalar.c",
166 "src/f32-gemm/gen/4x4-relu-scalar.c",
167 "src/f32-gemm/gen/4x4-scalar.c",
168 "src/f32-ibilinear-chw/gen/scalar-p4.c",
169 "src/f32-ibilinear/gen/scalar-c2.c",
170 "src/f32-igemm/gen/1x4-minmax-scalar.c",
171 "src/f32-igemm/gen/1x4-relu-scalar.c",
172 "src/f32-igemm/gen/1x4-scalar.c",
173 "src/f32-igemm/gen/2x4-minmax-scalar.c",
174 "src/f32-igemm/gen/2x4-relu-scalar.c",
175 "src/f32-igemm/gen/2x4-scalar.c",
176 "src/f32-igemm/gen/4x2-minmax-scalar.c",
177 "src/f32-igemm/gen/4x2-relu-scalar.c",
178 "src/f32-igemm/gen/4x2-scalar.c",
179 "src/f32-igemm/gen/4x4-minmax-scalar.c",
180 "src/f32-igemm/gen/4x4-relu-scalar.c",
181 "src/f32-igemm/gen/4x4-scalar.c",
182 "src/f32-maxpool/9p8x-minmax-scalar-c1.c",
183 "src/f32-pavgpool/9p8x-minmax-scalar-c1.c",
184 "src/f32-pavgpool/9x-minmax-scalar-c1.c",
185 "src/f32-prelu/gen/scalar-2x4.c",
186 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc2.c",
187 "src/f32-rmax/scalar.c",
188 "src/f32-spmm/gen/8x1-minmax-scalar.c",
189 "src/f32-spmm/gen/8x2-minmax-scalar.c",
190 "src/f32-spmm/gen/8x4-minmax-scalar.c",
191 "src/f32-vbinary/gen/vadd-minmax-scalar-x8.c",
192 "src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c",
193 "src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c",
194 "src/f32-vbinary/gen/vdiv-minmax-scalar-x8.c",
195 "src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c",
196 "src/f32-vbinary/gen/vdivc-minmax-scalar-x8.c",
197 "src/f32-vbinary/gen/vmax-scalar-x8.c",
198 "src/f32-vbinary/gen/vmaxc-scalar-x8.c",
199 "src/f32-vbinary/gen/vmin-scalar-x8.c",
200 "src/f32-vbinary/gen/vminc-scalar-x8.c",
201 "src/f32-vbinary/gen/vmul-minmax-scalar-x8.c",
202 "src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c",
203 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c",
204 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x8.c",
205 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c",
206 "src/f32-vbinary/gen/vsqrdiff-scalar-x8.c",
207 "src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c",
208 "src/f32-vbinary/gen/vsub-minmax-scalar-x8.c",
209 "src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c",
210 "src/f32-vclamp/gen/vclamp-scalar-x4.c",
211 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x2.c",
212 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c",
213 "src/f32-vhswish/gen/vhswish-scalar-x4.c",
214 "src/f32-vlrelu/gen/vlrelu-scalar-x4.c",
215 "src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c",
216 "src/f32-vrelu/gen/vrelu-scalar-x8.c",
217 "src/f32-vrnd/gen/vrndd-scalar-libm-x1.c",
218 "src/f32-vrnd/gen/vrndd-scalar-libm-x4.c",
219 "src/f32-vrnd/gen/vrndne-scalar-libm-x1.c",
220 "src/f32-vrnd/gen/vrndne-scalar-libm-x4.c",
221 "src/f32-vrnd/gen/vrndu-scalar-libm-x1.c",
222 "src/f32-vrnd/gen/vrndu-scalar-libm-x4.c",
223 "src/f32-vrnd/gen/vrndz-scalar-libm-x1.c",
224 "src/f32-vrnd/gen/vrndz-scalar-libm-x4.c",
225 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut64-p2-div-x2.c",
226 "src/f32-vsqrt/gen/scalar-sqrt-x1.c",
227 "src/f32-vunary/gen/vabs-scalar-x4.c",
228 "src/f32-vunary/gen/vneg-scalar-x4.c",
229 "src/f32-vunary/gen/vsqr-scalar-x4.c",
230 "src/params-init.c",
231 "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
232 "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
233 "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
234 "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
235 "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
236 "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
237 "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
238 "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
239 "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
240 "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhan66a3ca12021-08-06 18:24:19 -0700241 "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
242 "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700243 "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
244 "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
245 "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c1.c",
246 "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c4.c",
247 "src/qs8-gavgpool/gen/7x-minmax-scalar-c1.c",
248 "src/qs8-gavgpool/gen/7x-minmax-scalar-c4.c",
249 "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
250 "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
251 "src/qs8-gemm/gen/1x4-minmax-rndnu-scalar.c",
252 "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
253 "src/qs8-gemm/gen/3x4-minmax-rndnu-scalar.c",
254 "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
255 "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
256 "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
257 "src/qs8-igemm/gen/1x4-minmax-rndnu-scalar.c",
258 "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
259 "src/qs8-igemm/gen/3x4-minmax-rndnu-scalar.c",
260 "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhan66a3ca12021-08-06 18:24:19 -0700261 "src/qs8-vadd/gen/minmax-scalar-x1.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700262 "src/qs8-vadd/gen/minmax-scalar-x4.c",
Marat Dukhan66a3ca12021-08-06 18:24:19 -0700263 "src/qs8-vaddc/gen/minmax-scalar-x1.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700264 "src/qs8-vaddc/gen/minmax-scalar-x4.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -0700265 "src/qs8-vmul/gen/minmax-fp32-scalar-x4.c",
266 "src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700267 "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
268 "src/qu8-avgpool/9x-minmax-scalar-c1.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700269 "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700270 "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700271 "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700272 "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
273 "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
274 "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
275 "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
276 "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
277 "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
278 "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
279 "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
280 "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
281 "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
282 "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
283 "src/qu8-vadd/gen/minmax-scalar-x1.c",
284 "src/qu8-vadd/gen/minmax-scalar-x4.c",
285 "src/qu8-vaddc/gen/minmax-scalar-x1.c",
286 "src/qu8-vaddc/gen/minmax-scalar-x4.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -0700287 "src/qu8-vmul/gen/minmax-fp32-scalar-x4.c",
288 "src/qu8-vmulc/gen/minmax-fp32-scalar-x4.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -0800289 "src/s8-ibilinear/gen/scalar-c1.c",
Marat Dukhan23147532021-08-16 07:26:56 -0700290 "src/s8-maxpool/9p8x-minmax-scalar-c1.c",
Marat Dukhane79acb72021-08-16 19:03:53 -0700291 "src/s8-vclamp/scalar-x4.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -0800292 "src/u8-ibilinear/gen/scalar-c1.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700293 "src/u8-lut32norm/scalar.c",
294 "src/u8-maxpool/9p8x-minmax-scalar-c1.c",
295 "src/u8-rmax/scalar.c",
296 "src/u8-vclamp/scalar-x4.c",
Marat Dukhand67539d2021-09-08 23:06:03 -0700297 "src/x8-lut/gen/lut-scalar-x4.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700298 "src/x8-zip/x2-scalar.c",
299 "src/x8-zip/x3-scalar.c",
300 "src/x8-zip/x4-scalar.c",
301 "src/x8-zip/xm-scalar.c",
302 "src/x32-depthtospace2d-chw2hwc/scalar.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700303 "src/x32-packx/x2-scalar.c",
304 "src/x32-packx/x3-scalar.c",
305 "src/x32-packx/x4-scalar.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700306 "src/x32-unpool/scalar.c",
307 "src/x32-zip/x2-scalar.c",
308 "src/x32-zip/x3-scalar.c",
309 "src/x32-zip/x4-scalar.c",
310 "src/x32-zip/xm-scalar.c",
311 "src/xx-copy/memcpy.c",
Marat Dukhan933051b2021-08-07 16:26:15 -0700312 "src/xx-fill/scalar-x16.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -0700313 "src/xx-pad/scalar.c",
Marat Dukhan2c724952021-07-27 18:46:30 -0700314]
315
316ALL_SCALAR_MICROKERNEL_SRCS = [
Marat Dukhane2c00012021-10-17 22:02:35 -0700317 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x1.c",
318 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x2.c",
319 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x3.c",
320 "src/f16-f32-vcvt/gen/vcvt-scalar-float-x4.c",
Marat Dukhan329da642019-11-19 21:44:39 -0800321 "src/f32-argmaxpool/4x-scalar-c1.c",
Marat Dukhan1e782c42019-11-21 17:02:40 -0800322 "src/f32-argmaxpool/9p8x-scalar-c1.c",
Marat Dukhan329da642019-11-19 21:44:39 -0800323 "src/f32-argmaxpool/9x-scalar-c1.c",
Marat Dukhan99936602020-04-11 16:47:01 -0700324 "src/f32-avgpool/9p8x-minmax-scalar-c1.c",
325 "src/f32-avgpool/9x-minmax-scalar-c1.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700326 "src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700327 "src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c",
Marat Dukhan1f29b802020-05-15 23:46:39 -0700328 "src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700329 "src/f32-dwconv/gen/up1x3-minmax-scalar-acc2.c",
330 "src/f32-dwconv/gen/up1x3-minmax-scalar.c",
331 "src/f32-dwconv/gen/up1x3-scalar-acc2.c",
332 "src/f32-dwconv/gen/up1x3-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700333 "src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700334 "src/f32-dwconv/gen/up1x4-minmax-scalar.c",
335 "src/f32-dwconv/gen/up1x4-scalar-acc2.c",
336 "src/f32-dwconv/gen/up1x4-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700337 "src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700338 "src/f32-dwconv/gen/up1x9-minmax-scalar.c",
339 "src/f32-dwconv/gen/up1x9-scalar-acc2.c",
340 "src/f32-dwconv/gen/up1x9-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700341 "src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700342 "src/f32-dwconv/gen/up1x25-minmax-scalar.c",
343 "src/f32-dwconv/gen/up1x25-scalar-acc2.c",
344 "src/f32-dwconv/gen/up1x25-scalar.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700345 "src/f32-dwconv/gen/up2x3-minmax-scalar-acc2.c",
346 "src/f32-dwconv/gen/up2x3-minmax-scalar.c",
347 "src/f32-dwconv/gen/up2x3-scalar-acc2.c",
348 "src/f32-dwconv/gen/up2x3-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700349 "src/f32-dwconv/gen/up2x4-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700350 "src/f32-dwconv/gen/up2x4-minmax-scalar.c",
351 "src/f32-dwconv/gen/up2x4-scalar-acc2.c",
352 "src/f32-dwconv/gen/up2x4-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700353 "src/f32-dwconv/gen/up2x9-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700354 "src/f32-dwconv/gen/up2x9-minmax-scalar.c",
355 "src/f32-dwconv/gen/up2x9-scalar-acc2.c",
356 "src/f32-dwconv/gen/up2x9-scalar.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700357 "src/f32-dwconv/gen/up2x25-minmax-scalar-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700358 "src/f32-dwconv/gen/up2x25-minmax-scalar.c",
359 "src/f32-dwconv/gen/up2x25-scalar-acc2.c",
360 "src/f32-dwconv/gen/up2x25-scalar.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700361 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc2.c",
362 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc3.c",
363 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc4.c",
Marat Dukhan91249d22020-10-24 12:02:51 -0700364 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700365 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c",
Marat Dukhan91249d22020-10-24 12:02:51 -0700366 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1.c",
367 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-3x1.c",
368 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c",
369 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-5x1.c",
370 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-6x1.c",
Marat Dukhancf5b3c32020-10-25 19:21:10 -0700371 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c",
372 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc3.c",
373 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700374 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1.c",
Marat Dukhancf5b3c32020-10-25 19:21:10 -0700375 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700376 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1.c",
377 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-3x1.c",
378 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-4x1.c",
Marat Dukhanc4efb002020-10-25 23:14:47 -0700379 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc2.c",
380 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc3.c",
381 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc4.c",
382 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700383 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1.c",
Marat Dukhanc4efb002020-10-25 23:14:47 -0700384 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c",
385 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc3.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700386 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1.c",
Marat Dukhanc4efb002020-10-25 23:14:47 -0700387 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -0700388 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1.c",
Marat Dukhan29c0c332020-10-28 22:11:00 -0700389 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc2.c",
390 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc3.c",
391 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc4.c",
392 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c",
393 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1.c",
394 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c",
395 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc3.c",
396 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1.c",
397 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1-acc2.c",
398 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1.c",
Marat Dukhan1fe89952021-11-10 01:27:15 -0800399 "src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x1.c",
400 "src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x2.c",
401 "src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x3.c",
402 "src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x4.c",
403 "src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x1.c",
404 "src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x2.c",
405 "src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x3.c",
406 "src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x4.c",
Marat Dukhan1f29b802020-05-15 23:46:39 -0700407 "src/f32-gavgpool-cw/scalar-x1.c",
Marat Dukhan99936602020-04-11 16:47:01 -0700408 "src/f32-gavgpool/7p7x-minmax-scalar-c1.c",
409 "src/f32-gavgpool/7x-minmax-scalar-c1.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700410 "src/f32-gemm/gen-inc/1x4inc-minmax-scalar.c",
411 "src/f32-gemm/gen-inc/2x4inc-minmax-scalar.c",
412 "src/f32-gemm/gen-inc/4x4inc-minmax-scalar.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700413 "src/f32-gemm/gen/1x4-minmax-scalar.c",
414 "src/f32-gemm/gen/1x4-relu-scalar.c",
415 "src/f32-gemm/gen/1x4-scalar.c",
416 "src/f32-gemm/gen/2x4-minmax-scalar.c",
417 "src/f32-gemm/gen/2x4-relu-scalar.c",
418 "src/f32-gemm/gen/2x4-scalar.c",
419 "src/f32-gemm/gen/4x2-minmax-scalar.c",
420 "src/f32-gemm/gen/4x2-relu-scalar.c",
421 "src/f32-gemm/gen/4x2-scalar.c",
422 "src/f32-gemm/gen/4x4-minmax-scalar.c",
423 "src/f32-gemm/gen/4x4-relu-scalar.c",
424 "src/f32-gemm/gen/4x4-scalar.c",
XNNPACK Team21432672020-10-19 19:58:48 -0700425 "src/f32-ibilinear-chw/gen/scalar-p1.c",
426 "src/f32-ibilinear-chw/gen/scalar-p2.c",
427 "src/f32-ibilinear-chw/gen/scalar-p4.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700428 "src/f32-ibilinear/gen/scalar-c1.c",
429 "src/f32-ibilinear/gen/scalar-c2.c",
430 "src/f32-ibilinear/gen/scalar-c4.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700431 "src/f32-igemm/gen/1x4-minmax-scalar.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700432 "src/f32-igemm/gen/1x4-relu-scalar.c",
433 "src/f32-igemm/gen/1x4-scalar.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700434 "src/f32-igemm/gen/2x4-minmax-scalar.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700435 "src/f32-igemm/gen/2x4-relu-scalar.c",
436 "src/f32-igemm/gen/2x4-scalar.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700437 "src/f32-igemm/gen/4x2-minmax-scalar.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700438 "src/f32-igemm/gen/4x2-relu-scalar.c",
439 "src/f32-igemm/gen/4x2-scalar.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700440 "src/f32-igemm/gen/4x4-minmax-scalar.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700441 "src/f32-igemm/gen/4x4-relu-scalar.c",
442 "src/f32-igemm/gen/4x4-scalar.c",
Marat Dukhan99936602020-04-11 16:47:01 -0700443 "src/f32-maxpool/9p8x-minmax-scalar-c1.c",
444 "src/f32-pavgpool/9p8x-minmax-scalar-c1.c",
445 "src/f32-pavgpool/9x-minmax-scalar-c1.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700446 "src/f32-ppmm/gen/2x4-minmax-scalar.c",
447 "src/f32-ppmm/gen/3x3-minmax-scalar.c",
448 "src/f32-ppmm/gen/4x2-minmax-scalar.c",
449 "src/f32-ppmm/gen/4x4-minmax-scalar.c",
Marat Dukhan40a672f2019-11-25 03:08:22 -0800450 "src/f32-prelu/gen/scalar-2x1.c",
451 "src/f32-prelu/gen/scalar-2x4.c",
Marat Dukhan00a10852021-12-02 13:00:40 -0800452 "src/f32-qs8-vcvt/gen/vcvt-scalar-magic-x1.c",
453 "src/f32-qs8-vcvt/gen/vcvt-scalar-magic-x2.c",
454 "src/f32-qs8-vcvt/gen/vcvt-scalar-magic-x3.c",
455 "src/f32-qs8-vcvt/gen/vcvt-scalar-magic-x4.c",
456 "src/f32-qu8-vcvt/gen/vcvt-scalar-magic-x1.c",
457 "src/f32-qu8-vcvt/gen/vcvt-scalar-magic-x2.c",
458 "src/f32-qu8-vcvt/gen/vcvt-scalar-magic-x3.c",
459 "src/f32-qu8-vcvt/gen/vcvt-scalar-magic-x4.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800460 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x1.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800461 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700462 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800463 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc2.c",
464 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700465 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800466 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x1.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800467 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x2-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700468 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x2.c",
Marat Dukhanf46f6752020-01-21 11:03:49 -0800469 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc2.c",
470 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700471 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700472 "src/f32-rmax/scalar.c",
Marat Dukhan355ab432020-04-09 19:01:52 -0700473 "src/f32-spmm/gen/1x1-minmax-scalar-pipelined.c",
474 "src/f32-spmm/gen/1x1-minmax-scalar.c",
475 "src/f32-spmm/gen/2x1-minmax-scalar-pipelined.c",
476 "src/f32-spmm/gen/2x1-minmax-scalar.c",
477 "src/f32-spmm/gen/4x1-minmax-scalar-pipelined.c",
478 "src/f32-spmm/gen/4x1-minmax-scalar.c",
479 "src/f32-spmm/gen/8x1-minmax-scalar-pipelined.c",
480 "src/f32-spmm/gen/8x1-minmax-scalar.c",
481 "src/f32-spmm/gen/8x2-minmax-scalar.c",
482 "src/f32-spmm/gen/8x4-minmax-scalar.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700483 "src/f32-vbinary/gen/vadd-minmax-scalar-x1.c",
484 "src/f32-vbinary/gen/vadd-minmax-scalar-x2.c",
485 "src/f32-vbinary/gen/vadd-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700486 "src/f32-vbinary/gen/vadd-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700487 "src/f32-vbinary/gen/vadd-relu-scalar-x1.c",
488 "src/f32-vbinary/gen/vadd-relu-scalar-x2.c",
489 "src/f32-vbinary/gen/vadd-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700490 "src/f32-vbinary/gen/vadd-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700491 "src/f32-vbinary/gen/vadd-scalar-x1.c",
492 "src/f32-vbinary/gen/vadd-scalar-x2.c",
493 "src/f32-vbinary/gen/vadd-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700494 "src/f32-vbinary/gen/vadd-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700495 "src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c",
496 "src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c",
497 "src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700498 "src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700499 "src/f32-vbinary/gen/vaddc-relu-scalar-x1.c",
500 "src/f32-vbinary/gen/vaddc-relu-scalar-x2.c",
501 "src/f32-vbinary/gen/vaddc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700502 "src/f32-vbinary/gen/vaddc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700503 "src/f32-vbinary/gen/vaddc-scalar-x1.c",
504 "src/f32-vbinary/gen/vaddc-scalar-x2.c",
505 "src/f32-vbinary/gen/vaddc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700506 "src/f32-vbinary/gen/vaddc-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700507 "src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c",
508 "src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c",
509 "src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700510 "src/f32-vbinary/gen/vdiv-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700511 "src/f32-vbinary/gen/vdiv-relu-scalar-x1.c",
512 "src/f32-vbinary/gen/vdiv-relu-scalar-x2.c",
513 "src/f32-vbinary/gen/vdiv-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700514 "src/f32-vbinary/gen/vdiv-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700515 "src/f32-vbinary/gen/vdiv-scalar-x1.c",
516 "src/f32-vbinary/gen/vdiv-scalar-x2.c",
517 "src/f32-vbinary/gen/vdiv-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700518 "src/f32-vbinary/gen/vdiv-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700519 "src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c",
520 "src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c",
521 "src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700522 "src/f32-vbinary/gen/vdivc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700523 "src/f32-vbinary/gen/vdivc-relu-scalar-x1.c",
524 "src/f32-vbinary/gen/vdivc-relu-scalar-x2.c",
525 "src/f32-vbinary/gen/vdivc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700526 "src/f32-vbinary/gen/vdivc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700527 "src/f32-vbinary/gen/vdivc-scalar-x1.c",
528 "src/f32-vbinary/gen/vdivc-scalar-x2.c",
529 "src/f32-vbinary/gen/vdivc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700530 "src/f32-vbinary/gen/vdivc-scalar-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -0800531 "src/f32-vbinary/gen/vmax-scalar-x1.c",
532 "src/f32-vbinary/gen/vmax-scalar-x2.c",
533 "src/f32-vbinary/gen/vmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700534 "src/f32-vbinary/gen/vmax-scalar-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -0800535 "src/f32-vbinary/gen/vmaxc-scalar-x1.c",
536 "src/f32-vbinary/gen/vmaxc-scalar-x2.c",
537 "src/f32-vbinary/gen/vmaxc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700538 "src/f32-vbinary/gen/vmaxc-scalar-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -0800539 "src/f32-vbinary/gen/vmin-scalar-x1.c",
540 "src/f32-vbinary/gen/vmin-scalar-x2.c",
541 "src/f32-vbinary/gen/vmin-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700542 "src/f32-vbinary/gen/vmin-scalar-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -0800543 "src/f32-vbinary/gen/vminc-scalar-x1.c",
544 "src/f32-vbinary/gen/vminc-scalar-x2.c",
545 "src/f32-vbinary/gen/vminc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700546 "src/f32-vbinary/gen/vminc-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700547 "src/f32-vbinary/gen/vmul-minmax-scalar-x1.c",
548 "src/f32-vbinary/gen/vmul-minmax-scalar-x2.c",
549 "src/f32-vbinary/gen/vmul-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700550 "src/f32-vbinary/gen/vmul-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700551 "src/f32-vbinary/gen/vmul-relu-scalar-x1.c",
552 "src/f32-vbinary/gen/vmul-relu-scalar-x2.c",
553 "src/f32-vbinary/gen/vmul-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700554 "src/f32-vbinary/gen/vmul-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700555 "src/f32-vbinary/gen/vmul-scalar-x1.c",
556 "src/f32-vbinary/gen/vmul-scalar-x2.c",
557 "src/f32-vbinary/gen/vmul-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700558 "src/f32-vbinary/gen/vmul-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700559 "src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c",
560 "src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c",
561 "src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700562 "src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700563 "src/f32-vbinary/gen/vmulc-relu-scalar-x1.c",
564 "src/f32-vbinary/gen/vmulc-relu-scalar-x2.c",
565 "src/f32-vbinary/gen/vmulc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700566 "src/f32-vbinary/gen/vmulc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700567 "src/f32-vbinary/gen/vmulc-scalar-x1.c",
568 "src/f32-vbinary/gen/vmulc-scalar-x2.c",
569 "src/f32-vbinary/gen/vmulc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700570 "src/f32-vbinary/gen/vmulc-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700571 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c",
572 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c",
573 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700574 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700575 "src/f32-vbinary/gen/vrdivc-relu-scalar-x1.c",
576 "src/f32-vbinary/gen/vrdivc-relu-scalar-x2.c",
577 "src/f32-vbinary/gen/vrdivc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700578 "src/f32-vbinary/gen/vrdivc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700579 "src/f32-vbinary/gen/vrdivc-scalar-x1.c",
580 "src/f32-vbinary/gen/vrdivc-scalar-x2.c",
581 "src/f32-vbinary/gen/vrdivc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700582 "src/f32-vbinary/gen/vrdivc-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700583 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c",
584 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c",
585 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700586 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700587 "src/f32-vbinary/gen/vrsubc-relu-scalar-x1.c",
588 "src/f32-vbinary/gen/vrsubc-relu-scalar-x2.c",
589 "src/f32-vbinary/gen/vrsubc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700590 "src/f32-vbinary/gen/vrsubc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700591 "src/f32-vbinary/gen/vrsubc-scalar-x1.c",
592 "src/f32-vbinary/gen/vrsubc-scalar-x2.c",
593 "src/f32-vbinary/gen/vrsubc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700594 "src/f32-vbinary/gen/vrsubc-scalar-x8.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -0700595 "src/f32-vbinary/gen/vsqrdiff-scalar-x1.c",
596 "src/f32-vbinary/gen/vsqrdiff-scalar-x2.c",
597 "src/f32-vbinary/gen/vsqrdiff-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700598 "src/f32-vbinary/gen/vsqrdiff-scalar-x8.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -0700599 "src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c",
600 "src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c",
601 "src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700602 "src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700603 "src/f32-vbinary/gen/vsub-minmax-scalar-x1.c",
604 "src/f32-vbinary/gen/vsub-minmax-scalar-x2.c",
605 "src/f32-vbinary/gen/vsub-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700606 "src/f32-vbinary/gen/vsub-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700607 "src/f32-vbinary/gen/vsub-relu-scalar-x1.c",
608 "src/f32-vbinary/gen/vsub-relu-scalar-x2.c",
609 "src/f32-vbinary/gen/vsub-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700610 "src/f32-vbinary/gen/vsub-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700611 "src/f32-vbinary/gen/vsub-scalar-x1.c",
612 "src/f32-vbinary/gen/vsub-scalar-x2.c",
613 "src/f32-vbinary/gen/vsub-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700614 "src/f32-vbinary/gen/vsub-scalar-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -0700615 "src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c",
616 "src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c",
617 "src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700618 "src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -0700619 "src/f32-vbinary/gen/vsubc-relu-scalar-x1.c",
620 "src/f32-vbinary/gen/vsubc-relu-scalar-x2.c",
621 "src/f32-vbinary/gen/vsubc-relu-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700622 "src/f32-vbinary/gen/vsubc-relu-scalar-x8.c",
Frank Barchard8e229db2020-07-06 23:31:35 -0700623 "src/f32-vbinary/gen/vsubc-scalar-x1.c",
624 "src/f32-vbinary/gen/vsubc-scalar-x2.c",
625 "src/f32-vbinary/gen/vsubc-scalar-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -0700626 "src/f32-vbinary/gen/vsubc-scalar-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -0700627 "src/f32-vclamp/gen/vclamp-scalar-x1.c",
628 "src/f32-vclamp/gen/vclamp-scalar-x2.c",
629 "src/f32-vclamp/gen/vclamp-scalar-x4.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -0800630 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x1.c",
631 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x2.c",
632 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x3.c",
633 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c",
634 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x5.c",
635 "src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x6.c",
636 "src/f32-velu/gen/velu-scalar-rr2-p6-x1.c",
637 "src/f32-velu/gen/velu-scalar-rr2-p6-x2.c",
638 "src/f32-velu/gen/velu-scalar-rr2-p6-x3.c",
639 "src/f32-velu/gen/velu-scalar-rr2-p6-x4.c",
640 "src/f32-velu/gen/velu-scalar-rr2-p6-x5.c",
641 "src/f32-velu/gen/velu-scalar-rr2-p6-x6.c",
Marat Dukhan6674d692021-05-05 22:27:00 -0700642 "src/f32-vhswish/gen/vhswish-scalar-x1.c",
643 "src/f32-vhswish/gen/vhswish-scalar-x2.c",
644 "src/f32-vhswish/gen/vhswish-scalar-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700645 "src/f32-vlrelu/gen/vlrelu-scalar-x1.c",
646 "src/f32-vlrelu/gen/vlrelu-scalar-x2.c",
647 "src/f32-vlrelu/gen/vlrelu-scalar-x4.c",
Marat Dukhan99936602020-04-11 16:47:01 -0700648 "src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c",
649 "src/f32-vmulcaddc/gen/c2-minmax-scalar-2x.c",
650 "src/f32-vmulcaddc/gen/c4-minmax-scalar-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -0700651 "src/f32-vrelu/gen/vrelu-scalar-x1.c",
652 "src/f32-vrelu/gen/vrelu-scalar-x2.c",
653 "src/f32-vrelu/gen/vrelu-scalar-x4.c",
654 "src/f32-vrelu/gen/vrelu-scalar-x8.c",
Marat Dukhaneecf8fd2020-06-09 08:59:37 -0700655 "src/f32-vrnd/gen/vrndd-scalar-libm-x1.c",
656 "src/f32-vrnd/gen/vrndd-scalar-libm-x2.c",
657 "src/f32-vrnd/gen/vrndd-scalar-libm-x4.c",
Frank Barchardc9c320e2020-08-07 22:12:46 -0700658 "src/f32-vrnd/gen/vrndne-scalar-libm-x1.c",
659 "src/f32-vrnd/gen/vrndne-scalar-libm-x2.c",
660 "src/f32-vrnd/gen/vrndne-scalar-libm-x4.c",
661 "src/f32-vrnd/gen/vrndu-scalar-libm-x1.c",
662 "src/f32-vrnd/gen/vrndu-scalar-libm-x2.c",
663 "src/f32-vrnd/gen/vrndu-scalar-libm-x4.c",
664 "src/f32-vrnd/gen/vrndz-scalar-libm-x1.c",
665 "src/f32-vrnd/gen/vrndz-scalar-libm-x2.c",
666 "src/f32-vrnd/gen/vrndz-scalar-libm-x4.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -0700667 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut64-p2-div-x1.c",
668 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut64-p2-div-x2.c",
669 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut64-p2-div-x4.c",
670 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut2048-p1-div-x1.c",
671 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut2048-p1-div-x2.c",
672 "src/f32-vsigmoid/gen/vsigmoid-scalar-lut2048-p1-div-x4.c",
673 "src/f32-vsigmoid/gen/vsigmoid-scalar-p5-div-x1.c",
674 "src/f32-vsigmoid/gen/vsigmoid-scalar-p5-div-x2.c",
675 "src/f32-vsigmoid/gen/vsigmoid-scalar-p5-div-x4.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -0700676 "src/f32-vsqrt/gen/scalar-sqrt-x1.c",
677 "src/f32-vsqrt/gen/scalar-sqrt-x2.c",
678 "src/f32-vsqrt/gen/scalar-sqrt-x4.c",
Marat Dukhan5020b962020-06-08 13:30:10 -0700679 "src/f32-vunary/gen/vabs-scalar-x1.c",
680 "src/f32-vunary/gen/vabs-scalar-x2.c",
681 "src/f32-vunary/gen/vabs-scalar-x4.c",
682 "src/f32-vunary/gen/vneg-scalar-x1.c",
683 "src/f32-vunary/gen/vneg-scalar-x2.c",
684 "src/f32-vunary/gen/vneg-scalar-x4.c",
685 "src/f32-vunary/gen/vsqr-scalar-x1.c",
686 "src/f32-vunary/gen/vsqr-scalar-x2.c",
687 "src/f32-vunary/gen/vsqr-scalar-x4.c",
Marat Dukhan78f039d2021-11-09 16:42:27 -0800688 "src/math/cvt-f32-f16-scalar-bitcast.c",
689 "src/math/cvt-f32-f16-scalar-fabsf.c",
Marat Dukhande390d42020-11-29 19:32:18 -0800690 "src/math/expm1minus-scalar-rr2-lut4-p4.c",
691 "src/math/expm1minus-scalar-rr2-lut8-p3.c",
692 "src/math/expm1minus-scalar-rr2-lut8-p4.c",
Marat Dukhanc60742b2020-11-23 12:33:27 -0800693 "src/math/expm1minus-scalar-rr2-lut16-p3.c",
694 "src/math/expm1minus-scalar-rr2-lut16-p4.c",
695 "src/math/expm1minus-scalar-rr2-p5.c",
696 "src/math/expm1minus-scalar-rr2-p6.c",
Frank Barchard22136062020-11-24 18:44:46 -0800697 "src/math/expminus-scalar-rr2-lut64-p2.c",
698 "src/math/expminus-scalar-rr2-lut2048-p1.c",
699 "src/math/expminus-scalar-rr2-p5.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -0700700 "src/math/roundd-scalar-addsub.c",
701 "src/math/roundd-scalar-cvt.c",
Marat Dukhanffbf96a2020-05-14 02:59:08 -0700702 "src/math/roundd-scalar-floor.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700703 "src/math/roundne-scalar-addsub.c",
704 "src/math/roundne-scalar-nearbyint.c",
705 "src/math/roundne-scalar-rint.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -0700706 "src/math/roundu-scalar-addsub.c",
Marat Dukhanffbf96a2020-05-14 02:59:08 -0700707 "src/math/roundu-scalar-ceil.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -0700708 "src/math/roundu-scalar-cvt.c",
Marat Dukhan2dbb9442020-05-12 20:43:43 -0700709 "src/math/roundz-scalar-addsub.c",
710 "src/math/roundz-scalar-cvt.c",
Marat Dukhanffbf96a2020-05-14 02:59:08 -0700711 "src/math/roundz-scalar-trunc.c",
Marat Dukhanf8475d62020-09-17 15:01:43 -0700712 "src/math/sigmoid-scalar-rr2-lut64-p2-div.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700713 "src/math/sigmoid-scalar-rr2-lut2048-p1-div.c",
Marat Dukhanf8475d62020-09-17 15:01:43 -0700714 "src/math/sigmoid-scalar-rr2-p5-div.c",
Frank Barchardf10af6c2021-06-30 12:42:29 -0700715 "src/params-init.c",
Marat Dukhan57547062021-06-30 16:53:29 -0700716 "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
717 "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
718 "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
719 "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
720 "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
721 "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
722 "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
723 "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
724 "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
725 "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
726 "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
727 "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
Marat Dukhand6021542021-06-30 09:04:20 -0700728 "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
729 "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
730 "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
731 "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
732 "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
733 "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
734 "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
735 "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
736 "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
737 "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
738 "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
739 "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
740 "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
741 "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
742 "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
743 "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
744 "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
745 "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
746 "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
747 "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
748 "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
749 "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
750 "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
751 "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
752 "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
753 "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
754 "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
755 "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
756 "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
757 "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
758 "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
759 "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhan85d772b2021-06-30 11:02:42 -0700760 "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
761 "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
762 "src/qs8-dwconv/gen/up1x9-minmax-gemmlowp-scalar.c",
Frank Barchardf10af6c2021-06-30 12:42:29 -0700763 "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
764 "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
765 "src/qs8-dwconv/gen/up1x25-minmax-gemmlowp-scalar.c",
Marat Dukhan85d772b2021-06-30 11:02:42 -0700766 "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
767 "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
768 "src/qs8-dwconv/gen/up2x9-minmax-gemmlowp-scalar.c",
Frank Barchardf10af6c2021-06-30 12:42:29 -0700769 "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
770 "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
771 "src/qs8-dwconv/gen/up2x25-minmax-gemmlowp-scalar.c",
Marat Dukhan85d772b2021-06-30 11:02:42 -0700772 "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
773 "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
774 "src/qs8-dwconv/gen/up4x9-minmax-gemmlowp-scalar.c",
Frank Barchardf10af6c2021-06-30 12:42:29 -0700775 "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
776 "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
777 "src/qs8-dwconv/gen/up4x25-minmax-gemmlowp-scalar.c",
Marat Dukhan047b6202021-05-11 20:32:25 -0700778 "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c1.c",
779 "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c2.c",
780 "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c4.c",
781 "src/qs8-gavgpool/gen/7x-minmax-scalar-c1.c",
782 "src/qs8-gavgpool/gen/7x-minmax-scalar-c2.c",
783 "src/qs8-gavgpool/gen/7x-minmax-scalar-c4.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700784 "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
785 "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700786 "src/qs8-gemm/gen/1x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700787 "src/qs8-gemm/gen/1x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700788 "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
789 "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700790 "src/qs8-gemm/gen/1x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700791 "src/qs8-gemm/gen/1x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700792 "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
793 "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700794 "src/qs8-gemm/gen/2x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700795 "src/qs8-gemm/gen/2x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700796 "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
797 "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700798 "src/qs8-gemm/gen/2x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700799 "src/qs8-gemm/gen/2x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700800 "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
801 "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700802 "src/qs8-gemm/gen/3x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700803 "src/qs8-gemm/gen/3x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700804 "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
805 "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700806 "src/qs8-gemm/gen/3x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700807 "src/qs8-gemm/gen/3x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700808 "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
809 "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700810 "src/qs8-gemm/gen/4x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700811 "src/qs8-gemm/gen/4x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700812 "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
813 "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700814 "src/qs8-gemm/gen/4x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700815 "src/qs8-gemm/gen/4x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700816 "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
817 "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700818 "src/qs8-igemm/gen/1x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700819 "src/qs8-igemm/gen/1x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700820 "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
821 "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700822 "src/qs8-igemm/gen/1x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700823 "src/qs8-igemm/gen/1x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700824 "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
825 "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700826 "src/qs8-igemm/gen/2x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700827 "src/qs8-igemm/gen/2x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700828 "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
829 "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700830 "src/qs8-igemm/gen/2x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700831 "src/qs8-igemm/gen/2x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700832 "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
833 "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700834 "src/qs8-igemm/gen/3x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700835 "src/qs8-igemm/gen/3x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700836 "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
837 "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700838 "src/qs8-igemm/gen/3x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700839 "src/qs8-igemm/gen/3x4-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700840 "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
841 "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700842 "src/qs8-igemm/gen/4x2-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700843 "src/qs8-igemm/gen/4x2-minmax-rndnu-scalar.c",
Marat Dukhan779b2532021-06-29 14:14:13 -0700844 "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
845 "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -0700846 "src/qs8-igemm/gen/4x4-minmax-gemmlowp-scalar.c",
Frank Barchard1a2dbe12021-07-22 20:13:58 -0700847 "src/qs8-igemm/gen/4x4-minmax-rndnu-scalar.c",
Marat Dukhan2e23d2b2020-07-29 16:01:37 -0700848 "src/qs8-requantization/fp32-scalar-lrintf.c",
849 "src/qs8-requantization/fp32-scalar-magic.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -0700850 "src/qs8-requantization/gemmlowp-scalar.c",
Marat Dukhan06716242021-05-26 15:56:39 -0700851 "src/qs8-requantization/rndna-scalar-signed64.c",
852 "src/qs8-requantization/rndna-scalar-unsigned32.c",
853 "src/qs8-requantization/rndna-scalar-unsigned64.c",
Marat Dukhan062bee32021-05-27 20:31:07 -0700854 "src/qs8-requantization/rndnu-scalar.c",
Marat Dukhand481c282021-05-11 23:48:31 -0700855 "src/qs8-vadd/gen/minmax-scalar-x1.c",
856 "src/qs8-vadd/gen/minmax-scalar-x2.c",
857 "src/qs8-vadd/gen/minmax-scalar-x4.c",
858 "src/qs8-vaddc/gen/minmax-scalar-x1.c",
859 "src/qs8-vaddc/gen/minmax-scalar-x2.c",
860 "src/qs8-vaddc/gen/minmax-scalar-x4.c",
Marat Dukhan79993412021-08-02 15:02:57 -0700861 "src/qs8-vmul/gen/minmax-fp32-scalar-x1.c",
862 "src/qs8-vmul/gen/minmax-fp32-scalar-x2.c",
863 "src/qs8-vmul/gen/minmax-fp32-scalar-x4.c",
864 "src/qs8-vmulc/gen/minmax-fp32-scalar-x1.c",
865 "src/qs8-vmulc/gen/minmax-fp32-scalar-x2.c",
866 "src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -0700867 "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
868 "src/qu8-avgpool/9x-minmax-scalar-c1.c",
Marat Dukhan1f714282021-07-15 15:41:32 -0700869 "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
870 "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
871 "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
872 "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
873 "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
874 "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
875 "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
876 "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
877 "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
878 "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
879 "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
880 "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -0700881 "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
882 "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
Marat Dukhan927d4742021-07-15 13:42:49 -0700883 "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
884 "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
885 "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
886 "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
887 "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
888 "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
889 "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
890 "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
891 "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
892 "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
893 "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
894 "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
895 "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
896 "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
897 "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
898 "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhan927d4742021-07-15 13:42:49 -0700899 "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
900 "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
901 "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
902 "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
903 "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
904 "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
905 "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
906 "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
907 "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
908 "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
909 "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
910 "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
911 "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
912 "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
913 "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
914 "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -0700915 "src/qu8-requantization/fp32-scalar-lrintf.c",
916 "src/qu8-requantization/fp32-scalar-magic.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -0700917 "src/qu8-requantization/gemmlowp-scalar.c",
Marat Dukhan06716242021-05-26 15:56:39 -0700918 "src/qu8-requantization/rndna-scalar-signed64.c",
919 "src/qu8-requantization/rndna-scalar-unsigned32.c",
920 "src/qu8-requantization/rndna-scalar-unsigned64.c",
Marat Dukhan76e78c82021-07-20 21:11:23 -0700921 "src/qu8-vadd/gen/minmax-scalar-x1.c",
922 "src/qu8-vadd/gen/minmax-scalar-x2.c",
923 "src/qu8-vadd/gen/minmax-scalar-x4.c",
924 "src/qu8-vaddc/gen/minmax-scalar-x1.c",
925 "src/qu8-vaddc/gen/minmax-scalar-x2.c",
926 "src/qu8-vaddc/gen/minmax-scalar-x4.c",
Marat Dukhan79993412021-08-02 15:02:57 -0700927 "src/qu8-vmul/gen/minmax-fp32-scalar-x1.c",
928 "src/qu8-vmul/gen/minmax-fp32-scalar-x2.c",
929 "src/qu8-vmul/gen/minmax-fp32-scalar-x4.c",
930 "src/qu8-vmulc/gen/minmax-fp32-scalar-x1.c",
931 "src/qu8-vmulc/gen/minmax-fp32-scalar-x2.c",
932 "src/qu8-vmulc/gen/minmax-fp32-scalar-x4.c",
Marat Dukhan6a69c8e2021-11-24 15:00:59 -0800933 "src/s8-ibilinear/gen/scalar-c1.c",
934 "src/s8-ibilinear/gen/scalar-c2.c",
935 "src/s8-ibilinear/gen/scalar-c4.c",
Marat Dukhan23147532021-08-16 07:26:56 -0700936 "src/s8-maxpool/9p8x-minmax-scalar-c1.c",
Marat Dukhane79acb72021-08-16 19:03:53 -0700937 "src/s8-vclamp/scalar-x4.c",
Marat Dukhan6a69c8e2021-11-24 15:00:59 -0800938 "src/u8-ibilinear/gen/scalar-c1.c",
939 "src/u8-ibilinear/gen/scalar-c2.c",
940 "src/u8-ibilinear/gen/scalar-c4.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -0700941 "src/u8-lut32norm/scalar.c",
Marat Dukhan99936602020-04-11 16:47:01 -0700942 "src/u8-maxpool/9p8x-minmax-scalar-c1.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -0700943 "src/u8-rmax/scalar.c",
Marat Dukhan6674d692021-05-05 22:27:00 -0700944 "src/u8-vclamp/scalar-x4.c",
Marat Dukhand67539d2021-09-08 23:06:03 -0700945 "src/x8-lut/gen/lut-scalar-x1.c",
946 "src/x8-lut/gen/lut-scalar-x2.c",
947 "src/x8-lut/gen/lut-scalar-x4.c",
948 "src/x8-lut/gen/lut-scalar-x8.c",
949 "src/x8-lut/gen/lut-scalar-x16.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700950 "src/x8-zip/x2-scalar.c",
951 "src/x8-zip/x3-scalar.c",
952 "src/x8-zip/x4-scalar.c",
953 "src/x8-zip/xm-scalar.c",
Marat Dukhanad71b9a2020-11-20 00:01:51 -0800954 "src/x32-depthtospace2d-chw2hwc/scalar.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -0700955 "src/x32-packx/x2-scalar.c",
956 "src/x32-packx/x3-scalar.c",
957 "src/x32-packx/x4-scalar.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -0700958 "src/x32-unpool/scalar.c",
959 "src/x32-zip/x2-scalar.c",
960 "src/x32-zip/x3-scalar.c",
961 "src/x32-zip/x4-scalar.c",
962 "src/x32-zip/xm-scalar.c",
Marat Dukhan048931b2020-11-24 20:53:54 -0800963 "src/xx-copy/memcpy.c",
Marat Dukhan933051b2021-08-07 16:26:15 -0700964 "src/xx-fill/scalar-x16.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -0700965 "src/xx-pad/scalar.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -0700966]
967
Marat Dukhan2c724952021-07-27 18:46:30 -0700968ALL_WASM_MICROKERNEL_SRCS = [
Marat Dukhan99936602020-04-11 16:47:01 -0700969 "src/f32-avgpool/9p8x-minmax-wasm-c1.c",
970 "src/f32-avgpool/9x-minmax-wasm-c1.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700971 "src/f32-dwconv/gen/up1x3-minmax-wasm-acc2.c",
972 "src/f32-dwconv/gen/up1x3-minmax-wasm.c",
973 "src/f32-dwconv/gen/up1x3-wasm-acc2.c",
974 "src/f32-dwconv/gen/up1x3-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700975 "src/f32-dwconv/gen/up1x4-minmax-wasm-acc2.c",
976 "src/f32-dwconv/gen/up1x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700977 "src/f32-dwconv/gen/up1x4-wasm-acc2.c",
978 "src/f32-dwconv/gen/up1x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700979 "src/f32-dwconv/gen/up1x9-minmax-wasm-acc2.c",
980 "src/f32-dwconv/gen/up1x9-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700981 "src/f32-dwconv/gen/up1x9-wasm-acc2.c",
982 "src/f32-dwconv/gen/up1x9-wasm.c",
Marat Dukhan163a7e62020-04-09 04:19:26 -0700983 "src/f32-dwconv/gen/up1x25-minmax-wasm-acc2.c",
984 "src/f32-dwconv/gen/up1x25-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700985 "src/f32-dwconv/gen/up1x25-wasm-acc2.c",
986 "src/f32-dwconv/gen/up1x25-wasm.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -0700987 "src/f32-dwconv/gen/up2x3-minmax-wasm-acc2.c",
988 "src/f32-dwconv/gen/up2x3-minmax-wasm.c",
989 "src/f32-dwconv/gen/up2x3-wasm-acc2.c",
990 "src/f32-dwconv/gen/up2x3-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700991 "src/f32-dwconv/gen/up2x4-minmax-wasm-acc2.c",
992 "src/f32-dwconv/gen/up2x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700993 "src/f32-dwconv/gen/up2x4-wasm-acc2.c",
994 "src/f32-dwconv/gen/up2x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -0700995 "src/f32-dwconv/gen/up2x9-minmax-wasm-acc2.c",
996 "src/f32-dwconv/gen/up2x9-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -0700997 "src/f32-dwconv/gen/up2x9-wasm-acc2.c",
998 "src/f32-dwconv/gen/up2x9-wasm.c",
Marat Dukhan163a7e62020-04-09 04:19:26 -0700999 "src/f32-dwconv/gen/up2x25-minmax-wasm-acc2.c",
1000 "src/f32-dwconv/gen/up2x25-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001001 "src/f32-dwconv/gen/up2x25-wasm-acc2.c",
1002 "src/f32-dwconv/gen/up2x25-wasm.c",
Marat Dukhan99936602020-04-11 16:47:01 -07001003 "src/f32-gavgpool/7p7x-minmax-wasm-c1.c",
1004 "src/f32-gavgpool/7x-minmax-wasm-c1.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001005 "src/f32-gemm/gen-inc/1x4inc-minmax-wasm.c",
1006 "src/f32-gemm/gen-inc/2x4inc-minmax-wasm.c",
1007 "src/f32-gemm/gen-inc/4x4inc-minmax-wasm.c",
1008 "src/f32-gemm/gen/1x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001009 "src/f32-gemm/gen/1x4-relu-wasm.c",
1010 "src/f32-gemm/gen/1x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001011 "src/f32-gemm/gen/2x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001012 "src/f32-gemm/gen/2x4-relu-wasm.c",
1013 "src/f32-gemm/gen/2x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001014 "src/f32-gemm/gen/4x2-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001015 "src/f32-gemm/gen/4x2-relu-wasm.c",
1016 "src/f32-gemm/gen/4x2-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001017 "src/f32-gemm/gen/4x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001018 "src/f32-gemm/gen/4x4-relu-wasm.c",
1019 "src/f32-gemm/gen/4x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001020 "src/f32-igemm/gen/1x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001021 "src/f32-igemm/gen/1x4-relu-wasm.c",
1022 "src/f32-igemm/gen/1x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001023 "src/f32-igemm/gen/2x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001024 "src/f32-igemm/gen/2x4-relu-wasm.c",
1025 "src/f32-igemm/gen/2x4-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001026 "src/f32-igemm/gen/4x2-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001027 "src/f32-igemm/gen/4x2-relu-wasm.c",
1028 "src/f32-igemm/gen/4x2-wasm.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07001029 "src/f32-igemm/gen/4x4-minmax-wasm.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001030 "src/f32-igemm/gen/4x4-relu-wasm.c",
1031 "src/f32-igemm/gen/4x4-wasm.c",
Marat Dukhan99936602020-04-11 16:47:01 -07001032 "src/f32-maxpool/9p8x-minmax-wasm-c1.c",
1033 "src/f32-pavgpool/9p8x-minmax-wasm-c1.c",
1034 "src/f32-pavgpool/9x-minmax-wasm-c1.c",
Marat Dukhan7c1f8082020-06-25 13:26:20 -07001035 "src/f32-prelu/gen/wasm-2x1.c",
1036 "src/f32-prelu/gen/wasm-2x4.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07001037 "src/f32-vbinary/gen/vadd-minmax-wasm-x1.c",
1038 "src/f32-vbinary/gen/vadd-minmax-wasm-x2.c",
1039 "src/f32-vbinary/gen/vadd-minmax-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001040 "src/f32-vbinary/gen/vadd-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001041 "src/f32-vbinary/gen/vadd-relu-wasm-x1.c",
1042 "src/f32-vbinary/gen/vadd-relu-wasm-x2.c",
1043 "src/f32-vbinary/gen/vadd-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001044 "src/f32-vbinary/gen/vadd-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001045 "src/f32-vbinary/gen/vaddc-minmax-wasm-x1.c",
1046 "src/f32-vbinary/gen/vaddc-minmax-wasm-x2.c",
1047 "src/f32-vbinary/gen/vaddc-minmax-wasm-x4.c",
1048 "src/f32-vbinary/gen/vaddc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001049 "src/f32-vbinary/gen/vaddc-relu-wasm-x1.c",
1050 "src/f32-vbinary/gen/vaddc-relu-wasm-x2.c",
1051 "src/f32-vbinary/gen/vaddc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001052 "src/f32-vbinary/gen/vaddc-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001053 "src/f32-vbinary/gen/vdiv-minmax-wasm-x1.c",
1054 "src/f32-vbinary/gen/vdiv-minmax-wasm-x2.c",
1055 "src/f32-vbinary/gen/vdiv-minmax-wasm-x4.c",
1056 "src/f32-vbinary/gen/vdiv-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001057 "src/f32-vbinary/gen/vdiv-relu-wasm-x1.c",
1058 "src/f32-vbinary/gen/vdiv-relu-wasm-x2.c",
1059 "src/f32-vbinary/gen/vdiv-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001060 "src/f32-vbinary/gen/vdiv-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001061 "src/f32-vbinary/gen/vdivc-minmax-wasm-x1.c",
1062 "src/f32-vbinary/gen/vdivc-minmax-wasm-x2.c",
1063 "src/f32-vbinary/gen/vdivc-minmax-wasm-x4.c",
1064 "src/f32-vbinary/gen/vdivc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001065 "src/f32-vbinary/gen/vdivc-relu-wasm-x1.c",
1066 "src/f32-vbinary/gen/vdivc-relu-wasm-x2.c",
1067 "src/f32-vbinary/gen/vdivc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001068 "src/f32-vbinary/gen/vdivc-relu-wasm-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08001069 "src/f32-vbinary/gen/vmax-wasm-x1.c",
1070 "src/f32-vbinary/gen/vmax-wasm-x2.c",
1071 "src/f32-vbinary/gen/vmax-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001072 "src/f32-vbinary/gen/vmax-wasm-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08001073 "src/f32-vbinary/gen/vmaxc-wasm-x1.c",
1074 "src/f32-vbinary/gen/vmaxc-wasm-x2.c",
1075 "src/f32-vbinary/gen/vmaxc-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001076 "src/f32-vbinary/gen/vmaxc-wasm-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08001077 "src/f32-vbinary/gen/vmin-wasm-x1.c",
1078 "src/f32-vbinary/gen/vmin-wasm-x2.c",
1079 "src/f32-vbinary/gen/vmin-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001080 "src/f32-vbinary/gen/vmin-wasm-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08001081 "src/f32-vbinary/gen/vminc-wasm-x1.c",
1082 "src/f32-vbinary/gen/vminc-wasm-x2.c",
1083 "src/f32-vbinary/gen/vminc-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001084 "src/f32-vbinary/gen/vminc-wasm-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07001085 "src/f32-vbinary/gen/vmul-minmax-wasm-x1.c",
1086 "src/f32-vbinary/gen/vmul-minmax-wasm-x2.c",
1087 "src/f32-vbinary/gen/vmul-minmax-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001088 "src/f32-vbinary/gen/vmul-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001089 "src/f32-vbinary/gen/vmul-relu-wasm-x1.c",
1090 "src/f32-vbinary/gen/vmul-relu-wasm-x2.c",
1091 "src/f32-vbinary/gen/vmul-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001092 "src/f32-vbinary/gen/vmul-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001093 "src/f32-vbinary/gen/vmulc-minmax-wasm-x1.c",
1094 "src/f32-vbinary/gen/vmulc-minmax-wasm-x2.c",
1095 "src/f32-vbinary/gen/vmulc-minmax-wasm-x4.c",
1096 "src/f32-vbinary/gen/vmulc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001097 "src/f32-vbinary/gen/vmulc-relu-wasm-x1.c",
1098 "src/f32-vbinary/gen/vmulc-relu-wasm-x2.c",
1099 "src/f32-vbinary/gen/vmulc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001100 "src/f32-vbinary/gen/vmulc-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001101 "src/f32-vbinary/gen/vrdivc-minmax-wasm-x1.c",
1102 "src/f32-vbinary/gen/vrdivc-minmax-wasm-x2.c",
1103 "src/f32-vbinary/gen/vrdivc-minmax-wasm-x4.c",
1104 "src/f32-vbinary/gen/vrdivc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001105 "src/f32-vbinary/gen/vrdivc-relu-wasm-x1.c",
1106 "src/f32-vbinary/gen/vrdivc-relu-wasm-x2.c",
1107 "src/f32-vbinary/gen/vrdivc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001108 "src/f32-vbinary/gen/vrdivc-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001109 "src/f32-vbinary/gen/vrsubc-minmax-wasm-x1.c",
1110 "src/f32-vbinary/gen/vrsubc-minmax-wasm-x2.c",
1111 "src/f32-vbinary/gen/vrsubc-minmax-wasm-x4.c",
1112 "src/f32-vbinary/gen/vrsubc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001113 "src/f32-vbinary/gen/vrsubc-relu-wasm-x1.c",
1114 "src/f32-vbinary/gen/vrsubc-relu-wasm-x2.c",
1115 "src/f32-vbinary/gen/vrsubc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001116 "src/f32-vbinary/gen/vrsubc-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001117 "src/f32-vbinary/gen/vsub-minmax-wasm-x1.c",
1118 "src/f32-vbinary/gen/vsub-minmax-wasm-x2.c",
1119 "src/f32-vbinary/gen/vsub-minmax-wasm-x4.c",
1120 "src/f32-vbinary/gen/vsub-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001121 "src/f32-vbinary/gen/vsub-relu-wasm-x1.c",
1122 "src/f32-vbinary/gen/vsub-relu-wasm-x2.c",
1123 "src/f32-vbinary/gen/vsub-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001124 "src/f32-vbinary/gen/vsub-relu-wasm-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001125 "src/f32-vbinary/gen/vsubc-minmax-wasm-x1.c",
1126 "src/f32-vbinary/gen/vsubc-minmax-wasm-x2.c",
1127 "src/f32-vbinary/gen/vsubc-minmax-wasm-x4.c",
1128 "src/f32-vbinary/gen/vsubc-minmax-wasm-x8.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001129 "src/f32-vbinary/gen/vsubc-relu-wasm-x1.c",
1130 "src/f32-vbinary/gen/vsubc-relu-wasm-x2.c",
1131 "src/f32-vbinary/gen/vsubc-relu-wasm-x4.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001132 "src/f32-vbinary/gen/vsubc-relu-wasm-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07001133 "src/f32-vclamp/gen/vclamp-wasm-x1.c",
1134 "src/f32-vclamp/gen/vclamp-wasm-x2.c",
1135 "src/f32-vclamp/gen/vclamp-wasm-x4.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08001136 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x1.c",
1137 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x2.c",
1138 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x3.c",
1139 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x4.c",
1140 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x5.c",
1141 "src/f32-velu/gen/velu-wasm-rr2-lut16-p3-x6.c",
1142 "src/f32-velu/gen/velu-wasm-rr2-p6-x1.c",
1143 "src/f32-velu/gen/velu-wasm-rr2-p6-x2.c",
1144 "src/f32-velu/gen/velu-wasm-rr2-p6-x3.c",
1145 "src/f32-velu/gen/velu-wasm-rr2-p6-x4.c",
1146 "src/f32-velu/gen/velu-wasm-rr2-p6-x5.c",
1147 "src/f32-velu/gen/velu-wasm-rr2-p6-x6.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07001148 "src/f32-vhswish/gen/vhswish-wasm-x1.c",
1149 "src/f32-vhswish/gen/vhswish-wasm-x2.c",
1150 "src/f32-vhswish/gen/vhswish-wasm-x4.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07001151 "src/f32-vlrelu/gen/vlrelu-wasm-x1.c",
1152 "src/f32-vlrelu/gen/vlrelu-wasm-x2.c",
1153 "src/f32-vlrelu/gen/vlrelu-wasm-x4.c",
Frank Barchardd4416d62021-05-17 15:51:37 -07001154 "src/f32-vmulcaddc/gen/c1-minmax-wasm-2x.c",
1155 "src/f32-vmulcaddc/gen/c2-minmax-wasm-2x.c",
1156 "src/f32-vmulcaddc/gen/c4-minmax-wasm-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07001157 "src/f32-vrelu/gen/vrelu-wasm-x1.c",
1158 "src/f32-vrelu/gen/vrelu-wasm-x2.c",
1159 "src/f32-vrelu/gen/vrelu-wasm-x4.c",
1160 "src/f32-vrelu/gen/vrelu-wasm-x8.c",
Marat Dukhan436ebe62019-12-04 15:10:12 -08001161]
1162
Marat Dukhan2c724952021-07-27 18:46:30 -07001163ALL_WASMSIMD_MICROKERNEL_SRCS = [
Marat Dukhanf6507f82021-10-16 18:13:04 -07001164 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int16-x8.c",
1165 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int16-x16.c",
1166 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int16-x24.c",
1167 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int16-x32.c",
1168 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int32-x8.c",
1169 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int32-x16.c",
1170 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int32-x24.c",
1171 "src/f16-f32-vcvt/gen/vcvt-wasmsimd-int32-x32.c",
Marat Dukhan40f05522020-07-16 22:33:12 -07001172 "src/f32-argmaxpool/4x-wasmsimd-c4.c",
1173 "src/f32-argmaxpool/9p8x-wasmsimd-c4.c",
1174 "src/f32-argmaxpool/9x-wasmsimd-c4.c",
Marat Dukhan3b7432d2020-07-16 17:46:32 -07001175 "src/f32-avgpool/9p8x-minmax-wasmsimd-arm-c4.c",
1176 "src/f32-avgpool/9p8x-minmax-wasmsimd-x86-c4.c",
1177 "src/f32-avgpool/9x-minmax-wasmsimd-arm-c4.c",
1178 "src/f32-avgpool/9x-minmax-wasmsimd-x86-c4.c",
Frank Barchard22136062020-11-24 18:44:46 -08001179 "src/f32-conv-hwc2chw/3x3s2p1c3x4-wasmsimd-2x2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07001180 "src/f32-dwconv/gen/up4x3-minmax-wasmsimd-arm-acc2.c",
1181 "src/f32-dwconv/gen/up4x3-minmax-wasmsimd-arm.c",
1182 "src/f32-dwconv/gen/up4x3-minmax-wasmsimd-x86-acc2.c",
1183 "src/f32-dwconv/gen/up4x3-minmax-wasmsimd-x86.c",
Frank Barchard66ae2572021-11-02 17:36:21 -07001184 "src/f32-dwconv/gen/up4x3-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001185 "src/f32-dwconv/gen/up4x4-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001186 "src/f32-dwconv/gen/up4x4-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001187 "src/f32-dwconv/gen/up4x4-minmax-wasmsimd-x86-acc2.c",
Marat Dukhanac014d72020-06-16 08:36:47 -07001188 "src/f32-dwconv/gen/up4x4-minmax-wasmsimd-x86.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001189 "src/f32-dwconv/gen/up4x4-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001190 "src/f32-dwconv/gen/up4x9-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001191 "src/f32-dwconv/gen/up4x9-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001192 "src/f32-dwconv/gen/up4x9-minmax-wasmsimd-x86-acc2.c",
Marat Dukhanac014d72020-06-16 08:36:47 -07001193 "src/f32-dwconv/gen/up4x9-minmax-wasmsimd-x86.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001194 "src/f32-dwconv/gen/up4x9-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001195 "src/f32-dwconv/gen/up4x25-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001196 "src/f32-dwconv/gen/up4x25-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001197 "src/f32-dwconv/gen/up4x25-minmax-wasmsimd-x86-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001198 "src/f32-dwconv/gen/up4x25-minmax-wasmsimd-x86.c",
1199 "src/f32-dwconv/gen/up4x25-wasmsimd.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07001200 "src/f32-dwconv/gen/up8x3-minmax-wasmsimd-arm-acc2.c",
1201 "src/f32-dwconv/gen/up8x3-minmax-wasmsimd-arm.c",
1202 "src/f32-dwconv/gen/up8x3-minmax-wasmsimd-x86-acc2.c",
1203 "src/f32-dwconv/gen/up8x3-minmax-wasmsimd-x86.c",
Frank Barchard66ae2572021-11-02 17:36:21 -07001204 "src/f32-dwconv/gen/up8x3-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001205 "src/f32-dwconv/gen/up8x4-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001206 "src/f32-dwconv/gen/up8x4-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001207 "src/f32-dwconv/gen/up8x4-minmax-wasmsimd-x86-acc2.c",
Marat Dukhanac014d72020-06-16 08:36:47 -07001208 "src/f32-dwconv/gen/up8x4-minmax-wasmsimd-x86.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001209 "src/f32-dwconv/gen/up8x4-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001210 "src/f32-dwconv/gen/up8x9-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001211 "src/f32-dwconv/gen/up8x9-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001212 "src/f32-dwconv/gen/up8x9-minmax-wasmsimd-x86-acc2.c",
Marat Dukhanac014d72020-06-16 08:36:47 -07001213 "src/f32-dwconv/gen/up8x9-minmax-wasmsimd-x86.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001214 "src/f32-dwconv/gen/up8x9-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001215 "src/f32-dwconv/gen/up8x25-minmax-wasmsimd-arm-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001216 "src/f32-dwconv/gen/up8x25-minmax-wasmsimd-arm.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001217 "src/f32-dwconv/gen/up8x25-minmax-wasmsimd-x86-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001218 "src/f32-dwconv/gen/up8x25-minmax-wasmsimd-x86.c",
1219 "src/f32-dwconv/gen/up8x25-wasmsimd.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001220 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-1x4-acc2.c",
1221 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-1x4-acc3.c",
1222 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-1x4-acc4.c",
1223 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-1x4.c",
1224 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-2x4-acc2.c",
1225 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-2x4.c",
1226 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-3x4.c",
1227 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-4x4.c",
1228 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-5x4.c",
1229 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-loadsplat-6x4.c",
Frank Barchard02bb4292020-12-15 18:25:32 -08001230 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-1x4-acc2.c",
1231 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-1x4-acc3.c",
1232 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-1x4-acc4.c",
1233 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-1x4.c",
1234 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-2x4-acc2.c",
1235 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-2x4.c",
1236 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-3x4.c",
1237 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-4x4.c",
1238 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-5x4.c",
1239 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-arm-splat-6x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001240 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-1x4-acc2.c",
1241 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-1x4-acc3.c",
1242 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-1x4-acc4.c",
1243 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-1x4.c",
1244 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-2x4-acc2.c",
1245 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-2x4.c",
1246 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-3x4.c",
1247 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-4x4.c",
1248 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-5x4.c",
1249 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-loadsplat-6x4.c",
Frank Barchard02bb4292020-12-15 18:25:32 -08001250 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-1x4-acc2.c",
1251 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-1x4-acc3.c",
1252 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-1x4-acc4.c",
1253 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-1x4.c",
1254 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-2x4-acc2.c",
1255 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-2x4.c",
1256 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-3x4.c",
1257 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-4x4.c",
1258 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-5x4.c",
1259 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-wasmsimd-x86-splat-6x4.c",
Frank Barchardc5704bf2020-12-21 23:09:00 -08001260 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-1x4-acc2.c",
1261 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-1x4-acc3.c",
1262 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-1x4-acc4.c",
1263 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-1x4.c",
1264 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-2x4-acc2.c",
1265 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-2x4.c",
1266 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-3x4.c",
1267 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-loadsplat-4x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001268 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-1x4-acc2.c",
1269 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-1x4-acc3.c",
1270 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-1x4-acc4.c",
1271 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-1x4.c",
1272 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-2x4-acc2.c",
1273 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-2x4.c",
1274 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-3x4.c",
1275 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-arm-splat-4x4.c",
Frank Barchardcadd4222021-01-20 16:27:25 -08001276 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-1x4-acc2.c",
1277 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-1x4-acc3.c",
1278 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-1x4-acc4.c",
1279 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-1x4.c",
1280 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-2x4-acc2.c",
1281 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-2x4.c",
1282 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-3x4.c",
1283 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-loadsplat-4x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001284 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-1x4-acc2.c",
1285 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-1x4-acc3.c",
1286 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-1x4-acc4.c",
1287 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-1x4.c",
1288 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-2x4-acc2.c",
1289 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-2x4.c",
1290 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-3x4.c",
1291 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-wasmsimd-x86-splat-4x4.c",
Frank Barchardb20dcd62020-12-15 16:46:14 -08001292 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-1x4-acc2.c",
1293 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-1x4-acc3.c",
1294 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-1x4-acc4.c",
1295 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-1x4-acc5.c",
1296 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-1x4.c",
1297 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-2x4-acc2.c",
1298 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-2x4-acc3.c",
1299 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-2x4.c",
1300 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-3x4-acc2.c",
1301 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-3x4.c",
1302 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-4x4-acc2.c",
1303 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-4x4.c",
1304 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-loadsplat-5x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001305 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-1x4-acc2.c",
1306 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-1x4-acc3.c",
1307 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-1x4-acc4.c",
1308 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-1x4-acc5.c",
1309 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-1x4.c",
1310 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-2x4-acc2.c",
1311 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-2x4-acc3.c",
1312 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-2x4.c",
1313 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-3x4-acc2.c",
1314 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-3x4.c",
1315 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-4x4-acc2.c",
1316 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-4x4.c",
1317 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-arm-splat-5x4.c",
Frank Barchardb20dcd62020-12-15 16:46:14 -08001318 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-1x4-acc2.c",
1319 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-1x4-acc3.c",
1320 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-1x4-acc4.c",
1321 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-1x4-acc5.c",
1322 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-1x4.c",
1323 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-2x4-acc2.c",
1324 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-2x4-acc3.c",
1325 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-2x4.c",
1326 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-3x4-acc2.c",
1327 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-3x4.c",
1328 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-4x4-acc2.c",
1329 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-4x4.c",
1330 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-loadsplat-5x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001331 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-1x4-acc2.c",
1332 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-1x4-acc3.c",
1333 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-1x4-acc4.c",
1334 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-1x4-acc5.c",
1335 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-1x4.c",
1336 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-2x4-acc2.c",
1337 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-2x4-acc3.c",
1338 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-2x4.c",
1339 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-3x4-acc2.c",
1340 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-3x4.c",
1341 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-4x4-acc2.c",
1342 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-4x4.c",
1343 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-wasmsimd-x86-splat-5x4.c",
Frank Barchardc6889b32020-12-21 11:27:22 -08001344 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-1x4-acc2.c",
1345 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-1x4-acc3.c",
1346 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-1x4-acc4.c",
1347 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-1x4-acc5.c",
1348 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-1x4.c",
1349 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-2x4-acc2.c",
1350 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-2x4-acc3.c",
1351 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-2x4.c",
1352 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-3x4-acc2.c",
1353 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-loadsplat-3x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001354 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-1x4-acc2.c",
1355 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-1x4-acc3.c",
1356 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-1x4-acc4.c",
1357 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-1x4-acc5.c",
1358 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-1x4.c",
1359 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-2x4-acc2.c",
1360 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-2x4-acc3.c",
1361 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-2x4.c",
1362 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-3x4-acc2.c",
1363 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-arm-splat-3x4.c",
Frank Barchardc6889b32020-12-21 11:27:22 -08001364 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-1x4-acc2.c",
1365 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-1x4-acc3.c",
1366 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-1x4-acc4.c",
1367 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-1x4-acc5.c",
1368 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-1x4.c",
1369 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-2x4-acc2.c",
1370 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-2x4-acc3.c",
1371 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-2x4.c",
1372 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-3x4-acc2.c",
1373 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-loadsplat-3x4.c",
Frank Barchard412e2f42020-12-11 11:40:50 -08001374 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-1x4-acc2.c",
1375 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-1x4-acc3.c",
1376 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-1x4-acc4.c",
1377 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-1x4-acc5.c",
1378 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-1x4.c",
1379 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-2x4-acc2.c",
1380 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-2x4-acc3.c",
1381 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-2x4.c",
1382 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-3x4-acc2.c",
1383 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-wasmsimd-x86-splat-3x4.c",
Marat Dukhan22e31c82021-11-09 00:00:28 -08001384 "src/f32-f16-vcvt/gen/vcvt-wasmsimd-x8.c",
1385 "src/f32-f16-vcvt/gen/vcvt-wasmsimd-x16.c",
1386 "src/f32-f16-vcvt/gen/vcvt-wasmsimd-x24.c",
1387 "src/f32-f16-vcvt/gen/vcvt-wasmsimd-x32.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001388 "src/f32-gavgpool-cw/wasmsimd-arm-x4.c",
1389 "src/f32-gavgpool-cw/wasmsimd-x86-x4.c",
Marat Dukhanc6016802020-07-16 18:51:28 -07001390 "src/f32-gavgpool/7p7x-minmax-wasmsimd-arm-c4.c",
1391 "src/f32-gavgpool/7p7x-minmax-wasmsimd-x86-c4.c",
1392 "src/f32-gavgpool/7x-minmax-wasmsimd-arm-c4.c",
1393 "src/f32-gavgpool/7x-minmax-wasmsimd-x86-c4.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001394 "src/f32-gemm/gen-inc/1x8inc-minmax-wasmsimd-arm-loadsplat.c",
1395 "src/f32-gemm/gen-inc/1x8inc-minmax-wasmsimd-arm-splat.c",
1396 "src/f32-gemm/gen-inc/1x8inc-minmax-wasmsimd-x86-loadsplat.c",
1397 "src/f32-gemm/gen-inc/1x8inc-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001398 "src/f32-gemm/gen-inc/1x8s4inc-minmax-wasmsimd-arm.c",
1399 "src/f32-gemm/gen-inc/1x8s4inc-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001400 "src/f32-gemm/gen-inc/3x8inc-minmax-wasmsimd-arm-loadsplat.c",
1401 "src/f32-gemm/gen-inc/3x8inc-minmax-wasmsimd-arm-splat.c",
1402 "src/f32-gemm/gen-inc/3x8inc-minmax-wasmsimd-x86-loadsplat.c",
1403 "src/f32-gemm/gen-inc/3x8inc-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001404 "src/f32-gemm/gen-inc/3x8s4inc-minmax-wasmsimd-arm.c",
1405 "src/f32-gemm/gen-inc/3x8s4inc-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001406 "src/f32-gemm/gen-inc/4x8inc-minmax-wasmsimd-arm-loadsplat.c",
1407 "src/f32-gemm/gen-inc/4x8inc-minmax-wasmsimd-arm-splat.c",
1408 "src/f32-gemm/gen-inc/4x8inc-minmax-wasmsimd-x86-loadsplat.c",
1409 "src/f32-gemm/gen-inc/4x8inc-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001410 "src/f32-gemm/gen-inc/4x8s4inc-minmax-wasmsimd-arm.c",
1411 "src/f32-gemm/gen-inc/4x8s4inc-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001412 "src/f32-gemm/gen-inc/5x8inc-minmax-wasmsimd-arm-loadsplat.c",
1413 "src/f32-gemm/gen-inc/5x8inc-minmax-wasmsimd-arm-splat.c",
1414 "src/f32-gemm/gen-inc/5x8inc-minmax-wasmsimd-x86-loadsplat.c",
1415 "src/f32-gemm/gen-inc/5x8inc-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001416 "src/f32-gemm/gen-inc/5x8s4inc-minmax-wasmsimd-arm.c",
1417 "src/f32-gemm/gen-inc/5x8s4inc-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001418 "src/f32-gemm/gen-inc/6x8inc-minmax-wasmsimd-arm-loadsplat.c",
1419 "src/f32-gemm/gen-inc/6x8inc-minmax-wasmsimd-arm-splat.c",
1420 "src/f32-gemm/gen-inc/6x8inc-minmax-wasmsimd-x86-loadsplat.c",
1421 "src/f32-gemm/gen-inc/6x8inc-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001422 "src/f32-gemm/gen-inc/6x8s4inc-minmax-wasmsimd-arm.c",
1423 "src/f32-gemm/gen-inc/6x8s4inc-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001424 "src/f32-gemm/gen/1x8-minmax-wasmsimd-arm-loadsplat.c",
1425 "src/f32-gemm/gen/1x8-minmax-wasmsimd-arm-splat.c",
1426 "src/f32-gemm/gen/1x8-minmax-wasmsimd-x86-loadsplat.c",
1427 "src/f32-gemm/gen/1x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001428 "src/f32-gemm/gen/1x8-relu-wasmsimd-splat.c",
1429 "src/f32-gemm/gen/1x8-wasmsimd-splat.c",
1430 "src/f32-gemm/gen/1x8s4-minmax-wasmsimd-arm.c",
1431 "src/f32-gemm/gen/1x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001432 "src/f32-gemm/gen/3x8-minmax-wasmsimd-arm-loadsplat.c",
1433 "src/f32-gemm/gen/3x8-minmax-wasmsimd-arm-splat.c",
1434 "src/f32-gemm/gen/3x8-minmax-wasmsimd-x86-loadsplat.c",
1435 "src/f32-gemm/gen/3x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001436 "src/f32-gemm/gen/3x8s4-minmax-wasmsimd-arm.c",
1437 "src/f32-gemm/gen/3x8s4-minmax-wasmsimd-x86.c",
1438 "src/f32-gemm/gen/4x2c4-minmax-wasmsimd-arm.c",
1439 "src/f32-gemm/gen/4x2c4-minmax-wasmsimd-x86.c",
1440 "src/f32-gemm/gen/4x2c4-relu-wasmsimd.c",
1441 "src/f32-gemm/gen/4x2c4-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001442 "src/f32-gemm/gen/4x8-minmax-wasmsimd-arm-loadsplat.c",
1443 "src/f32-gemm/gen/4x8-minmax-wasmsimd-arm-splat.c",
1444 "src/f32-gemm/gen/4x8-minmax-wasmsimd-x86-loadsplat.c",
1445 "src/f32-gemm/gen/4x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001446 "src/f32-gemm/gen/4x8-relu-wasmsimd-splat.c",
1447 "src/f32-gemm/gen/4x8-wasmsimd-splat.c",
1448 "src/f32-gemm/gen/4x8s4-minmax-wasmsimd-arm.c",
1449 "src/f32-gemm/gen/4x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001450 "src/f32-gemm/gen/5x8-minmax-wasmsimd-arm-loadsplat.c",
1451 "src/f32-gemm/gen/5x8-minmax-wasmsimd-arm-splat.c",
1452 "src/f32-gemm/gen/5x8-minmax-wasmsimd-x86-loadsplat.c",
1453 "src/f32-gemm/gen/5x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001454 "src/f32-gemm/gen/5x8-relu-wasmsimd-splat.c",
1455 "src/f32-gemm/gen/5x8-wasmsimd-splat.c",
1456 "src/f32-gemm/gen/5x8s4-minmax-wasmsimd-arm.c",
1457 "src/f32-gemm/gen/5x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001458 "src/f32-gemm/gen/6x8-minmax-wasmsimd-arm-loadsplat.c",
1459 "src/f32-gemm/gen/6x8-minmax-wasmsimd-arm-splat.c",
1460 "src/f32-gemm/gen/6x8-minmax-wasmsimd-x86-loadsplat.c",
1461 "src/f32-gemm/gen/6x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001462 "src/f32-gemm/gen/6x8s4-minmax-wasmsimd-arm.c",
1463 "src/f32-gemm/gen/6x8s4-minmax-wasmsimd-x86.c",
XNNPACK Team965272b2020-10-23 21:10:15 -07001464 "src/f32-ibilinear-chw/gen/wasmsimd-p4.c",
1465 "src/f32-ibilinear-chw/gen/wasmsimd-p8.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07001466 "src/f32-ibilinear/gen/wasmsimd-c4.c",
1467 "src/f32-ibilinear/gen/wasmsimd-c8.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001468 "src/f32-igemm/gen/1x8-minmax-wasmsimd-arm-loadsplat.c",
1469 "src/f32-igemm/gen/1x8-minmax-wasmsimd-arm-splat.c",
1470 "src/f32-igemm/gen/1x8-minmax-wasmsimd-x86-loadsplat.c",
1471 "src/f32-igemm/gen/1x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001472 "src/f32-igemm/gen/1x8-relu-wasmsimd-splat.c",
1473 "src/f32-igemm/gen/1x8-wasmsimd-splat.c",
1474 "src/f32-igemm/gen/1x8s4-minmax-wasmsimd-arm.c",
1475 "src/f32-igemm/gen/1x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001476 "src/f32-igemm/gen/3x8-minmax-wasmsimd-arm-loadsplat.c",
1477 "src/f32-igemm/gen/3x8-minmax-wasmsimd-arm-splat.c",
1478 "src/f32-igemm/gen/3x8-minmax-wasmsimd-x86-loadsplat.c",
1479 "src/f32-igemm/gen/3x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001480 "src/f32-igemm/gen/3x8s4-minmax-wasmsimd-arm.c",
1481 "src/f32-igemm/gen/3x8s4-minmax-wasmsimd-x86.c",
1482 "src/f32-igemm/gen/4x2c4-minmax-wasmsimd-arm.c",
1483 "src/f32-igemm/gen/4x2c4-minmax-wasmsimd-x86.c",
1484 "src/f32-igemm/gen/4x2c4-relu-wasmsimd.c",
1485 "src/f32-igemm/gen/4x2c4-wasmsimd.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001486 "src/f32-igemm/gen/4x8-minmax-wasmsimd-arm-loadsplat.c",
1487 "src/f32-igemm/gen/4x8-minmax-wasmsimd-arm-splat.c",
1488 "src/f32-igemm/gen/4x8-minmax-wasmsimd-x86-loadsplat.c",
1489 "src/f32-igemm/gen/4x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001490 "src/f32-igemm/gen/4x8-relu-wasmsimd-splat.c",
1491 "src/f32-igemm/gen/4x8-wasmsimd-splat.c",
1492 "src/f32-igemm/gen/4x8s4-minmax-wasmsimd-arm.c",
1493 "src/f32-igemm/gen/4x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001494 "src/f32-igemm/gen/5x8-minmax-wasmsimd-arm-loadsplat.c",
1495 "src/f32-igemm/gen/5x8-minmax-wasmsimd-arm-splat.c",
1496 "src/f32-igemm/gen/5x8-minmax-wasmsimd-x86-loadsplat.c",
1497 "src/f32-igemm/gen/5x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001498 "src/f32-igemm/gen/5x8-relu-wasmsimd-splat.c",
1499 "src/f32-igemm/gen/5x8-wasmsimd-splat.c",
1500 "src/f32-igemm/gen/5x8s4-minmax-wasmsimd-arm.c",
1501 "src/f32-igemm/gen/5x8s4-minmax-wasmsimd-x86.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001502 "src/f32-igemm/gen/6x8-minmax-wasmsimd-arm-loadsplat.c",
1503 "src/f32-igemm/gen/6x8-minmax-wasmsimd-arm-splat.c",
1504 "src/f32-igemm/gen/6x8-minmax-wasmsimd-x86-loadsplat.c",
1505 "src/f32-igemm/gen/6x8-minmax-wasmsimd-x86-splat.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001506 "src/f32-igemm/gen/6x8s4-minmax-wasmsimd-arm.c",
1507 "src/f32-igemm/gen/6x8s4-minmax-wasmsimd-x86.c",
Marat Dukhanf6e24802020-07-08 22:20:40 -07001508 "src/f32-maxpool/9p8x-minmax-wasmsimd-arm-c4.c",
1509 "src/f32-maxpool/9p8x-minmax-wasmsimd-x86-c4.c",
Marat Dukhan1483c532020-07-16 18:08:19 -07001510 "src/f32-pavgpool/9p8x-minmax-wasmsimd-arm-c4.c",
1511 "src/f32-pavgpool/9p8x-minmax-wasmsimd-x86-c4.c",
1512 "src/f32-pavgpool/9x-minmax-wasmsimd-arm-c4.c",
1513 "src/f32-pavgpool/9x-minmax-wasmsimd-x86-c4.c",
Frank Barchard0725b8d2020-12-07 11:07:35 -08001514 "src/f32-ppmm/gen/4x8-minmax-wasmsimd-arm-splat.c",
1515 "src/f32-ppmm/gen/4x8-minmax-wasmsimd-x86-splat.c",
Frank Barcharda5316982020-07-23 13:19:28 -07001516 "src/f32-prelu/gen/wasmsimd-bitselect-1x4.c",
1517 "src/f32-prelu/gen/wasmsimd-bitselect-1x8.c",
1518 "src/f32-prelu/gen/wasmsimd-bitselect-1x16.c",
Marat Dukhan195f8eb2020-06-25 12:50:57 -07001519 "src/f32-prelu/gen/wasmsimd-bitselect-2x4.c",
1520 "src/f32-prelu/gen/wasmsimd-bitselect-2x8.c",
Frank Barcharda5316982020-07-23 13:19:28 -07001521 "src/f32-prelu/gen/wasmsimd-bitselect-2x16.c",
1522 "src/f32-prelu/gen/wasmsimd-bitselect-4x4.c",
1523 "src/f32-prelu/gen/wasmsimd-bitselect-4x8.c",
1524 "src/f32-prelu/gen/wasmsimd-bitselect-4x16.c",
1525 "src/f32-prelu/gen/wasmsimd-minmax-1x4.c",
1526 "src/f32-prelu/gen/wasmsimd-minmax-1x8.c",
1527 "src/f32-prelu/gen/wasmsimd-minmax-1x16.c",
Marat Dukhan195f8eb2020-06-25 12:50:57 -07001528 "src/f32-prelu/gen/wasmsimd-minmax-2x4.c",
1529 "src/f32-prelu/gen/wasmsimd-minmax-2x8.c",
Frank Barcharda5316982020-07-23 13:19:28 -07001530 "src/f32-prelu/gen/wasmsimd-minmax-2x16.c",
1531 "src/f32-prelu/gen/wasmsimd-minmax-4x4.c",
1532 "src/f32-prelu/gen/wasmsimd-minmax-4x8.c",
1533 "src/f32-prelu/gen/wasmsimd-minmax-4x16.c",
Marat Dukhan4bd1de92021-12-02 14:00:33 -08001534 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-cvt-x8.c",
1535 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-cvt-x16.c",
1536 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-cvt-x24.c",
1537 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-cvt-x32.c",
Marat Dukhan98d55522021-12-02 11:03:53 -08001538 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-magic-x8.c",
1539 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-magic-x16.c",
1540 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-magic-x24.c",
1541 "src/f32-qs8-vcvt/gen/vcvt-wasmsimd-magic-x32.c",
Marat Dukhan4bd1de92021-12-02 14:00:33 -08001542 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-cvt-x8.c",
1543 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-cvt-x16.c",
1544 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-cvt-x24.c",
1545 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-cvt-x32.c",
Marat Dukhan98d55522021-12-02 11:03:53 -08001546 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-magic-x8.c",
1547 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-magic-x16.c",
1548 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-magic-x24.c",
1549 "src/f32-qu8-vcvt/gen/vcvt-wasmsimd-magic-x32.c",
Marat Dukhan52238f02020-07-16 15:30:28 -07001550 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x4.c",
Marat Dukhan52238f02020-07-16 15:30:28 -07001551 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x8-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001552 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x8.c",
Marat Dukhan52238f02020-07-16 15:30:28 -07001553 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x12-acc2.c",
1554 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x12-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001555 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x12.c",
Marat Dukhan52238f02020-07-16 15:30:28 -07001556 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x16-acc2.c",
1557 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x16-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001558 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x16.c",
Marat Dukhan52238f02020-07-16 15:30:28 -07001559 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x20-acc2.c",
1560 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x20-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001561 "src/f32-raddstoreexpminusmax/gen/wasmsimd-p5-x20.c",
Marat Dukhan8c417962020-07-08 12:27:50 -07001562 "src/f32-rmax/wasmsimd-arm.c",
1563 "src/f32-rmax/wasmsimd-x86.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001564 "src/f32-spmm/gen/4x1-minmax-wasmsimd-arm-pipelined-x2.c",
1565 "src/f32-spmm/gen/4x1-minmax-wasmsimd-arm-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001566 "src/f32-spmm/gen/4x1-minmax-wasmsimd-arm-x2.c",
1567 "src/f32-spmm/gen/4x1-minmax-wasmsimd-arm-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001568 "src/f32-spmm/gen/4x1-minmax-wasmsimd-arm.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001569 "src/f32-spmm/gen/4x1-minmax-wasmsimd-x86-pipelined-x2.c",
1570 "src/f32-spmm/gen/4x1-minmax-wasmsimd-x86-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001571 "src/f32-spmm/gen/4x1-minmax-wasmsimd-x86-x2.c",
1572 "src/f32-spmm/gen/4x1-minmax-wasmsimd-x86-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001573 "src/f32-spmm/gen/4x1-minmax-wasmsimd-x86.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001574 "src/f32-spmm/gen/8x1-minmax-wasmsimd-arm-pipelined-x2.c",
1575 "src/f32-spmm/gen/8x1-minmax-wasmsimd-arm-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001576 "src/f32-spmm/gen/8x1-minmax-wasmsimd-arm-x2.c",
1577 "src/f32-spmm/gen/8x1-minmax-wasmsimd-arm-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001578 "src/f32-spmm/gen/8x1-minmax-wasmsimd-arm.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001579 "src/f32-spmm/gen/8x1-minmax-wasmsimd-x86-pipelined-x2.c",
1580 "src/f32-spmm/gen/8x1-minmax-wasmsimd-x86-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001581 "src/f32-spmm/gen/8x1-minmax-wasmsimd-x86-x2.c",
1582 "src/f32-spmm/gen/8x1-minmax-wasmsimd-x86-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001583 "src/f32-spmm/gen/8x1-minmax-wasmsimd-x86.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001584 "src/f32-spmm/gen/16x1-minmax-wasmsimd-arm-pipelined-x2.c",
1585 "src/f32-spmm/gen/16x1-minmax-wasmsimd-arm-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001586 "src/f32-spmm/gen/16x1-minmax-wasmsimd-arm-x2.c",
1587 "src/f32-spmm/gen/16x1-minmax-wasmsimd-arm-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001588 "src/f32-spmm/gen/16x1-minmax-wasmsimd-arm.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001589 "src/f32-spmm/gen/16x1-minmax-wasmsimd-x86-pipelined-x2.c",
1590 "src/f32-spmm/gen/16x1-minmax-wasmsimd-x86-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001591 "src/f32-spmm/gen/16x1-minmax-wasmsimd-x86-x2.c",
1592 "src/f32-spmm/gen/16x1-minmax-wasmsimd-x86-x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001593 "src/f32-spmm/gen/16x1-minmax-wasmsimd-x86.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001594 "src/f32-spmm/gen/32x1-minmax-wasmsimd-arm-pipelined-x2.c",
1595 "src/f32-spmm/gen/32x1-minmax-wasmsimd-arm-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001596 "src/f32-spmm/gen/32x1-minmax-wasmsimd-arm-x2.c",
1597 "src/f32-spmm/gen/32x1-minmax-wasmsimd-arm-x4.c",
Frank Barchard846c0c62020-10-26 15:01:39 -07001598 "src/f32-spmm/gen/32x1-minmax-wasmsimd-arm.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08001599 "src/f32-spmm/gen/32x1-minmax-wasmsimd-x86-pipelined-x2.c",
1600 "src/f32-spmm/gen/32x1-minmax-wasmsimd-x86-pipelined.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07001601 "src/f32-spmm/gen/32x1-minmax-wasmsimd-x86-x2.c",
1602 "src/f32-spmm/gen/32x1-minmax-wasmsimd-x86-x4.c",
Frank Barchard846c0c62020-10-26 15:01:39 -07001603 "src/f32-spmm/gen/32x1-minmax-wasmsimd-x86.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001604 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x4.c",
1605 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001606 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001607 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x4.c",
1608 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001609 "src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001610 "src/f32-vbinary/gen/vadd-relu-wasmsimd-x4.c",
1611 "src/f32-vbinary/gen/vadd-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001612 "src/f32-vbinary/gen/vadd-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001613 "src/f32-vbinary/gen/vadd-wasmsimd-x4.c",
1614 "src/f32-vbinary/gen/vadd-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001615 "src/f32-vbinary/gen/vadd-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001616 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x4.c",
1617 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001618 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001619 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x4.c",
1620 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001621 "src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001622 "src/f32-vbinary/gen/vaddc-relu-wasmsimd-x4.c",
1623 "src/f32-vbinary/gen/vaddc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001624 "src/f32-vbinary/gen/vaddc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001625 "src/f32-vbinary/gen/vaddc-wasmsimd-x4.c",
1626 "src/f32-vbinary/gen/vaddc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001627 "src/f32-vbinary/gen/vaddc-wasmsimd-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001628 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x4.c",
1629 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001630 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001631 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x4.c",
1632 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001633 "src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001634 "src/f32-vbinary/gen/vdiv-relu-wasmsimd-x4.c",
1635 "src/f32-vbinary/gen/vdiv-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001636 "src/f32-vbinary/gen/vdiv-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001637 "src/f32-vbinary/gen/vdiv-wasmsimd-x4.c",
1638 "src/f32-vbinary/gen/vdiv-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001639 "src/f32-vbinary/gen/vdiv-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001640 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x4.c",
1641 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001642 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001643 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x4.c",
1644 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001645 "src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001646 "src/f32-vbinary/gen/vdivc-relu-wasmsimd-x4.c",
1647 "src/f32-vbinary/gen/vdivc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001648 "src/f32-vbinary/gen/vdivc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001649 "src/f32-vbinary/gen/vdivc-wasmsimd-x4.c",
1650 "src/f32-vbinary/gen/vdivc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001651 "src/f32-vbinary/gen/vdivc-wasmsimd-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001652 "src/f32-vbinary/gen/vmax-wasmsimd-arm-x4.c",
1653 "src/f32-vbinary/gen/vmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001654 "src/f32-vbinary/gen/vmax-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001655 "src/f32-vbinary/gen/vmax-wasmsimd-x86-x4.c",
1656 "src/f32-vbinary/gen/vmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001657 "src/f32-vbinary/gen/vmax-wasmsimd-x86-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001658 "src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x4.c",
1659 "src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001660 "src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001661 "src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x4.c",
1662 "src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001663 "src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001664 "src/f32-vbinary/gen/vmin-wasmsimd-arm-x4.c",
1665 "src/f32-vbinary/gen/vmin-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001666 "src/f32-vbinary/gen/vmin-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001667 "src/f32-vbinary/gen/vmin-wasmsimd-x86-x4.c",
1668 "src/f32-vbinary/gen/vmin-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001669 "src/f32-vbinary/gen/vmin-wasmsimd-x86-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001670 "src/f32-vbinary/gen/vminc-wasmsimd-arm-x4.c",
1671 "src/f32-vbinary/gen/vminc-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001672 "src/f32-vbinary/gen/vminc-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001673 "src/f32-vbinary/gen/vminc-wasmsimd-x86-x4.c",
1674 "src/f32-vbinary/gen/vminc-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001675 "src/f32-vbinary/gen/vminc-wasmsimd-x86-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001676 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x4.c",
1677 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001678 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001679 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x4.c",
1680 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001681 "src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001682 "src/f32-vbinary/gen/vmul-relu-wasmsimd-x4.c",
1683 "src/f32-vbinary/gen/vmul-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001684 "src/f32-vbinary/gen/vmul-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001685 "src/f32-vbinary/gen/vmul-wasmsimd-x4.c",
1686 "src/f32-vbinary/gen/vmul-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001687 "src/f32-vbinary/gen/vmul-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001688 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x4.c",
1689 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001690 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001691 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x4.c",
1692 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001693 "src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001694 "src/f32-vbinary/gen/vmulc-relu-wasmsimd-x4.c",
1695 "src/f32-vbinary/gen/vmulc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001696 "src/f32-vbinary/gen/vmulc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001697 "src/f32-vbinary/gen/vmulc-wasmsimd-x4.c",
1698 "src/f32-vbinary/gen/vmulc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001699 "src/f32-vbinary/gen/vmulc-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001700 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x4.c",
1701 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001702 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001703 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x4.c",
1704 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001705 "src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001706 "src/f32-vbinary/gen/vrdivc-relu-wasmsimd-x4.c",
1707 "src/f32-vbinary/gen/vrdivc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001708 "src/f32-vbinary/gen/vrdivc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001709 "src/f32-vbinary/gen/vrdivc-wasmsimd-x4.c",
1710 "src/f32-vbinary/gen/vrdivc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001711 "src/f32-vbinary/gen/vrdivc-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001712 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x4.c",
1713 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001714 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001715 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x4.c",
1716 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001717 "src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001718 "src/f32-vbinary/gen/vrsubc-relu-wasmsimd-x4.c",
1719 "src/f32-vbinary/gen/vrsubc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001720 "src/f32-vbinary/gen/vrsubc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001721 "src/f32-vbinary/gen/vrsubc-wasmsimd-x4.c",
1722 "src/f32-vbinary/gen/vrsubc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001723 "src/f32-vbinary/gen/vrsubc-wasmsimd-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001724 "src/f32-vbinary/gen/vsqrdiff-wasmsimd-x4.c",
1725 "src/f32-vbinary/gen/vsqrdiff-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001726 "src/f32-vbinary/gen/vsqrdiff-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001727 "src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x4.c",
1728 "src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001729 "src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001730 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x4.c",
1731 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001732 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x16.c",
Marat Dukhan93d1ba12020-06-26 12:33:35 -07001733 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x4.c",
1734 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001735 "src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001736 "src/f32-vbinary/gen/vsub-relu-wasmsimd-x4.c",
1737 "src/f32-vbinary/gen/vsub-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001738 "src/f32-vbinary/gen/vsub-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001739 "src/f32-vbinary/gen/vsub-wasmsimd-x4.c",
1740 "src/f32-vbinary/gen/vsub-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001741 "src/f32-vbinary/gen/vsub-wasmsimd-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001742 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x4.c",
1743 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001744 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x16.c",
Marat Dukhan0e97d6f2020-06-26 19:35:09 -07001745 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x4.c",
1746 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001747 "src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x16.c",
Frank Barchard674778d2020-08-08 10:17:25 -07001748 "src/f32-vbinary/gen/vsubc-relu-wasmsimd-x4.c",
1749 "src/f32-vbinary/gen/vsubc-relu-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001750 "src/f32-vbinary/gen/vsubc-relu-wasmsimd-x16.c",
Frank Barchardd5b9f1c2020-07-01 15:00:19 -07001751 "src/f32-vbinary/gen/vsubc-wasmsimd-x4.c",
1752 "src/f32-vbinary/gen/vsubc-wasmsimd-x8.c",
Frank Barchard9c7308f2020-08-31 17:03:01 -07001753 "src/f32-vbinary/gen/vsubc-wasmsimd-x16.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07001754 "src/f32-vclamp/gen/vclamp-wasmsimd-arm-x4.c",
1755 "src/f32-vclamp/gen/vclamp-wasmsimd-arm-x8.c",
1756 "src/f32-vclamp/gen/vclamp-wasmsimd-x86-x4.c",
1757 "src/f32-vclamp/gen/vclamp-wasmsimd-x86-x8.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08001758 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x4.c",
1759 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x8.c",
1760 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x12.c",
1761 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x16.c",
1762 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x20.c",
1763 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-lut16-p3-x24.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08001764 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x4.c",
1765 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x8.c",
1766 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x12.c",
1767 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x16.c",
1768 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x20.c",
1769 "src/f32-velu/gen/velu-wasmsimd-arm-rr2-p6-x24.c",
Frank Barcharde7223ee2020-12-04 19:04:01 -08001770 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x4.c",
1771 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x8.c",
1772 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x12.c",
1773 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x16.c",
1774 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x20.c",
1775 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-lut16-p3-x24.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08001776 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x4.c",
1777 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x8.c",
1778 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x12.c",
1779 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x16.c",
1780 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x20.c",
1781 "src/f32-velu/gen/velu-wasmsimd-x86-rr2-p6-x24.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07001782 "src/f32-vhswish/gen/vhswish-wasmsimd-x4.c",
1783 "src/f32-vhswish/gen/vhswish-wasmsimd-x8.c",
1784 "src/f32-vhswish/gen/vhswish-wasmsimd-x16.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07001785 "src/f32-vlrelu/gen/vlrelu-wasmsimd-bitselect-x4.c",
1786 "src/f32-vlrelu/gen/vlrelu-wasmsimd-bitselect-x8.c",
1787 "src/f32-vlrelu/gen/vlrelu-wasmsimd-minmax-x4.c",
1788 "src/f32-vlrelu/gen/vlrelu-wasmsimd-minmax-x8.c",
Marat Dukhand816f622020-07-15 10:14:39 -07001789 "src/f32-vmulcaddc/gen/c4-minmax-wasmsimd-arm-2x.c",
Marat Dukhand816f622020-07-15 10:14:39 -07001790 "src/f32-vmulcaddc/gen/c4-minmax-wasmsimd-x86-2x.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001791 "src/f32-vmulcaddc/gen/c8-minmax-wasmsimd-arm-2x.c",
Marat Dukhand816f622020-07-15 10:14:39 -07001792 "src/f32-vmulcaddc/gen/c8-minmax-wasmsimd-x86-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07001793 "src/f32-vrelu/gen/vrelu-wasmsimd-x4.c",
1794 "src/f32-vrelu/gen/vrelu-wasmsimd-x8.c",
1795 "src/f32-vrelu/gen/vrelu-wasmsimd-x16.c",
Marat Dukhanfeee77f2021-08-31 13:39:50 -07001796 "src/f32-vrnd/gen/vrndd-wasmsimd-addsub-x4.c",
1797 "src/f32-vrnd/gen/vrndd-wasmsimd-addsub-x8.c",
1798 "src/f32-vrnd/gen/vrndd-wasmsimd-cvt-x4.c",
1799 "src/f32-vrnd/gen/vrndd-wasmsimd-cvt-x8.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001800 "src/f32-vrnd/gen/vrndd-wasmsimd-native-x4.c",
1801 "src/f32-vrnd/gen/vrndd-wasmsimd-native-x8.c",
Marat Dukhanfeee77f2021-08-31 13:39:50 -07001802 "src/f32-vrnd/gen/vrndne-wasmsimd-addsub-x4.c",
1803 "src/f32-vrnd/gen/vrndne-wasmsimd-addsub-x8.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001804 "src/f32-vrnd/gen/vrndne-wasmsimd-native-x4.c",
1805 "src/f32-vrnd/gen/vrndne-wasmsimd-native-x8.c",
Marat Dukhanfeee77f2021-08-31 13:39:50 -07001806 "src/f32-vrnd/gen/vrndu-wasmsimd-addsub-x4.c",
1807 "src/f32-vrnd/gen/vrndu-wasmsimd-addsub-x8.c",
1808 "src/f32-vrnd/gen/vrndu-wasmsimd-cvt-x4.c",
1809 "src/f32-vrnd/gen/vrndu-wasmsimd-cvt-x8.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001810 "src/f32-vrnd/gen/vrndu-wasmsimd-native-x4.c",
1811 "src/f32-vrnd/gen/vrndu-wasmsimd-native-x8.c",
Marat Dukhanfeee77f2021-08-31 13:39:50 -07001812 "src/f32-vrnd/gen/vrndz-wasmsimd-addsub-x4.c",
1813 "src/f32-vrnd/gen/vrndz-wasmsimd-addsub-x8.c",
1814 "src/f32-vrnd/gen/vrndz-wasmsimd-cvt-x4.c",
1815 "src/f32-vrnd/gen/vrndz-wasmsimd-cvt-x8.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001816 "src/f32-vrnd/gen/vrndz-wasmsimd-native-x4.c",
1817 "src/f32-vrnd/gen/vrndz-wasmsimd-native-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07001818 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x4.c",
1819 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x8.c",
1820 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x12.c",
1821 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x16.c",
1822 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x20.c",
1823 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-lut64-p2-div-x24.c",
1824 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x4.c",
1825 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x8.c",
1826 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x12.c",
1827 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x16.c",
1828 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x20.c",
1829 "src/f32-vsigmoid/gen/vsigmoid-wasmsimd-p5-div-x24.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07001830 "src/f32-vsqrt/gen/wasmsimd-sqrt-x4.c",
1831 "src/f32-vsqrt/gen/wasmsimd-sqrt-x8.c",
Marat Dukhan37c83512020-06-29 13:25:53 -07001832 "src/f32-vunary/gen/vabs-wasmsimd-x4.c",
1833 "src/f32-vunary/gen/vabs-wasmsimd-x8.c",
1834 "src/f32-vunary/gen/vneg-wasmsimd-x4.c",
1835 "src/f32-vunary/gen/vneg-wasmsimd-x8.c",
1836 "src/f32-vunary/gen/vsqr-wasmsimd-x4.c",
1837 "src/f32-vunary/gen/vsqr-wasmsimd-x8.c",
Marat Dukhana18926a2021-09-29 15:02:44 -07001838 "src/math/cvt-f16-f32-wasmsimd-int16.c",
1839 "src/math/cvt-f16-f32-wasmsimd-int32.c",
Marat Dukhan79c78b22021-11-08 20:44:27 -08001840 "src/math/cvt-f32-f16-wasmsimd.c",
Marat Dukhande390d42020-11-29 19:32:18 -08001841 "src/math/expm1minus-wasmsimd-rr2-lut16-p3-andnot.c",
1842 "src/math/expm1minus-wasmsimd-rr2-lut16-p3-max.c",
1843 "src/math/expm1minus-wasmsimd-rr2-p6-andnot.c",
1844 "src/math/expm1minus-wasmsimd-rr2-p6-max.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001845 "src/math/roundd-wasmsimd-addsub.c",
1846 "src/math/roundd-wasmsimd-cvt.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001847 "src/math/roundd-wasmsimd-native.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001848 "src/math/roundne-wasmsimd-addsub.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001849 "src/math/roundne-wasmsimd-native.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001850 "src/math/roundu-wasmsimd-addsub.c",
1851 "src/math/roundu-wasmsimd-cvt.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001852 "src/math/roundu-wasmsimd-native.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001853 "src/math/roundz-wasmsimd-addsub.c",
1854 "src/math/roundz-wasmsimd-cvt.c",
Marat Dukhan33b4f752021-09-03 10:53:53 -07001855 "src/math/roundz-wasmsimd-native.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001856 "src/math/sigmoid-wasmsimd-rr2-lut64-p2-div.c",
1857 "src/math/sigmoid-wasmsimd-rr2-p5-div.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001858 "src/qc8-dwconv/gen/up8x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001859 "src/qc8-dwconv/gen/up8x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001860 "src/qc8-dwconv/gen/up8x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001861 "src/qc8-dwconv/gen/up8x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001862 "src/qc8-dwconv/gen/up16x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001863 "src/qc8-dwconv/gen/up16x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001864 "src/qc8-dwconv/gen/up16x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001865 "src/qc8-dwconv/gen/up16x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001866 "src/qc8-dwconv/gen/up24x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001867 "src/qc8-dwconv/gen/up24x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001868 "src/qc8-dwconv/gen/up24x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001869 "src/qc8-dwconv/gen/up24x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001870 "src/qc8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1871 "src/qc8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1872 "src/qc8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1873 "src/qc8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001874 "src/qc8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1875 "src/qc8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001876 "src/qc8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1877 "src/qc8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1878 "src/qc8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1879 "src/qc8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001880 "src/qc8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1881 "src/qc8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001882 "src/qc8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1883 "src/qc8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1884 "src/qc8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1885 "src/qc8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001886 "src/qc8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1887 "src/qc8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001888 "src/qc8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1889 "src/qc8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1890 "src/qc8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1891 "src/qc8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1892 "src/qc8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1893 "src/qc8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1894 "src/qc8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1895 "src/qc8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001896 "src/qc8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1897 "src/qc8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001898 "src/qc8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1899 "src/qc8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1900 "src/qc8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1901 "src/qc8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001902 "src/qc8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1903 "src/qc8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001904 "src/qc8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1905 "src/qc8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1906 "src/qc8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1907 "src/qc8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001908 "src/qc8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1909 "src/qc8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001910 "src/qc8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1911 "src/qc8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1912 "src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1913 "src/qc8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001914 "src/qs8-dwconv/gen/up8x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001915 "src/qs8-dwconv/gen/up8x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001916 "src/qs8-dwconv/gen/up8x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001917 "src/qs8-dwconv/gen/up8x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001918 "src/qs8-dwconv/gen/up16x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001919 "src/qs8-dwconv/gen/up16x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001920 "src/qs8-dwconv/gen/up16x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001921 "src/qs8-dwconv/gen/up16x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001922 "src/qs8-dwconv/gen/up24x9-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001923 "src/qs8-dwconv/gen/up24x9-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan9cedb592021-08-17 17:25:24 -07001924 "src/qs8-dwconv/gen/up24x25-minmax-fp32-wasmsimd-mul16-add16.c",
Frank Barchard0049e892021-08-22 09:37:21 -07001925 "src/qs8-dwconv/gen/up24x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhanb5e3d172020-08-06 13:29:53 -07001926 "src/qs8-gavgpool/gen/7p7x-minmax-wasmsimd-c8-acc2.c",
1927 "src/qs8-gavgpool/gen/7p7x-minmax-wasmsimd-c16-acc2.c",
1928 "src/qs8-gavgpool/gen/7p7x-minmax-wasmsimd-c24-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07001929 "src/qs8-gavgpool/gen/7x-minmax-wasmsimd-c8-acc2.c",
1930 "src/qs8-gavgpool/gen/7x-minmax-wasmsimd-c16-acc2.c",
1931 "src/qs8-gavgpool/gen/7x-minmax-wasmsimd-c24-acc2.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001932 "src/qs8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1933 "src/qs8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Frank Barcharda49e41f2021-08-31 20:30:24 -07001934 "src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001935 "src/qs8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1936 "src/qs8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001937 "src/qs8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1938 "src/qs8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001939 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001940 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001941 "src/qs8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1942 "src/qs8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Frank Barcharda49e41f2021-08-31 20:30:24 -07001943 "src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001944 "src/qs8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1945 "src/qs8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001946 "src/qs8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1947 "src/qs8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001948 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001949 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001950 "src/qs8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1951 "src/qs8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Frank Barcharda49e41f2021-08-31 20:30:24 -07001952 "src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001953 "src/qs8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1954 "src/qs8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001955 "src/qs8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1956 "src/qs8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001957 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001958 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001959 "src/qs8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1960 "src/qs8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Frank Barcharda49e41f2021-08-31 20:30:24 -07001961 "src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-wasmsimd-dot16x2.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001962 "src/qs8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1963 "src/qs8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001964 "src/qs8-gemm/gen/4x4c8-xw-minmax-fp32-wasmsimd-dot16x2.c",
1965 "src/qs8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1966 "src/qs8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1967 "src/qs8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1968 "src/qs8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001969 "src/qs8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1970 "src/qs8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001971 "src/qs8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1972 "src/qs8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1973 "src/qs8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1974 "src/qs8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001975 "src/qs8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1976 "src/qs8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001977 "src/qs8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1978 "src/qs8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1979 "src/qs8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1980 "src/qs8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07001981 "src/qs8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld64.c",
1982 "src/qs8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul16-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07001983 "src/qs8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1984 "src/qs8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
1985 "src/qs8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
1986 "src/qs8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhan2e23d2b2020-07-29 16:01:37 -07001987 "src/qs8-requantization/fp32-wasmsimd.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07001988 "src/qs8-requantization/gemmlowp-wasmsimd.c",
Marat Dukhan5df27f82020-09-02 23:59:21 -07001989 "src/qs8-vadd/gen/minmax-wasmsimd-x8.c",
1990 "src/qs8-vadd/gen/minmax-wasmsimd-x16.c",
1991 "src/qs8-vadd/gen/minmax-wasmsimd-x24.c",
1992 "src/qs8-vadd/gen/minmax-wasmsimd-x32.c",
1993 "src/qs8-vaddc/gen/minmax-wasmsimd-x8.c",
1994 "src/qs8-vaddc/gen/minmax-wasmsimd-x16.c",
1995 "src/qs8-vaddc/gen/minmax-wasmsimd-x24.c",
1996 "src/qs8-vaddc/gen/minmax-wasmsimd-x32.c",
Marat Dukhan661ea6d2021-08-02 11:25:41 -07001997 "src/qs8-vmul/gen/minmax-fp32-wasmsimd-mul32-ld64-x8.c",
1998 "src/qs8-vmul/gen/minmax-fp32-wasmsimd-mul32-ld64-x16.c",
1999 "src/qs8-vmulc/gen/minmax-fp32-wasmsimd-mul32-ld64-x8.c",
2000 "src/qs8-vmulc/gen/minmax-fp32-wasmsimd-mul32-ld64-x16.c",
Marat Dukhanf6011352021-07-15 15:11:14 -07002001 "src/qu8-dwconv/gen/up8x9-minmax-fp32-wasmsimd-mul16.c",
2002 "src/qu8-dwconv/gen/up8x25-minmax-fp32-wasmsimd-mul16.c",
2003 "src/qu8-dwconv/gen/up16x9-minmax-fp32-wasmsimd-mul16.c",
2004 "src/qu8-dwconv/gen/up16x25-minmax-fp32-wasmsimd-mul16.c",
2005 "src/qu8-dwconv/gen/up24x9-minmax-fp32-wasmsimd-mul16.c",
2006 "src/qu8-dwconv/gen/up24x25-minmax-fp32-wasmsimd-mul16.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002007 "src/qu8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2008 "src/qu8-gemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2009 "src/qu8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2010 "src/qu8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002011 "src/qu8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2012 "src/qu8-gemm/gen/1x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002013 "src/qu8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2014 "src/qu8-gemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2015 "src/qu8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2016 "src/qu8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002017 "src/qu8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2018 "src/qu8-gemm/gen/2x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002019 "src/qu8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2020 "src/qu8-gemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2021 "src/qu8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2022 "src/qu8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002023 "src/qu8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2024 "src/qu8-gemm/gen/3x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002025 "src/qu8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2026 "src/qu8-gemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2027 "src/qu8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2028 "src/qu8-gemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2029 "src/qu8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2030 "src/qu8-igemm/gen/1x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2031 "src/qu8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2032 "src/qu8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002033 "src/qu8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2034 "src/qu8-igemm/gen/1x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002035 "src/qu8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2036 "src/qu8-igemm/gen/2x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2037 "src/qu8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2038 "src/qu8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002039 "src/qu8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2040 "src/qu8-igemm/gen/2x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002041 "src/qu8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2042 "src/qu8-igemm/gen/3x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2043 "src/qu8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2044 "src/qu8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhandfc2db02021-08-08 21:19:07 -07002045 "src/qu8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul32-ld64.c",
2046 "src/qu8-igemm/gen/3x4c8-minmax-fp32-wasmsimd-mul32-ld128.c",
Marat Dukhan8dc106e2021-08-31 15:23:02 -07002047 "src/qu8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2048 "src/qu8-igemm/gen/4x4c2-minmax-fp32-wasmsimd-dot16x2-ld128.c",
2049 "src/qu8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld64.c",
2050 "src/qu8-igemm/gen/4x4c8-minmax-fp32-wasmsimd-dot16x2-ld128.c",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07002051 "src/qu8-requantization/fp32-wasmsimd.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07002052 "src/qu8-requantization/gemmlowp-wasmsimd.c",
Marat Dukhan76e78c82021-07-20 21:11:23 -07002053 "src/qu8-vadd/gen/minmax-wasmsimd-x8.c",
2054 "src/qu8-vadd/gen/minmax-wasmsimd-x16.c",
2055 "src/qu8-vaddc/gen/minmax-wasmsimd-x8.c",
2056 "src/qu8-vaddc/gen/minmax-wasmsimd-x16.c",
Marat Dukhan661ea6d2021-08-02 11:25:41 -07002057 "src/qu8-vmul/gen/minmax-fp32-wasmsimd-mul32-ld64-x8.c",
2058 "src/qu8-vmul/gen/minmax-fp32-wasmsimd-mul32-ld64-x16.c",
2059 "src/qu8-vmulc/gen/minmax-fp32-wasmsimd-mul32-ld64-x8.c",
2060 "src/qu8-vmulc/gen/minmax-fp32-wasmsimd-mul32-ld64-x16.c",
Marat Dukhan266a47b2021-11-24 13:58:12 -08002061 "src/s8-ibilinear/gen/wasmsimd-dot16x2-c8.c",
2062 "src/s8-ibilinear/gen/wasmsimd-dot16x2-c16.c",
2063 "src/s8-ibilinear/gen/wasmsimd-mul32-c8.c",
2064 "src/s8-ibilinear/gen/wasmsimd-mul32-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07002065 "src/s8-maxpool/9p8x-minmax-wasmsimd-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07002066 "src/s8-vclamp/wasmsimd-x64.c",
Marat Dukhan266a47b2021-11-24 13:58:12 -08002067 "src/u8-ibilinear/gen/wasmsimd-dot16x2-c8.c",
2068 "src/u8-ibilinear/gen/wasmsimd-dot16x2-c16.c",
2069 "src/u8-ibilinear/gen/wasmsimd-mul32-c8.c",
2070 "src/u8-ibilinear/gen/wasmsimd-mul32-c16.c",
Marat Dukhanf1589422021-08-15 20:37:06 -07002071 "src/u8-maxpool/9p8x-minmax-wasmsimd-c16.c",
Marat Dukhan1f5b1082021-08-16 17:01:44 -07002072 "src/u8-vclamp/wasmsimd-x64.c",
Marat Dukhana4ad9882021-09-18 08:06:04 -07002073 "src/x8-lut/gen/lut-wasmsimd-x16.c",
2074 "src/x8-lut/gen/lut-wasmsimd-x32.c",
2075 "src/x8-lut/gen/lut-wasmsimd-x48.c",
2076 "src/x8-lut/gen/lut-wasmsimd-x64.c",
Marat Dukhan66d99e92020-07-16 12:56:21 -07002077 "src/x32-packx/x4-wasmsimd.c",
Marat Dukhan9d4bfa22020-07-16 19:07:04 -07002078 "src/x32-unpool/wasmsimd.c",
Marat Dukhane3b78762020-07-16 20:02:58 -07002079 "src/x32-zip/x2-wasmsimd.c",
2080 "src/x32-zip/x3-wasmsimd.c",
2081 "src/x32-zip/x4-wasmsimd.c",
2082 "src/x32-zip/xm-wasmsimd.c",
Marat Dukhan933051b2021-08-07 16:26:15 -07002083 "src/xx-fill/wasmsimd-x64.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -07002084 "src/xx-pad/wasmsimd.c",
Marat Dukhan290055c2020-06-09 12:24:29 -07002085]
2086
Marat Dukhan08c4a432019-10-03 09:29:21 -07002087# ISA-specific micro-kernels
Marat Dukhan2c724952021-07-27 18:46:30 -07002088PROD_NEON_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07002089 "src/f16-f32-vcvt/gen/vcvt-neon-int16-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002090 "src/f32-argmaxpool/4x-neon-c4.c",
2091 "src/f32-argmaxpool/9p8x-neon-c4.c",
2092 "src/f32-argmaxpool/9x-neon-c4.c",
2093 "src/f32-avgpool/9p8x-minmax-neon-c4.c",
2094 "src/f32-avgpool/9x-minmax-neon-c4.c",
2095 "src/f32-conv-hwc2chw/3x3s2p1c3x4-neon-2x2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07002096 "src/f32-dwconv/gen/up8x3-minmax-neon.c",
Frank Barcharddbe781b2021-10-18 10:29:52 -07002097 "src/f32-dwconv/gen/up8x4-minmax-neon.c",
2098 "src/f32-dwconv/gen/up8x9-minmax-neon.c",
2099 "src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002100 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c",
2101 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c",
2102 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c",
2103 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08002104 "src/f32-f16-vcvt/gen/vcvt-neon-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002105 "src/f32-gavgpool-cw/neon-x4.c",
2106 "src/f32-gavgpool/7p7x-minmax-neon-c4.c",
2107 "src/f32-gavgpool/7x-minmax-neon-c4.c",
2108 "src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c",
2109 "src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c",
2110 "src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c",
2111 "src/f32-ibilinear-chw/gen/neon-p8.c",
2112 "src/f32-ibilinear/gen/neon-c8.c",
2113 "src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c",
2114 "src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c",
2115 "src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c",
2116 "src/f32-maxpool/9p8x-minmax-neon-c4.c",
2117 "src/f32-pavgpool/9p8x-minmax-neon-c4.c",
2118 "src/f32-pavgpool/9x-minmax-neon-c4.c",
2119 "src/f32-prelu/gen/neon-2x8.c",
2120 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8.c",
2121 "src/f32-rmax/neon.c",
2122 "src/f32-spmm/gen/32x1-minmax-neon.c",
2123 "src/f32-vbinary/gen/vadd-minmax-neon-x8.c",
2124 "src/f32-vbinary/gen/vaddc-minmax-neon-x8.c",
2125 "src/f32-vbinary/gen/vmax-neon-x8.c",
2126 "src/f32-vbinary/gen/vmaxc-neon-x8.c",
2127 "src/f32-vbinary/gen/vmin-neon-x8.c",
2128 "src/f32-vbinary/gen/vminc-neon-x8.c",
2129 "src/f32-vbinary/gen/vmul-minmax-neon-x8.c",
2130 "src/f32-vbinary/gen/vmulc-minmax-neon-x8.c",
2131 "src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c",
2132 "src/f32-vbinary/gen/vsqrdiff-neon-x8.c",
2133 "src/f32-vbinary/gen/vsqrdiffc-neon-x8.c",
2134 "src/f32-vbinary/gen/vsub-minmax-neon-x8.c",
2135 "src/f32-vbinary/gen/vsubc-minmax-neon-x8.c",
2136 "src/f32-vclamp/gen/vclamp-neon-x8.c",
2137 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x8.c",
2138 "src/f32-vhswish/gen/vhswish-neon-x16.c",
2139 "src/f32-vlrelu/gen/vlrelu-neon-x8.c",
2140 "src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c",
2141 "src/f32-vrnd/gen/vrndd-neon-x8.c",
2142 "src/f32-vrnd/gen/vrndne-neon-x8.c",
2143 "src/f32-vrnd/gen/vrndu-neon-x8.c",
2144 "src/f32-vrnd/gen/vrndz-neon-x8.c",
2145 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x8.c",
2146 "src/f32-vunary/gen/vabs-neon-x8.c",
2147 "src/f32-vunary/gen/vneg-neon-x8.c",
2148 "src/f32-vunary/gen/vsqr-neon-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002149 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mla8-ld64.c",
Frank Barchard7da8b022021-08-31 09:49:10 -07002150 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld64.c",
2151 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld64.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002152 "src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2153 "src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
2154 "src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2155 "src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002156 "src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mla8-ld64.c",
Frank Barchard7da8b022021-08-31 09:49:10 -07002157 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld64.c",
2158 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld64.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002159 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c8-acc2.c",
2160 "src/qs8-gavgpool/gen/7x-minmax-neon-c8-acc2.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002161 "src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002162 "src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002163 "src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c",
2164 "src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002165 "src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002166 "src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c",
Marat Dukhan01debd92021-07-29 18:14:21 -07002167 "src/qs8-vadd/gen/minmax-neon-ld64-x16.c",
2168 "src/qs8-vadd/gen/minmax-neon-ld64-x32.c",
2169 "src/qs8-vaddc/gen/minmax-neon-ld64-x16.c",
2170 "src/qs8-vaddc/gen/minmax-neon-ld64-x32.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07002171 "src/qs8-vmul/gen/minmax-fp32-neon-ld64-x16.c",
2172 "src/qs8-vmulc/gen/minmax-fp32-neon-ld64-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002173 "src/qu8-avgpool/9p8x-minmax-neon-c8.c",
2174 "src/qu8-avgpool/9x-minmax-neon-c8.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07002175 "src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8.c",
2176 "src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002177 "src/qu8-gavgpool/7p7x-minmax-neon-c8.c",
2178 "src/qu8-gavgpool/7x-minmax-neon-c8.c",
2179 "src/qu8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
2180 "src/qu8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
2181 "src/qu8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
2182 "src/qu8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
2183 "src/qu8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
2184 "src/qu8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
2185 "src/qu8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
2186 "src/qu8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard0a3093c2021-08-31 09:58:11 -07002187 "src/qu8-vadd/gen/minmax-neon-ld64-x16.c",
2188 "src/qu8-vadd/gen/minmax-neon-ld64-x32.c",
2189 "src/qu8-vaddc/gen/minmax-neon-ld64-x16.c",
2190 "src/qu8-vaddc/gen/minmax-neon-ld64-x32.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07002191 "src/qu8-vmul/gen/minmax-fp32-neon-ld64-x16.c",
2192 "src/qu8-vmulc/gen/minmax-fp32-neon-ld64-x16.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08002193 "src/s8-ibilinear/gen/neon-c8.c",
2194 "src/s8-ibilinear/gen/neon-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07002195 "src/s8-maxpool/9p8x-minmax-neon-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07002196 "src/s8-vclamp/neon-x64.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08002197 "src/u8-ibilinear/gen/neon-c8.c",
2198 "src/u8-ibilinear/gen/neon-c16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002199 "src/u8-maxpool/9p8x-minmax-neon-c16.c",
2200 "src/u8-rmax/neon.c",
2201 "src/u8-vclamp/neon-x64.c",
2202 "src/x8-zip/x2-neon.c",
2203 "src/x8-zip/x3-neon.c",
2204 "src/x8-zip/x4-neon.c",
2205 "src/x8-zip/xm-neon.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002206 "src/x32-packx/x4-neon-st4.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002207 "src/x32-unpool/neon.c",
2208 "src/x32-zip/x2-neon.c",
2209 "src/x32-zip/x3-neon.c",
2210 "src/x32-zip/x4-neon.c",
2211 "src/x32-zip/xm-neon.c",
Marat Dukhan933051b2021-08-07 16:26:15 -07002212 "src/xx-fill/neon-x64.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -07002213 "src/xx-pad/neon.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07002214]
2215
2216ALL_NEON_MICROKERNEL_SRCS = [
Marat Dukhan322ed6f2021-10-16 17:44:16 -07002217 "src/f16-f32-vcvt/gen/vcvt-neon-int16-x8.c",
2218 "src/f16-f32-vcvt/gen/vcvt-neon-int16-x16.c",
2219 "src/f16-f32-vcvt/gen/vcvt-neon-int16-x24.c",
2220 "src/f16-f32-vcvt/gen/vcvt-neon-int16-x32.c",
2221 "src/f16-f32-vcvt/gen/vcvt-neon-int32-x8.c",
2222 "src/f16-f32-vcvt/gen/vcvt-neon-int32-x16.c",
2223 "src/f16-f32-vcvt/gen/vcvt-neon-int32-x24.c",
2224 "src/f16-f32-vcvt/gen/vcvt-neon-int32-x32.c",
Marat Dukhanef25c6d2020-07-24 00:59:40 -07002225 "src/f32-argmaxpool/4x-neon-c4.c",
2226 "src/f32-argmaxpool/9p8x-neon-c4.c",
2227 "src/f32-argmaxpool/9x-neon-c4.c",
Marat Dukhan99936602020-04-11 16:47:01 -07002228 "src/f32-avgpool/9p8x-minmax-neon-c4.c",
2229 "src/f32-avgpool/9x-minmax-neon-c4.c",
Marat Dukhan56b10cd2020-05-18 09:35:49 -07002230 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07002231 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002232 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07002233 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x2.c",
Marat Dukhan56b10cd2020-05-18 09:35:49 -07002234 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07002235 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002236 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07002237 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x2.c",
Marat Dukhanc7634882020-12-07 15:11:12 -08002238 "src/f32-conv-hwc2chw/3x3s2p1c3x4-neon-2x2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07002239 "src/f32-dwconv/gen/up4x3-minmax-neon-acc2.c",
2240 "src/f32-dwconv/gen/up4x3-minmax-neon.c",
Marat Dukhanf5425ea2020-04-24 01:46:00 -07002241 "src/f32-dwconv/gen/up4x4-minmax-neon-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002242 "src/f32-dwconv/gen/up4x4-minmax-neon.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002243 "src/f32-dwconv/gen/up4x9-minmax-neon-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002244 "src/f32-dwconv/gen/up4x9-minmax-neon.c",
Marat Dukhanf5425ea2020-04-24 01:46:00 -07002245 "src/f32-dwconv/gen/up4x25-minmax-neon-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002246 "src/f32-dwconv/gen/up4x25-minmax-neon.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07002247 "src/f32-dwconv/gen/up8x3-minmax-neon-acc2.c",
2248 "src/f32-dwconv/gen/up8x3-minmax-neon.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002249 "src/f32-dwconv/gen/up8x4-minmax-neon-acc2.c",
2250 "src/f32-dwconv/gen/up8x4-minmax-neon.c",
2251 "src/f32-dwconv/gen/up8x9-minmax-neon-acc2.c",
2252 "src/f32-dwconv/gen/up8x9-minmax-neon.c",
Marat Dukhanf5425ea2020-04-24 01:46:00 -07002253 "src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002254 "src/f32-dwconv/gen/up8x25-minmax-neon.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002255 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc2.c",
2256 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc3.c",
2257 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc4.c",
Marat Dukhanc581e482020-10-24 01:28:11 -07002258 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002259 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4-acc2.c",
Marat Dukhanc581e482020-10-24 01:28:11 -07002260 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c",
2261 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-3x4.c",
2262 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-4x4.c",
2263 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-5x4.c",
2264 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-6x4.c",
Marat Dukhan82f0c322020-10-25 19:17:35 -07002265 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc2.c",
2266 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc3.c",
2267 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002268 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c",
Marat Dukhan82f0c322020-10-25 19:17:35 -07002269 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002270 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4.c",
2271 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-3x4.c",
2272 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-4x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07002273 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc2.c",
2274 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc3.c",
2275 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc4.c",
2276 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc5.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002277 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07002278 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc2.c",
2279 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc3.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002280 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07002281 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002282 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07002283 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07002284 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4.c",
2285 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-5x4.c",
Marat Dukhan30d4b252020-10-29 16:33:22 -07002286 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc2.c",
2287 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc3.c",
2288 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc4.c",
2289 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc5.c",
2290 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c",
2291 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc2.c",
2292 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc3.c",
2293 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4.c",
Marat Dukhan30d4b252020-10-29 16:33:22 -07002294 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4-acc2.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07002295 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4.c",
Marat Dukhan4edfdbf2021-11-09 13:47:11 -08002296 "src/f32-f16-vcvt/gen/vcvt-neon-x8.c",
2297 "src/f32-f16-vcvt/gen/vcvt-neon-x16.c",
2298 "src/f32-f16-vcvt/gen/vcvt-neon-x24.c",
2299 "src/f32-f16-vcvt/gen/vcvt-neon-x32.c",
Marat Dukhan1f29b802020-05-15 23:46:39 -07002300 "src/f32-gavgpool-cw/neon-x4.c",
Marat Dukhan99936602020-04-11 16:47:01 -07002301 "src/f32-gavgpool/7p7x-minmax-neon-c4.c",
2302 "src/f32-gavgpool/7x-minmax-neon-c4.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002303 "src/f32-gemm/gen-inc/1x8inc-minmax-neon-dup-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002304 "src/f32-gemm/gen-inc/1x8inc-minmax-neon-lane-ld64.c",
2305 "src/f32-gemm/gen-inc/1x8s4inc-minmax-neon.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002306 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002307 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld128.c",
2308 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld64.c",
2309 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld128.c",
2310 "src/f32-gemm/gen-inc/4x8s4inc-minmax-neon.c",
2311 "src/f32-gemm/gen-inc/5x8inc-minmax-neon-lane-ld64.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002312 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld64.c",
2313 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld128.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002314 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld64.c",
2315 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld128.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002316 "src/f32-gemm/gen-inc/6x8s4inc-minmax-neon.c",
2317 "src/f32-gemm/gen-inc/8x8s4inc-minmax-neon.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002318 "src/f32-gemm/gen/1x8-minmax-neon-dup-ld64.c",
2319 "src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c",
2320 "src/f32-gemm/gen/1x8s4-minmax-neon.c",
2321 "src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c",
2322 "src/f32-gemm/gen/4x8-minmax-neon-dup-ld64.c",
2323 "src/f32-gemm/gen/4x8-minmax-neon-dup-ld128.c",
2324 "src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c",
2325 "src/f32-gemm/gen/4x8-minmax-neon-lane-ld128.c",
2326 "src/f32-gemm/gen/4x8s4-minmax-neon.c",
2327 "src/f32-gemm/gen/5x8-minmax-neon-lane-ld64.c",
2328 "src/f32-gemm/gen/6x8-minmax-neon-dup-ld64.c",
2329 "src/f32-gemm/gen/6x8-minmax-neon-dup-ld128.c",
2330 "src/f32-gemm/gen/6x8-minmax-neon-lane-ld64.c",
2331 "src/f32-gemm/gen/6x8-minmax-neon-lane-ld128.c",
2332 "src/f32-gemm/gen/6x8s4-minmax-neon.c",
2333 "src/f32-gemm/gen/8x8s4-minmax-neon.c",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -08002334 "src/f32-ibilinear-chw/gen/neon-p4.c",
2335 "src/f32-ibilinear-chw/gen/neon-p8.c",
Frank Barchard8247e212021-02-03 18:12:33 -08002336 "src/f32-ibilinear/gen/neon-c4.c",
2337 "src/f32-ibilinear/gen/neon-c8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002338 "src/f32-igemm/gen/1x8-minmax-neon-dup-ld64.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002339 "src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002340 "src/f32-igemm/gen/1x8s4-minmax-neon.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002341 "src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c",
2342 "src/f32-igemm/gen/4x4-minmax-neon-lane-ld64.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002343 "src/f32-igemm/gen/4x8-minmax-neon-dup-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002344 "src/f32-igemm/gen/4x8-minmax-neon-dup-ld128.c",
2345 "src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c",
2346 "src/f32-igemm/gen/4x8-minmax-neon-lane-ld128.c",
2347 "src/f32-igemm/gen/4x8s4-minmax-neon.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002348 "src/f32-igemm/gen/6x8-minmax-neon-dup-ld64.c",
2349 "src/f32-igemm/gen/6x8-minmax-neon-dup-ld128.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002350 "src/f32-igemm/gen/6x8-minmax-neon-lane-ld64.c",
2351 "src/f32-igemm/gen/6x8-minmax-neon-lane-ld128.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002352 "src/f32-igemm/gen/6x8s4-minmax-neon.c",
2353 "src/f32-igemm/gen/8x8s4-minmax-neon.c",
Marat Dukhan99936602020-04-11 16:47:01 -07002354 "src/f32-maxpool/9p8x-minmax-neon-c4.c",
2355 "src/f32-pavgpool/9p8x-minmax-neon-c4.c",
2356 "src/f32-pavgpool/9x-minmax-neon-c4.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07002357 "src/f32-ppmm/gen/4x8-minmax-neon.c",
2358 "src/f32-ppmm/gen/8x8-minmax-neon.c",
Frank Barcharda5316982020-07-23 13:19:28 -07002359 "src/f32-prelu/gen/neon-1x4.c",
2360 "src/f32-prelu/gen/neon-1x8.c",
2361 "src/f32-prelu/gen/neon-1x16.c",
Marat Dukhan40a672f2019-11-25 03:08:22 -08002362 "src/f32-prelu/gen/neon-2x4.c",
2363 "src/f32-prelu/gen/neon-2x8.c",
Frank Barcharda5316982020-07-23 13:19:28 -07002364 "src/f32-prelu/gen/neon-2x16.c",
2365 "src/f32-prelu/gen/neon-4x4.c",
2366 "src/f32-prelu/gen/neon-4x8.c",
2367 "src/f32-prelu/gen/neon-4x16.c",
Marat Dukhanb2d0a2a2021-12-02 09:04:57 -08002368 "src/f32-qs8-vcvt/gen/vcvt-neon-x8.c",
2369 "src/f32-qs8-vcvt/gen/vcvt-neon-x16.c",
2370 "src/f32-qs8-vcvt/gen/vcvt-neon-x24.c",
2371 "src/f32-qs8-vcvt/gen/vcvt-neon-x32.c",
2372 "src/f32-qu8-vcvt/gen/vcvt-neon-x8.c",
2373 "src/f32-qu8-vcvt/gen/vcvt-neon-x16.c",
2374 "src/f32-qu8-vcvt/gen/vcvt-neon-x24.c",
2375 "src/f32-qu8-vcvt/gen/vcvt-neon-x32.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08002376 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x4.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08002377 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002378 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08002379 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc2.c",
2380 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002381 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08002382 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc2.c",
2383 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002384 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08002385 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc2.c",
2386 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002387 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20.c",
2388 "src/f32-raddstoreexpminusmax/gen/neon-p5-x4.c",
2389 "src/f32-raddstoreexpminusmax/gen/neon-p5-x8-acc2.c",
2390 "src/f32-raddstoreexpminusmax/gen/neon-p5-x8.c",
2391 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc2.c",
2392 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc3.c",
2393 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12.c",
2394 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc2.c",
2395 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc4.c",
2396 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16.c",
2397 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc2.c",
2398 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc5.c",
2399 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07002400 "src/f32-rmax/neon.c",
Marat Dukhan5b86c432020-12-06 19:15:03 -08002401 "src/f32-spmm/gen/4x1-minmax-neon-pipelined.c",
2402 "src/f32-spmm/gen/4x1-minmax-neon-x2.c",
2403 "src/f32-spmm/gen/4x1-minmax-neon.c",
2404 "src/f32-spmm/gen/8x1-minmax-neon-pipelined.c",
2405 "src/f32-spmm/gen/8x1-minmax-neon-x2.c",
2406 "src/f32-spmm/gen/8x1-minmax-neon.c",
2407 "src/f32-spmm/gen/12x1-minmax-neon.c",
2408 "src/f32-spmm/gen/16x1-minmax-neon-pipelined.c",
2409 "src/f32-spmm/gen/16x1-minmax-neon-x2.c",
2410 "src/f32-spmm/gen/16x1-minmax-neon.c",
2411 "src/f32-spmm/gen/32x1-minmax-neon-pipelined.c",
2412 "src/f32-spmm/gen/32x1-minmax-neon-x2.c",
2413 "src/f32-spmm/gen/32x1-minmax-neon.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07002414 "src/f32-vbinary/gen/vadd-minmax-neon-x4.c",
2415 "src/f32-vbinary/gen/vadd-minmax-neon-x8.c",
2416 "src/f32-vbinary/gen/vaddc-minmax-neon-x4.c",
2417 "src/f32-vbinary/gen/vaddc-minmax-neon-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08002418 "src/f32-vbinary/gen/vmax-neon-x4.c",
2419 "src/f32-vbinary/gen/vmax-neon-x8.c",
2420 "src/f32-vbinary/gen/vmaxc-neon-x4.c",
2421 "src/f32-vbinary/gen/vmaxc-neon-x8.c",
2422 "src/f32-vbinary/gen/vmin-neon-x4.c",
2423 "src/f32-vbinary/gen/vmin-neon-x8.c",
2424 "src/f32-vbinary/gen/vminc-neon-x4.c",
2425 "src/f32-vbinary/gen/vminc-neon-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07002426 "src/f32-vbinary/gen/vmul-minmax-neon-x4.c",
2427 "src/f32-vbinary/gen/vmul-minmax-neon-x8.c",
2428 "src/f32-vbinary/gen/vmulc-minmax-neon-x4.c",
2429 "src/f32-vbinary/gen/vmulc-minmax-neon-x8.c",
2430 "src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c",
2431 "src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -07002432 "src/f32-vbinary/gen/vsqrdiff-neon-x4.c",
2433 "src/f32-vbinary/gen/vsqrdiff-neon-x8.c",
2434 "src/f32-vbinary/gen/vsqrdiffc-neon-x4.c",
2435 "src/f32-vbinary/gen/vsqrdiffc-neon-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07002436 "src/f32-vbinary/gen/vsub-minmax-neon-x4.c",
2437 "src/f32-vbinary/gen/vsub-minmax-neon-x8.c",
2438 "src/f32-vbinary/gen/vsubc-minmax-neon-x4.c",
2439 "src/f32-vbinary/gen/vsubc-minmax-neon-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07002440 "src/f32-vclamp/gen/vclamp-neon-x4.c",
2441 "src/f32-vclamp/gen/vclamp-neon-x8.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08002442 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x4.c",
2443 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x8.c",
2444 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x12.c",
2445 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x16.c",
2446 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x20.c",
2447 "src/f32-velu/gen/velu-neon-rr2-lut16-p3-x24.c",
2448 "src/f32-velu/gen/velu-neon-rr2-p6-x4.c",
2449 "src/f32-velu/gen/velu-neon-rr2-p6-x8.c",
2450 "src/f32-velu/gen/velu-neon-rr2-p6-x12.c",
2451 "src/f32-velu/gen/velu-neon-rr2-p6-x16.c",
2452 "src/f32-velu/gen/velu-neon-rr2-p6-x20.c",
2453 "src/f32-velu/gen/velu-neon-rr2-p6-x24.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07002454 "src/f32-vhswish/gen/vhswish-neon-x4.c",
2455 "src/f32-vhswish/gen/vhswish-neon-x8.c",
2456 "src/f32-vhswish/gen/vhswish-neon-x16.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07002457 "src/f32-vlrelu/gen/vlrelu-neon-x4.c",
2458 "src/f32-vlrelu/gen/vlrelu-neon-x8.c",
Marat Dukhan99936602020-04-11 16:47:01 -07002459 "src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c",
2460 "src/f32-vmulcaddc/gen/c8-minmax-neon-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07002461 "src/f32-vrelu/gen/vrelu-neon-x4.c",
2462 "src/f32-vrelu/gen/vrelu-neon-x8.c",
Marat Dukhaneecf8fd2020-06-09 08:59:37 -07002463 "src/f32-vrnd/gen/vrndd-neon-x4.c",
2464 "src/f32-vrnd/gen/vrndd-neon-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002465 "src/f32-vrnd/gen/vrndne-neon-x4.c",
2466 "src/f32-vrnd/gen/vrndne-neon-x8.c",
2467 "src/f32-vrnd/gen/vrndu-neon-x4.c",
2468 "src/f32-vrnd/gen/vrndu-neon-x8.c",
2469 "src/f32-vrnd/gen/vrndz-neon-x4.c",
2470 "src/f32-vrnd/gen/vrndz-neon-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07002471 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x4.c",
2472 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x8.c",
2473 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x12.c",
2474 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x16.c",
2475 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x20.c",
2476 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x24.c",
2477 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x4.c",
2478 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x8.c",
2479 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x12.c",
2480 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x16.c",
2481 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x20.c",
2482 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x24.c",
2483 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x4.c",
2484 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x8.c",
2485 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x12.c",
2486 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x16.c",
2487 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x20.c",
2488 "src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x24.c",
Marat Dukhan5020b962020-06-08 13:30:10 -07002489 "src/f32-vunary/gen/vabs-neon-x4.c",
2490 "src/f32-vunary/gen/vabs-neon-x8.c",
2491 "src/f32-vunary/gen/vneg-neon-x4.c",
2492 "src/f32-vunary/gen/vneg-neon-x8.c",
2493 "src/f32-vunary/gen/vsqr-neon-x4.c",
2494 "src/f32-vunary/gen/vsqr-neon-x8.c",
Marat Dukhan60f903b2021-09-30 09:43:13 -07002495 "src/math/cvt-f16-f32-neon-int16.c",
2496 "src/math/cvt-f16-f32-neon-int32.c",
Marat Dukhana6eb1e52021-11-06 18:29:36 -07002497 "src/math/cvt-f32-f16-neon.c",
Marat Dukhand24301d2021-12-02 00:13:45 -08002498 "src/math/cvt-f32-qs8-neon.c",
2499 "src/math/cvt-f32-qu8-neon.c",
Marat Dukhande390d42020-11-29 19:32:18 -08002500 "src/math/expm1minus-neon-rr2-lut16-p3.c",
2501 "src/math/expm1minus-neon-rr2-p6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002502 "src/math/roundd-neon-addsub.c",
2503 "src/math/roundd-neon-cvt.c",
2504 "src/math/roundne-neon-addsub.c",
2505 "src/math/roundu-neon-addsub.c",
2506 "src/math/roundu-neon-cvt.c",
2507 "src/math/roundz-neon-addsub.c",
2508 "src/math/roundz-neon-cvt.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002509 "src/math/sigmoid-neon-rr2-lut64-p2-nr2recps.c",
2510 "src/math/sigmoid-neon-rr2-lut2048-p1-nr2recps.c",
2511 "src/math/sigmoid-neon-rr2-p5-nr2recps.c",
2512 "src/math/sqrt-neon-nr1rsqrts.c",
2513 "src/math/sqrt-neon-nr2rsqrts.c",
2514 "src/math/sqrt-neon-nr3rsqrts.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002515 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mla8-ld64.c",
2516 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mul8-ld64.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07002517 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002518 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mla8-ld64.c",
2519 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mul8-ld64.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07002520 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002521 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld64.c",
2522 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld128.c",
2523 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul8-ld64.c",
2524 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul8-ld128.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07002525 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002526 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld64.c",
2527 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld128.c",
2528 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul8-ld64.c",
2529 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul8-ld128.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07002530 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c",
2531 "src/qc8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c",
2532 "src/qc8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c",
2533 "src/qc8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c",
2534 "src/qc8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002535 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002536 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c",
2537 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002538 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002539 "src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2540 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002541 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c",
2542 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002543 "src/qc8-gemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c",
2544 "src/qc8-gemm/gen/1x8c8-minmax-fp32-neon-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07002545 "src/qc8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002546 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002547 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c",
2548 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002549 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002550 "src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
2551 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002552 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c",
2553 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002554 "src/qc8-gemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c",
2555 "src/qc8-gemm/gen/2x8c8-minmax-fp32-neon-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07002556 "src/qc8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002557 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002558 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c",
2559 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002560 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002561 "src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2562 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002563 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c",
2564 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002565 "src/qc8-igemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c",
2566 "src/qc8-igemm/gen/1x8c8-minmax-fp32-neon-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07002567 "src/qc8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002568 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002569 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c",
2570 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002571 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002572 "src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
2573 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002574 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c",
2575 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002576 "src/qc8-igemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c",
2577 "src/qc8-igemm/gen/2x8c8-minmax-fp32-neon-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07002578 "src/qc8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002579 "src/qs8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002580 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002581 "src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mla8-ld64.c",
2582 "src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mul8-ld64.c",
Marat Dukhanbe18f5c2021-07-16 18:46:39 -07002583 "src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002584 "src/qs8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002585 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002586 "src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mla8-ld64.c",
2587 "src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8-ld64.c",
Marat Dukhanbe18f5c2021-07-16 18:46:39 -07002588 "src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002589 "src/qs8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002590 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002591 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld64.c",
2592 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld128.c",
2593 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8-ld64.c",
2594 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8-ld128.c",
Marat Dukhanbe18f5c2021-07-16 18:46:39 -07002595 "src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002596 "src/qs8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002597 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-neon-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07002598 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld64.c",
2599 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld128.c",
2600 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8-ld64.c",
2601 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8-ld128.c",
Marat Dukhanbe18f5c2021-07-16 18:46:39 -07002602 "src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002603 "src/qs8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002604 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07002605 "src/qs8-dwconv/gen/up24x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002606 "src/qs8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002607 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07002608 "src/qs8-dwconv/gen/up24x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002609 "src/qs8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002610 "src/qs8-dwconv/gen/up32x9-minmax-gemmlowp-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07002611 "src/qs8-dwconv/gen/up32x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan6f905292021-06-25 11:12:05 -07002612 "src/qs8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002613 "src/qs8-dwconv/gen/up32x25-minmax-gemmlowp-neon-mul16.c",
Frank Barchard2aa2e2a2021-09-16 14:59:13 -07002614 "src/qs8-dwconv/gen/up32x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan281262d2020-08-10 13:23:21 -07002615 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c8-acc2.c",
2616 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c16-acc2.c",
2617 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c24-acc2.c",
2618 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c32-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07002619 "src/qs8-gavgpool/gen/7x-minmax-neon-c8-acc2.c",
2620 "src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c",
2621 "src/qs8-gavgpool/gen/7x-minmax-neon-c24-acc2.c",
2622 "src/qs8-gavgpool/gen/7x-minmax-neon-c32-acc2.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002623 "src/qs8-gemm/gen/1x8-minmax-gemmlowp-neon-mlal-lane.c",
2624 "src/qs8-gemm/gen/1x8-minmax-gemmlowp-neon-mull-addw-dup.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002625 "src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2626 "src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002627 "src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002628 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002629 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c",
2630 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002631 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002632 "src/qs8-gemm/gen/1x8c2-minmax-gemmlowp-neon-mlal-dup.c",
2633 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002634 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2635 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002636 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002637 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002638 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld1r.c",
2639 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002640 "src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002641 "src/qs8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2642 "src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c",
2643 "src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mull.c",
2644 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002645 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c",
2646 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002647 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002648 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2649 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002650 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002651 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-ld1r.c",
2652 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002653 "src/qs8-gemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c",
2654 "src/qs8-gemm/gen/1x8c4s2-minmax-rndnu-neon-mlal.c",
2655 "src/qs8-gemm/gen/1x8c4s2-minmax-rndnu-neon-mull.c",
2656 "src/qs8-gemm/gen/1x8c8-minmax-fp32-neon-mlal.c",
2657 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-neon-mlal.c",
2658 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-neon-mull.c",
2659 "src/qs8-gemm/gen/1x8c8-minmax-rndnu-neon-mlal.c",
2660 "src/qs8-gemm/gen/1x8c16-minmax-gemmlowp-neon-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002661 "src/qs8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002662 "src/qs8-gemm/gen/1x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard22fbe772021-07-20 15:56:32 -07002663 "src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2664 "src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07002665 "src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002666 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002667 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2668 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002669 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002670 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002671 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld1r.c",
2672 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002673 "src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002674 "src/qs8-gemm/gen/1x16c2s4-minmax-rndnu-neon-mlal.c",
2675 "src/qs8-gemm/gen/1x16c2s4-minmax-rndnu-neon-mull.c",
2676 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002677 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2678 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002679 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002680 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-ld1r.c",
2681 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002682 "src/qs8-gemm/gen/1x16c4s2-minmax-rndnu-neon-mlal.c",
2683 "src/qs8-gemm/gen/1x16c4s2-minmax-rndnu-neon-mull.c",
2684 "src/qs8-gemm/gen/1x16c8-minmax-gemmlowp-neon-mlal.c",
2685 "src/qs8-gemm/gen/1x16c8-minmax-gemmlowp-neon-mull.c",
2686 "src/qs8-gemm/gen/1x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002687 "src/qs8-gemm/gen/2x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002688 "src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2689 "src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002690 "src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002691 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002692 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c",
2693 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002694 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002695 "src/qs8-gemm/gen/2x8c2-minmax-gemmlowp-neon-mlal-dup.c",
2696 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002697 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2698 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002699 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002700 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002701 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld1r.c",
2702 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002703 "src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002704 "src/qs8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
2705 "src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c",
2706 "src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mull.c",
2707 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002708 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c",
2709 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002710 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002711 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2712 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002713 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002714 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-ld1r.c",
2715 "src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002716 "src/qs8-gemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c",
2717 "src/qs8-gemm/gen/2x8c4s2-minmax-rndnu-neon-mlal.c",
2718 "src/qs8-gemm/gen/2x8c4s2-minmax-rndnu-neon-mull.c",
2719 "src/qs8-gemm/gen/2x8c8-minmax-fp32-neon-mlal.c",
2720 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-neon-mlal.c",
2721 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-neon-mull.c",
2722 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-neon-mlal.c",
2723 "src/qs8-gemm/gen/2x8c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002724 "src/qs8-gemm/gen/2x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002725 "src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2726 "src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002727 "src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002728 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002729 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2730 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002731 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002732 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002733 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld1r.c",
2734 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002735 "src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002736 "src/qs8-gemm/gen/2x16c2s4-minmax-rndnu-neon-mlal.c",
2737 "src/qs8-gemm/gen/2x16c2s4-minmax-rndnu-neon-mull.c",
2738 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002739 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2740 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002741 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002742 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-ld1r.c",
2743 "src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002744 "src/qs8-gemm/gen/2x16c4s2-minmax-rndnu-neon-mlal.c",
2745 "src/qs8-gemm/gen/2x16c4s2-minmax-rndnu-neon-mull.c",
2746 "src/qs8-gemm/gen/2x16c8-minmax-gemmlowp-neon-mlal.c",
2747 "src/qs8-gemm/gen/2x16c8-minmax-gemmlowp-neon-mull.c",
2748 "src/qs8-gemm/gen/2x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002749 "src/qs8-gemm/gen/3x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002750 "src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2751 "src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002752 "src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002753 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002754 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2755 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002756 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002757 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002758 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld1r.c",
2759 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002760 "src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002761 "src/qs8-gemm/gen/3x8c2s4-minmax-rndnu-neon-mlal.c",
2762 "src/qs8-gemm/gen/3x8c2s4-minmax-rndnu-neon-mull.c",
2763 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002764 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2765 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002766 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002767 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-ld1r.c",
2768 "src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002769 "src/qs8-gemm/gen/3x8c4s2-minmax-rndnu-neon-mlal.c",
2770 "src/qs8-gemm/gen/3x8c4s2-minmax-rndnu-neon-mull.c",
2771 "src/qs8-gemm/gen/3x8c8-minmax-gemmlowp-neon-mlal.c",
2772 "src/qs8-gemm/gen/3x8c8-minmax-gemmlowp-neon-mull.c",
2773 "src/qs8-gemm/gen/3x8c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002774 "src/qs8-gemm/gen/3x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002775 "src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2776 "src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002777 "src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002778 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002779 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2780 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002781 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002782 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002783 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld1r.c",
2784 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002785 "src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002786 "src/qs8-gemm/gen/3x16c2s4-minmax-rndnu-neon-mlal.c",
2787 "src/qs8-gemm/gen/3x16c2s4-minmax-rndnu-neon-mull.c",
2788 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002789 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2790 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002791 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002792 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-ld1r.c",
2793 "src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002794 "src/qs8-gemm/gen/3x16c4s2-minmax-rndnu-neon-mlal.c",
2795 "src/qs8-gemm/gen/3x16c4s2-minmax-rndnu-neon-mull.c",
2796 "src/qs8-gemm/gen/3x16c8-minmax-gemmlowp-neon-mlal.c",
2797 "src/qs8-gemm/gen/3x16c8-minmax-gemmlowp-neon-mull.c",
2798 "src/qs8-gemm/gen/3x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002799 "src/qs8-gemm/gen/4x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002800 "src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2801 "src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002802 "src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002803 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002804 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2805 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002806 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002807 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002808 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld1r.c",
2809 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002810 "src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002811 "src/qs8-gemm/gen/4x8c2s4-minmax-rndnu-neon-mlal.c",
2812 "src/qs8-gemm/gen/4x8c2s4-minmax-rndnu-neon-mull.c",
2813 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002814 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2815 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002816 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002817 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-ld1r.c",
2818 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002819 "src/qs8-gemm/gen/4x8c4s2-minmax-rndnu-neon-mlal.c",
2820 "src/qs8-gemm/gen/4x8c4s2-minmax-rndnu-neon-mull.c",
2821 "src/qs8-gemm/gen/4x8c8-minmax-gemmlowp-neon-mlal.c",
2822 "src/qs8-gemm/gen/4x8c8-minmax-gemmlowp-neon-mull.c",
2823 "src/qs8-gemm/gen/4x8c16-minmax-gemmlowp-neon-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002824 "src/qs8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002825 "src/qs8-gemm/gen/4x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard22fbe772021-07-20 15:56:32 -07002826 "src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2827 "src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07002828 "src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002829 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002830 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2831 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002832 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002833 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002834 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld1r.c",
2835 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002836 "src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002837 "src/qs8-gemm/gen/4x16c2s4-minmax-rndnu-neon-mlal.c",
2838 "src/qs8-gemm/gen/4x16c2s4-minmax-rndnu-neon-mull.c",
2839 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002840 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2841 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002842 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002843 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-ld1r.c",
2844 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002845 "src/qs8-gemm/gen/4x16c4s2-minmax-rndnu-neon-mlal.c",
2846 "src/qs8-gemm/gen/4x16c4s2-minmax-rndnu-neon-mull.c",
2847 "src/qs8-gemm/gen/4x16c8-minmax-gemmlowp-neon-mlal.c",
2848 "src/qs8-gemm/gen/4x16c8-minmax-gemmlowp-neon-mull.c",
2849 "src/qs8-gemm/gen/4x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002850 "src/qs8-gemm/gen/6x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002851 "src/qs8-gemm/gen/6x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2852 "src/qs8-gemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002853 "src/qs8-gemm/gen/6x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002854 "src/qs8-gemm/gen/6x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2855 "src/qs8-gemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002856 "src/qs8-igemm/gen/1x8-minmax-gemmlowp-neon-mlal-lane.c",
2857 "src/qs8-igemm/gen/1x8-minmax-gemmlowp-neon-mull-addw-dup.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002858 "src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2859 "src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002860 "src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002861 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002862 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c",
2863 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002864 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002865 "src/qs8-igemm/gen/1x8c2-minmax-gemmlowp-neon-mlal-dup.c",
2866 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002867 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2868 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002869 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002870 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002871 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld1r.c",
2872 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002873 "src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002874 "src/qs8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c",
2875 "src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c",
2876 "src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mull.c",
2877 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002878 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c",
2879 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002880 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002881 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2882 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002883 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002884 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-ld1r.c",
2885 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002886 "src/qs8-igemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c",
2887 "src/qs8-igemm/gen/1x8c4s2-minmax-rndnu-neon-mlal.c",
2888 "src/qs8-igemm/gen/1x8c4s2-minmax-rndnu-neon-mull.c",
2889 "src/qs8-igemm/gen/1x8c8-minmax-fp32-neon-mlal.c",
2890 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-neon-mlal.c",
2891 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-neon-mull.c",
2892 "src/qs8-igemm/gen/1x8c8-minmax-rndnu-neon-mlal.c",
2893 "src/qs8-igemm/gen/1x8c16-minmax-gemmlowp-neon-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07002894 "src/qs8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002895 "src/qs8-igemm/gen/1x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard22fbe772021-07-20 15:56:32 -07002896 "src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2897 "src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07002898 "src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002899 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002900 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2901 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002902 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002903 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002904 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld1r.c",
2905 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002906 "src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002907 "src/qs8-igemm/gen/1x16c2s4-minmax-rndnu-neon-mlal.c",
2908 "src/qs8-igemm/gen/1x16c2s4-minmax-rndnu-neon-mull.c",
2909 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002910 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2911 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002912 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002913 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-ld1r.c",
2914 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002915 "src/qs8-igemm/gen/1x16c4s2-minmax-rndnu-neon-mlal.c",
2916 "src/qs8-igemm/gen/1x16c4s2-minmax-rndnu-neon-mull.c",
2917 "src/qs8-igemm/gen/1x16c8-minmax-gemmlowp-neon-mlal.c",
2918 "src/qs8-igemm/gen/1x16c8-minmax-gemmlowp-neon-mull.c",
2919 "src/qs8-igemm/gen/1x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002920 "src/qs8-igemm/gen/2x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002921 "src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2922 "src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002923 "src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002924 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002925 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c",
2926 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002927 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002928 "src/qs8-igemm/gen/2x8c2-minmax-gemmlowp-neon-mlal-dup.c",
2929 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002930 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2931 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002932 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002933 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002934 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld1r.c",
2935 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002936 "src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002937 "src/qs8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c",
2938 "src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c",
2939 "src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mull.c",
2940 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002941 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c",
2942 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002943 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002944 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2945 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002946 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002947 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-ld1r.c",
2948 "src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002949 "src/qs8-igemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c",
2950 "src/qs8-igemm/gen/2x8c4s2-minmax-rndnu-neon-mlal.c",
2951 "src/qs8-igemm/gen/2x8c4s2-minmax-rndnu-neon-mull.c",
2952 "src/qs8-igemm/gen/2x8c8-minmax-fp32-neon-mlal.c",
2953 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-neon-mlal.c",
2954 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-neon-mull.c",
2955 "src/qs8-igemm/gen/2x8c8-minmax-rndnu-neon-mlal.c",
2956 "src/qs8-igemm/gen/2x8c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002957 "src/qs8-igemm/gen/2x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002958 "src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mlal-lane-prfm.c",
2959 "src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002960 "src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002961 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002962 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld1r.c",
2963 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002964 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002965 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002966 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld1r.c",
2967 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002968 "src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002969 "src/qs8-igemm/gen/2x16c2s4-minmax-rndnu-neon-mlal.c",
2970 "src/qs8-igemm/gen/2x16c2s4-minmax-rndnu-neon-mull.c",
2971 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002972 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld1r.c",
2973 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002974 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002975 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-ld1r.c",
2976 "src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002977 "src/qs8-igemm/gen/2x16c4s2-minmax-rndnu-neon-mlal.c",
2978 "src/qs8-igemm/gen/2x16c4s2-minmax-rndnu-neon-mull.c",
2979 "src/qs8-igemm/gen/2x16c8-minmax-gemmlowp-neon-mlal.c",
2980 "src/qs8-igemm/gen/2x16c8-minmax-gemmlowp-neon-mull.c",
2981 "src/qs8-igemm/gen/2x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07002982 "src/qs8-igemm/gen/3x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08002983 "src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane-prfm.c",
2984 "src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07002985 "src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002986 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002987 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld1r.c",
2988 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002989 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002990 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08002991 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld1r.c",
2992 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08002993 "src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002994 "src/qs8-igemm/gen/3x8c2s4-minmax-rndnu-neon-mlal.c",
2995 "src/qs8-igemm/gen/3x8c2s4-minmax-rndnu-neon-mull.c",
2996 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08002997 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld1r.c",
2998 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08002999 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003000 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-ld1r.c",
3001 "src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003002 "src/qs8-igemm/gen/3x8c4s2-minmax-rndnu-neon-mlal.c",
3003 "src/qs8-igemm/gen/3x8c4s2-minmax-rndnu-neon-mull.c",
3004 "src/qs8-igemm/gen/3x8c8-minmax-gemmlowp-neon-mlal.c",
3005 "src/qs8-igemm/gen/3x8c8-minmax-gemmlowp-neon-mull.c",
3006 "src/qs8-igemm/gen/3x8c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07003007 "src/qs8-igemm/gen/3x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08003008 "src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mlal-lane-prfm.c",
3009 "src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07003010 "src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003011 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003012 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld1r.c",
3013 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003014 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003015 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003016 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld1r.c",
3017 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003018 "src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003019 "src/qs8-igemm/gen/3x16c2s4-minmax-rndnu-neon-mlal.c",
3020 "src/qs8-igemm/gen/3x16c2s4-minmax-rndnu-neon-mull.c",
3021 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003022 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld1r.c",
3023 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003024 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003025 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-ld1r.c",
3026 "src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003027 "src/qs8-igemm/gen/3x16c4s2-minmax-rndnu-neon-mlal.c",
3028 "src/qs8-igemm/gen/3x16c4s2-minmax-rndnu-neon-mull.c",
3029 "src/qs8-igemm/gen/3x16c8-minmax-gemmlowp-neon-mlal.c",
3030 "src/qs8-igemm/gen/3x16c8-minmax-gemmlowp-neon-mull.c",
3031 "src/qs8-igemm/gen/3x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07003032 "src/qs8-igemm/gen/4x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08003033 "src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane-prfm.c",
3034 "src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard510b8e02021-07-26 17:25:18 -07003035 "src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003036 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003037 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld1r.c",
3038 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003039 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003040 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003041 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld1r.c",
3042 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003043 "src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003044 "src/qs8-igemm/gen/4x8c2s4-minmax-rndnu-neon-mlal.c",
3045 "src/qs8-igemm/gen/4x8c2s4-minmax-rndnu-neon-mull.c",
3046 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003047 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld1r.c",
3048 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003049 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003050 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-ld1r.c",
3051 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003052 "src/qs8-igemm/gen/4x8c4s2-minmax-rndnu-neon-mlal.c",
3053 "src/qs8-igemm/gen/4x8c4s2-minmax-rndnu-neon-mull.c",
3054 "src/qs8-igemm/gen/4x8c8-minmax-gemmlowp-neon-mlal.c",
3055 "src/qs8-igemm/gen/4x8c8-minmax-gemmlowp-neon-mull.c",
3056 "src/qs8-igemm/gen/4x8c16-minmax-gemmlowp-neon-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003057 "src/qs8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07003058 "src/qs8-igemm/gen/4x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard22fbe772021-07-20 15:56:32 -07003059 "src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane-prfm.c",
3060 "src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07003061 "src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mull-addw-dup.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003062 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003063 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld1r.c",
3064 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003065 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003066 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003067 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld1r.c",
3068 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003069 "src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003070 "src/qs8-igemm/gen/4x16c2s4-minmax-rndnu-neon-mlal.c",
3071 "src/qs8-igemm/gen/4x16c2s4-minmax-rndnu-neon-mull.c",
3072 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003073 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld1r.c",
3074 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003075 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003076 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-ld1r.c",
3077 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003078 "src/qs8-igemm/gen/4x16c4s2-minmax-rndnu-neon-mlal.c",
3079 "src/qs8-igemm/gen/4x16c4s2-minmax-rndnu-neon-mull.c",
3080 "src/qs8-igemm/gen/4x16c8-minmax-gemmlowp-neon-mlal.c",
3081 "src/qs8-igemm/gen/4x16c8-minmax-gemmlowp-neon-mull.c",
3082 "src/qs8-igemm/gen/4x16c16-minmax-gemmlowp-neon-mlal.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07003083 "src/qs8-igemm/gen/6x8-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08003084 "src/qs8-igemm/gen/6x8-minmax-rndnu-neon-mlal-lane-prfm.c",
3085 "src/qs8-igemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhand65d20e2021-05-24 16:59:51 -07003086 "src/qs8-igemm/gen/6x16-minmax-gemmlowp-neon-mlal-lane.c",
Frank Barchard27bf92c2021-11-24 15:47:52 -08003087 "src/qs8-igemm/gen/6x16-minmax-rndnu-neon-mlal-lane-prfm.c",
3088 "src/qs8-igemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan2e23d2b2020-07-29 16:01:37 -07003089 "src/qs8-requantization/fp32-neon.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07003090 "src/qs8-requantization/gemmlowp-neon.c",
Marat Dukhan06716242021-05-26 15:56:39 -07003091 "src/qs8-requantization/rndna-neon.c",
Marat Dukhand3d818c2021-07-16 17:56:54 -07003092 "src/qs8-requantization/rndnu-neon-mull.c",
3093 "src/qs8-requantization/rndnu-neon-qdmulh.c",
Marat Dukhanba7b2792020-09-02 14:26:45 -07003094 "src/qs8-vadd/gen/minmax-neon-ld64-x8.c",
3095 "src/qs8-vadd/gen/minmax-neon-ld64-x16.c",
3096 "src/qs8-vadd/gen/minmax-neon-ld64-x24.c",
3097 "src/qs8-vadd/gen/minmax-neon-ld64-x32.c",
Marat Dukhaneb3cff32021-07-30 11:35:27 -07003098 "src/qs8-vadd/gen/minmax-neon-ld128-x16.c",
3099 "src/qs8-vadd/gen/minmax-neon-ld128-x32.c",
Marat Dukhanba7b2792020-09-02 14:26:45 -07003100 "src/qs8-vaddc/gen/minmax-neon-ld64-x8.c",
3101 "src/qs8-vaddc/gen/minmax-neon-ld64-x16.c",
3102 "src/qs8-vaddc/gen/minmax-neon-ld64-x24.c",
3103 "src/qs8-vaddc/gen/minmax-neon-ld64-x32.c",
Marat Dukhaneb3cff32021-07-30 11:35:27 -07003104 "src/qs8-vaddc/gen/minmax-neon-ld128-x16.c",
3105 "src/qs8-vaddc/gen/minmax-neon-ld128-x32.c",
Marat Dukhan4a7b70f2021-08-02 18:18:10 -07003106 "src/qs8-vmul/gen/minmax-fp32-neon-ld64-x8.c",
3107 "src/qs8-vmul/gen/minmax-fp32-neon-ld64-x16.c",
3108 "src/qs8-vmul/gen/minmax-fp32-neon-ld128-x16.c",
3109 "src/qs8-vmulc/gen/minmax-fp32-neon-ld64-x8.c",
3110 "src/qs8-vmulc/gen/minmax-fp32-neon-ld64-x16.c",
3111 "src/qs8-vmulc/gen/minmax-fp32-neon-ld128-x16.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -07003112 "src/qu8-avgpool/9p8x-minmax-neon-c8.c",
3113 "src/qu8-avgpool/9x-minmax-neon-c8.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003114 "src/qu8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003115 "src/qu8-dwconv/gen/up8x9-minmax-rndnu-neon-mul8.c",
Marat Dukhan73a899a2021-07-27 00:10:38 -07003116 "src/qu8-dwconv/gen/up8x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003117 "src/qu8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003118 "src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8.c",
Marat Dukhan73a899a2021-07-27 00:10:38 -07003119 "src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003120 "src/qu8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003121 "src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8.c",
Marat Dukhan73a899a2021-07-27 00:10:38 -07003122 "src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003123 "src/qu8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003124 "src/qu8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8.c",
Marat Dukhan73a899a2021-07-27 00:10:38 -07003125 "src/qu8-dwconv/gen/up16x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003126 "src/qu8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003127 "src/qu8-dwconv/gen/up24x9-minmax-rndnu-neon-mul8.c",
3128 "src/qu8-dwconv/gen/up24x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003129 "src/qu8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003130 "src/qu8-dwconv/gen/up24x25-minmax-rndnu-neon-mul8.c",
3131 "src/qu8-dwconv/gen/up24x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003132 "src/qu8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003133 "src/qu8-dwconv/gen/up32x9-minmax-rndnu-neon-mul8.c",
3134 "src/qu8-dwconv/gen/up32x9-minmax-rndnu-neon-mul16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003135 "src/qu8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c",
Frank Barchard354cbc62021-09-27 21:42:41 -07003136 "src/qu8-dwconv/gen/up32x25-minmax-rndnu-neon-mul8.c",
3137 "src/qu8-dwconv/gen/up32x25-minmax-rndnu-neon-mul16.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -07003138 "src/qu8-gavgpool/7p7x-minmax-neon-c8.c",
3139 "src/qu8-gavgpool/7x-minmax-neon-c8.c",
Marat Dukhan173661d2021-07-26 23:47:08 -07003140 "src/qu8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan69c8a292021-07-14 19:34:56 -07003141 "src/qu8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhan173661d2021-07-26 23:47:08 -07003142 "src/qu8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
3143 "src/qu8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan69c8a292021-07-14 19:34:56 -07003144 "src/qu8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhan173661d2021-07-26 23:47:08 -07003145 "src/qu8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
3146 "src/qu8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan69c8a292021-07-14 19:34:56 -07003147 "src/qu8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhan173661d2021-07-26 23:47:08 -07003148 "src/qu8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c",
3149 "src/qu8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan69c8a292021-07-14 19:34:56 -07003150 "src/qu8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c",
Marat Dukhan173661d2021-07-26 23:47:08 -07003151 "src/qu8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07003152 "src/qu8-requantization/fp32-neon.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07003153 "src/qu8-requantization/gemmlowp-neon.c",
Marat Dukhan06716242021-05-26 15:56:39 -07003154 "src/qu8-requantization/rndna-neon.c",
Marat Dukhan76e78c82021-07-20 21:11:23 -07003155 "src/qu8-vadd/gen/minmax-neon-ld64-x8.c",
3156 "src/qu8-vadd/gen/minmax-neon-ld64-x16.c",
Frank Barchard0a3093c2021-08-31 09:58:11 -07003157 "src/qu8-vadd/gen/minmax-neon-ld64-x32.c",
Marat Dukhaneb3cff32021-07-30 11:35:27 -07003158 "src/qu8-vadd/gen/minmax-neon-ld128-x16.c",
Marat Dukhan76e78c82021-07-20 21:11:23 -07003159 "src/qu8-vaddc/gen/minmax-neon-ld64-x8.c",
3160 "src/qu8-vaddc/gen/minmax-neon-ld64-x16.c",
Frank Barchard0a3093c2021-08-31 09:58:11 -07003161 "src/qu8-vaddc/gen/minmax-neon-ld64-x32.c",
Marat Dukhaneb3cff32021-07-30 11:35:27 -07003162 "src/qu8-vaddc/gen/minmax-neon-ld128-x16.c",
Marat Dukhan4a7b70f2021-08-02 18:18:10 -07003163 "src/qu8-vmul/gen/minmax-fp32-neon-ld64-x8.c",
3164 "src/qu8-vmul/gen/minmax-fp32-neon-ld64-x16.c",
3165 "src/qu8-vmul/gen/minmax-fp32-neon-ld128-x16.c",
3166 "src/qu8-vmulc/gen/minmax-fp32-neon-ld64-x8.c",
3167 "src/qu8-vmulc/gen/minmax-fp32-neon-ld64-x16.c",
3168 "src/qu8-vmulc/gen/minmax-fp32-neon-ld128-x16.c",
Marat Dukhancdb42a52021-11-22 20:09:32 -08003169 "src/s8-ibilinear/gen/neon-c8.c",
3170 "src/s8-ibilinear/gen/neon-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07003171 "src/s8-maxpool/9p8x-minmax-neon-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07003172 "src/s8-vclamp/neon-x64.c",
Marat Dukhancdb42a52021-11-22 20:09:32 -08003173 "src/u8-ibilinear/gen/neon-c8.c",
3174 "src/u8-ibilinear/gen/neon-c16.c",
Marat Dukhan99936602020-04-11 16:47:01 -07003175 "src/u8-maxpool/9p8x-minmax-neon-c16.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003176 "src/u8-rmax/neon.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07003177 "src/u8-vclamp/neon-x64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003178 "src/x8-zip/x2-neon.c",
3179 "src/x8-zip/x3-neon.c",
3180 "src/x8-zip/x4-neon.c",
3181 "src/x8-zip/xm-neon.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003182 "src/x32-packx/x4-neon-st4.c",
Marat Dukhan57dccd82020-04-14 00:53:10 -07003183 "src/x32-unpool/neon.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003184 "src/x32-zip/x2-neon.c",
3185 "src/x32-zip/x3-neon.c",
3186 "src/x32-zip/x4-neon.c",
3187 "src/x32-zip/xm-neon.c",
Marat Dukhan933051b2021-08-07 16:26:15 -07003188 "src/xx-fill/neon-x64.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -07003189 "src/xx-pad/neon.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003190]
3191
Marat Dukhan8ff372c2021-09-28 14:43:17 -07003192PROD_NEONFP16_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07003193 "src/f16-f32-vcvt/gen/vcvt-neonfp16-x16.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08003194 "src/f32-f16-vcvt/gen/vcvt-neonfp16-x16.c",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07003195]
3196
3197ALL_NEONFP16_MICROKERNEL_SRCS = [
3198 "src/f16-f32-vcvt/gen/vcvt-neonfp16-x8.c",
3199 "src/f16-f32-vcvt/gen/vcvt-neonfp16-x16.c",
Marat Dukhand77f77d2021-10-24 15:39:59 -07003200 "src/f32-f16-vcvt/gen/vcvt-neonfp16-x8.c",
3201 "src/f32-f16-vcvt/gen/vcvt-neonfp16-x16.c",
Marat Dukhan3ed866b2021-09-29 08:23:33 -07003202 "src/math/cvt-f16-f32-neonfp16.c",
Marat Dukhan582e1842021-10-25 17:18:36 -07003203 "src/math/cvt-f32-f16-neonfp16.c",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07003204]
3205
Marat Dukhan2c724952021-07-27 18:46:30 -07003206PROD_NEONFMA_MICROKERNEL_SRCS = [
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07003207 "src/f32-dwconv/gen/up8x3-minmax-neonfma.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003208 "src/f32-dwconv/gen/up8x4-minmax-neonfma.c",
3209 "src/f32-dwconv/gen/up8x9-minmax-neonfma.c",
Frank Barcharddbe781b2021-10-18 10:29:52 -07003210 "src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003211 "src/f32-gemm/gen/1x8s4-minmax-neonfma.c",
3212 "src/f32-gemm/gen/6x8s4-minmax-neonfma.c",
3213 "src/f32-ibilinear-chw/gen/neonfma-p8.c",
3214 "src/f32-ibilinear/gen/neonfma-c8.c",
3215 "src/f32-igemm/gen/1x8s4-minmax-neonfma.c",
3216 "src/f32-igemm/gen/6x8s4-minmax-neonfma.c",
3217 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16.c",
3218 "src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c",
3219 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x16.c",
3220 "src/f32-velu/gen/velu-neonfma-rr1-p6-x8.c",
3221 "src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c",
3222 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x16.c",
3223]
3224
3225ALL_NEONFMA_MICROKERNEL_SRCS = [
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07003226 "src/f32-dwconv/gen/up4x3-minmax-neonfma-acc2.c",
3227 "src/f32-dwconv/gen/up4x3-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003228 "src/f32-dwconv/gen/up4x4-minmax-neonfma-acc2.c",
3229 "src/f32-dwconv/gen/up4x4-minmax-neonfma.c",
3230 "src/f32-dwconv/gen/up4x9-minmax-neonfma-acc2.c",
3231 "src/f32-dwconv/gen/up4x9-minmax-neonfma.c",
3232 "src/f32-dwconv/gen/up4x25-minmax-neonfma-acc2.c",
3233 "src/f32-dwconv/gen/up4x25-minmax-neonfma.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07003234 "src/f32-dwconv/gen/up8x3-minmax-neonfma-acc2.c",
3235 "src/f32-dwconv/gen/up8x3-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003236 "src/f32-dwconv/gen/up8x4-minmax-neonfma-acc2.c",
3237 "src/f32-dwconv/gen/up8x4-minmax-neonfma.c",
3238 "src/f32-dwconv/gen/up8x9-minmax-neonfma-acc2.c",
3239 "src/f32-dwconv/gen/up8x9-minmax-neonfma.c",
3240 "src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c",
3241 "src/f32-dwconv/gen/up8x25-minmax-neonfma.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07003242 "src/f32-dwconv/gen/up16x3-minmax-neon-acc2.c",
3243 "src/f32-dwconv/gen/up16x3-minmax-neon.c",
3244 "src/f32-dwconv/gen/up16x3-minmax-neonfma-acc2.c",
3245 "src/f32-dwconv/gen/up16x3-minmax-neonfma.c",
Frank Barchardc9f9d672021-10-18 12:51:59 -07003246 "src/f32-dwconv/gen/up16x4-minmax-neon-acc2.c",
3247 "src/f32-dwconv/gen/up16x4-minmax-neon.c",
3248 "src/f32-dwconv/gen/up16x4-minmax-neonfma-acc2.c",
3249 "src/f32-dwconv/gen/up16x4-minmax-neonfma.c",
3250 "src/f32-dwconv/gen/up16x9-minmax-neon-acc2.c",
3251 "src/f32-dwconv/gen/up16x9-minmax-neon.c",
3252 "src/f32-dwconv/gen/up16x9-minmax-neonfma-acc2.c",
3253 "src/f32-dwconv/gen/up16x9-minmax-neonfma.c",
3254 "src/f32-dwconv/gen/up16x25-minmax-neon-acc2.c",
3255 "src/f32-dwconv/gen/up16x25-minmax-neon.c",
3256 "src/f32-dwconv/gen/up16x25-minmax-neonfma-acc2.c",
3257 "src/f32-dwconv/gen/up16x25-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003258 "src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-dup-ld64.c",
3259 "src/f32-gemm/gen-inc/1x8s4inc-minmax-neonfma.c",
3260 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld64.c",
3261 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld128.c",
3262 "src/f32-gemm/gen-inc/4x8s4inc-minmax-neonfma.c",
3263 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld64.c",
3264 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld128.c",
3265 "src/f32-gemm/gen-inc/6x8s4inc-minmax-neonfma.c",
3266 "src/f32-gemm/gen-inc/8x8s4inc-minmax-neonfma.c",
3267 "src/f32-gemm/gen/1x8-minmax-neonfma-dup-ld64.c",
3268 "src/f32-gemm/gen/1x8s4-minmax-neonfma.c",
3269 "src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld64.c",
3270 "src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld128.c",
3271 "src/f32-gemm/gen/4x8s4-minmax-neonfma.c",
3272 "src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld64.c",
3273 "src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld128.c",
3274 "src/f32-gemm/gen/6x8s4-minmax-neonfma.c",
3275 "src/f32-gemm/gen/8x8s4-minmax-neonfma.c",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -08003276 "src/f32-ibilinear-chw/gen/neonfma-p4.c",
3277 "src/f32-ibilinear-chw/gen/neonfma-p8.c",
Frank Barchard8247e212021-02-03 18:12:33 -08003278 "src/f32-ibilinear/gen/neonfma-c4.c",
3279 "src/f32-ibilinear/gen/neonfma-c8.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07003280 "src/f32-igemm/gen/1x8-minmax-neonfma-dup-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003281 "src/f32-igemm/gen/1x8s4-minmax-neonfma.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07003282 "src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003283 "src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld128.c",
3284 "src/f32-igemm/gen/4x8s4-minmax-neonfma.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07003285 "src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld64.c",
3286 "src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld128.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07003287 "src/f32-igemm/gen/6x8s4-minmax-neonfma.c",
3288 "src/f32-igemm/gen/8x8s4-minmax-neonfma.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07003289 "src/f32-ppmm/gen/4x8-minmax-neonfma.c",
3290 "src/f32-ppmm/gen/8x8-minmax-neonfma.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08003291 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x4.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08003292 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003293 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08003294 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc2.c",
3295 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003296 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08003297 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc2.c",
3298 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003299 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16.c",
Marat Dukhan8137e4c2020-01-25 12:56:58 -08003300 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc2.c",
3301 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003302 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20.c",
3303 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x4.c",
3304 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8-acc2.c",
3305 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8.c",
3306 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc2.c",
3307 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc3.c",
3308 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12.c",
3309 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc2.c",
3310 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc4.c",
3311 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16.c",
3312 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc2.c",
3313 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc5.c",
3314 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20.c",
Marat Dukhan2fa7a0c2020-12-06 19:09:02 -08003315 "src/f32-spmm/gen/4x1-minmax-neonfma-pipelined.c",
3316 "src/f32-spmm/gen/4x1-minmax-neonfma-x2.c",
3317 "src/f32-spmm/gen/4x1-minmax-neonfma.c",
3318 "src/f32-spmm/gen/8x1-minmax-neonfma-pipelined.c",
3319 "src/f32-spmm/gen/8x1-minmax-neonfma-x2.c",
3320 "src/f32-spmm/gen/8x1-minmax-neonfma.c",
3321 "src/f32-spmm/gen/12x1-minmax-neonfma.c",
3322 "src/f32-spmm/gen/16x1-minmax-neonfma-pipelined.c",
3323 "src/f32-spmm/gen/16x1-minmax-neonfma-x2.c",
3324 "src/f32-spmm/gen/16x1-minmax-neonfma.c",
3325 "src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c",
3326 "src/f32-spmm/gen/32x1-minmax-neonfma-x2.c",
3327 "src/f32-spmm/gen/32x1-minmax-neonfma.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08003328 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x4.c",
3329 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x8.c",
3330 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x12.c",
3331 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x16.c",
3332 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x20.c",
3333 "src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x24.c",
3334 "src/f32-velu/gen/velu-neonfma-rr1-p6-x4.c",
3335 "src/f32-velu/gen/velu-neonfma-rr1-p6-x8.c",
3336 "src/f32-velu/gen/velu-neonfma-rr1-p6-x12.c",
3337 "src/f32-velu/gen/velu-neonfma-rr1-p6-x16.c",
3338 "src/f32-velu/gen/velu-neonfma-rr1-p6-x20.c",
3339 "src/f32-velu/gen/velu-neonfma-rr1-p6-x24.c",
Marat Dukhan99936602020-04-11 16:47:01 -07003340 "src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c",
3341 "src/f32-vmulcaddc/gen/c8-minmax-neonfma-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07003342 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x4.c",
3343 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x8.c",
3344 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x12.c",
3345 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x16.c",
3346 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x20.c",
3347 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x24.c",
3348 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x4.c",
3349 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x8.c",
3350 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x12.c",
3351 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x16.c",
3352 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x20.c",
3353 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x24.c",
3354 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x4.c",
3355 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x8.c",
3356 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x12.c",
3357 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x16.c",
3358 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x20.c",
3359 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x24.c",
3360 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x4.c",
3361 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x8.c",
3362 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x12.c",
3363 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x16.c",
3364 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x20.c",
3365 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x24.c",
3366 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x4.c",
3367 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x8.c",
3368 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x12.c",
3369 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x16.c",
3370 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x20.c",
3371 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x24.c",
3372 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x4.c",
3373 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x8.c",
3374 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x12.c",
3375 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x16.c",
3376 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x20.c",
3377 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x24.c",
3378 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x4.c",
3379 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x8.c",
3380 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x12.c",
3381 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x16.c",
3382 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x20.c",
3383 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x24.c",
3384 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x4.c",
3385 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x8.c",
3386 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x12.c",
3387 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x16.c",
3388 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x20.c",
3389 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x24.c",
3390 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x4.c",
3391 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x8.c",
3392 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x12.c",
3393 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x16.c",
3394 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x20.c",
3395 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x24.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07003396 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x4.c",
3397 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x8.c",
3398 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x12.c",
3399 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x16.c",
3400 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x20.c",
3401 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x24.c",
3402 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x28.c",
3403 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x32.c",
3404 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x36.c",
3405 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x40.c",
3406 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x4.c",
3407 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x8.c",
3408 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x12.c",
3409 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x16.c",
3410 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x20.c",
3411 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x24.c",
3412 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x28.c",
3413 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x32.c",
3414 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x36.c",
3415 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x40.c",
Marat Dukhanb7633f22020-11-20 16:34:56 -08003416 "src/math/exp-neonfma-rr2-lut64-p2.c",
3417 "src/math/exp-neonfma-rr2-p5.c",
Frank Barcharde7223ee2020-12-04 19:04:01 -08003418 "src/math/expm1minus-neonfma-rr1-lut16-p3.c",
3419 "src/math/expm1minus-neonfma-rr1-p6.c",
Marat Dukhan9dd119a2020-11-20 18:20:04 -08003420 "src/math/expminus-neonfma-rr2-lut64-p2.c",
3421 "src/math/expminus-neonfma-rr2-lut2048-p1.c",
3422 "src/math/expminus-neonfma-rr2-p5.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003423 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr1recps1fma.c",
3424 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr2fma.c",
3425 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr2recps.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003426 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma.c",
3427 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2fma.c",
3428 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2recps.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003429 "src/math/sigmoid-neonfma-rr1-p5-nr1recps1fma.c",
3430 "src/math/sigmoid-neonfma-rr1-p5-nr2fma.c",
3431 "src/math/sigmoid-neonfma-rr1-p5-nr2recps.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003432 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr1recps1fma.c",
3433 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr2fma.c",
3434 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr2recps.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003435 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr1recps1fma.c",
3436 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2fma.c",
3437 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2recps.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003438 "src/math/sigmoid-neonfma-rr2-p5-nr1recps1fma.c",
3439 "src/math/sigmoid-neonfma-rr2-p5-nr2fma.c",
3440 "src/math/sigmoid-neonfma-rr2-p5-nr2recps.c",
Marat Dukhan84000762020-06-29 18:38:43 -07003441 "src/math/sqrt-neonfma-nr1fma.c",
Marat Dukhan84000762020-06-29 18:38:43 -07003442 "src/math/sqrt-neonfma-nr1rsqrts1fma1adj.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003443 "src/math/sqrt-neonfma-nr2fma.c",
3444 "src/math/sqrt-neonfma-nr2fma1adj.c",
3445 "src/math/sqrt-neonfma-nr3fma.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003446]
3447
Marat Dukhanf7182322021-09-09 18:53:46 -07003448PROD_AARCH64_NEON_MICROKERNEL_SRCS = [
Marat Dukhan2c724952021-07-27 18:46:30 -07003449 "src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c",
3450 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c",
3451 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c",
3452 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c",
3453 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c",
3454 "src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c",
3455 "src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c",
3456 "src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c",
3457 "src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c",
3458 "src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c",
3459 "src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c",
3460 "src/f32-spmm/gen/32x2-minmax-neonfma.c",
3461 "src/f32-spmm/gen/32x4-minmax-neonfma.c",
3462 "src/f32-vbinary/gen/vdiv-minmax-neon-x8.c",
3463 "src/f32-vbinary/gen/vdivc-minmax-neon-x8.c",
3464 "src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c",
3465 "src/f32-vsqrt/gen/neon-sqrt-x4.c",
Marat Dukhan98e054b2021-09-13 09:43:50 -07003466 "src/x8-lut/gen/lut-neon-tbx128x4-x64.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003467]
3468
Marat Dukhanf7182322021-09-09 18:53:46 -07003469ALL_AARCH64_NEON_MICROKERNEL_SRCS = [
Marat Dukhan56b10cd2020-05-18 09:35:49 -07003470 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07003471 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003472 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07003473 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x2.c",
Marat Dukhan56b10cd2020-05-18 09:35:49 -07003474 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07003475 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003476 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x1.c",
Marat Dukhance7a3f82020-05-17 21:46:44 -07003477 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x2.c",
Marat Dukhan1f29b802020-05-15 23:46:39 -07003478 "src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003479 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc2.c",
3480 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc3.c",
3481 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc4.c",
Marat Dukhan1268a242020-10-24 00:36:32 -07003482 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003483 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4-acc2.c",
Marat Dukhan1268a242020-10-24 00:36:32 -07003484 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4.c",
3485 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c",
3486 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-4x4.c",
3487 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-5x4.c",
3488 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-6x4.c",
Marat Dukhan82f0c322020-10-25 19:17:35 -07003489 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc2.c",
3490 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc3.c",
3491 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003492 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4.c",
Marat Dukhan82f0c322020-10-25 19:17:35 -07003493 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003494 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4.c",
3495 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-3x4.c",
3496 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-4x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07003497 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc2.c",
3498 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc3.c",
3499 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc4.c",
3500 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc5.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003501 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07003502 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc2.c",
3503 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc3.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003504 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07003505 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003506 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4.c",
Marat Dukhan149f0ea2020-10-26 12:50:33 -07003507 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07003508 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c",
3509 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-5x4.c",
Marat Dukhan30d4b252020-10-29 16:33:22 -07003510 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c",
3511 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc3.c",
3512 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc4.c",
3513 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc5.c",
3514 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4.c",
3515 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc2.c",
3516 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc3.c",
3517 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4.c",
Marat Dukhan30d4b252020-10-29 16:33:22 -07003518 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4-acc2.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07003519 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003520 "src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-lane-ld64.c",
3521 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld64.c",
3522 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld128.c",
3523 "src/f32-gemm/gen-inc/5x8inc-minmax-neonfma-lane-ld64.c",
3524 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld64.c",
3525 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld128.c",
3526 "src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c",
3527 "src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c",
3528 "src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld64.c",
3529 "src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld128.c",
3530 "src/f32-gemm/gen/5x8-minmax-neonfma-lane-ld64.c",
3531 "src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c",
3532 "src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld128.c",
3533 "src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c",
3534 "src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c",
3535 "src/f32-igemm/gen/4x4-minmax-neonfma-lane-ld64.c",
3536 "src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld64.c",
3537 "src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld128.c",
3538 "src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c",
3539 "src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld128.c",
Marat Dukhan355ab432020-04-09 19:01:52 -07003540 "src/f32-spmm/gen/4x2-minmax-neonfma.c",
3541 "src/f32-spmm/gen/4x4-minmax-neonfma.c",
Marat Dukhan355ab432020-04-09 19:01:52 -07003542 "src/f32-spmm/gen/8x2-minmax-neonfma.c",
3543 "src/f32-spmm/gen/8x4-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003544 "src/f32-spmm/gen/12x2-minmax-neonfma.c",
3545 "src/f32-spmm/gen/12x4-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003546 "src/f32-spmm/gen/16x2-minmax-neonfma.c",
3547 "src/f32-spmm/gen/16x4-minmax-neonfma.c",
Frank Barchard846c0c62020-10-26 15:01:39 -07003548 "src/f32-spmm/gen/32x2-minmax-neonfma.c",
3549 "src/f32-spmm/gen/32x4-minmax-neonfma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003550 "src/f32-vbinary/gen/vdiv-minmax-neon-x4.c",
3551 "src/f32-vbinary/gen/vdiv-minmax-neon-x8.c",
3552 "src/f32-vbinary/gen/vdivc-minmax-neon-x4.c",
3553 "src/f32-vbinary/gen/vdivc-minmax-neon-x8.c",
3554 "src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c",
3555 "src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07003556 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x4.c",
3557 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x8.c",
3558 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x12.c",
3559 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x16.c",
3560 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x20.c",
3561 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x24.c",
3562 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x4.c",
3563 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x8.c",
3564 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x12.c",
3565 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x16.c",
3566 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x20.c",
3567 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x24.c",
3568 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x4.c",
3569 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x8.c",
3570 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x12.c",
3571 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x16.c",
3572 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x20.c",
3573 "src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x24.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07003574 "src/f32-vsqrt/gen/neon-sqrt-x4.c",
3575 "src/f32-vsqrt/gen/neon-sqrt-x8.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003576 "src/math/sigmoid-neonfma-rr1-lut64-p2-div.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003577 "src/math/sigmoid-neonfma-rr1-lut2048-p1-div.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003578 "src/math/sigmoid-neonfma-rr1-p5-div.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003579 "src/math/sigmoid-neonfma-rr2-lut64-p2-div.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003580 "src/math/sigmoid-neonfma-rr2-lut2048-p1-div.c",
Marat Dukhan77221d32020-01-06 10:04:39 -08003581 "src/math/sigmoid-neonfma-rr2-p5-div.c",
Marat Dukhanf7182322021-09-09 18:53:46 -07003582 "src/x8-lut/gen/lut-neon-tbx128x4-x16.c",
3583 "src/x8-lut/gen/lut-neon-tbx128x4-x32.c",
3584 "src/x8-lut/gen/lut-neon-tbx128x4-x48.c",
3585 "src/x8-lut/gen/lut-neon-tbx128x4-x64.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003586]
3587
Marat Dukhan2c724952021-07-27 18:46:30 -07003588PROD_NEONV8_MICROKERNEL_SRCS = [
3589 "src/f32-vrnd/gen/vrndd-neonv8-x8.c",
3590 "src/f32-vrnd/gen/vrndne-neonv8-x8.c",
3591 "src/f32-vrnd/gen/vrndu-neonv8-x8.c",
3592 "src/f32-vrnd/gen/vrndz-neonv8-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003593 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mla8-ld64.c",
Frank Barchard7da8b022021-08-31 09:49:10 -07003594 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld64.c",
3595 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld64.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003596 "src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3597 "src/qc8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003598 "src/qc8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003599 "src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3600 "src/qc8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003601 "src/qc8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003602 "src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3603 "src/qc8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003604 "src/qc8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003605 "src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3606 "src/qc8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003607 "src/qc8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07003608 "src/qs8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c",
3609 "src/qs8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c",
3610 "src/qu8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c",
3611 "src/qu8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003612]
3613
3614ALL_NEONV8_MICROKERNEL_SRCS = [
Marat Dukhaneecf8fd2020-06-09 08:59:37 -07003615 "src/f32-vrnd/gen/vrndd-neonv8-x4.c",
3616 "src/f32-vrnd/gen/vrndd-neonv8-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003617 "src/f32-vrnd/gen/vrndne-neonv8-x4.c",
3618 "src/f32-vrnd/gen/vrndne-neonv8-x8.c",
3619 "src/f32-vrnd/gen/vrndu-neonv8-x4.c",
3620 "src/f32-vrnd/gen/vrndu-neonv8-x8.c",
3621 "src/f32-vrnd/gen/vrndz-neonv8-x4.c",
3622 "src/f32-vrnd/gen/vrndz-neonv8-x8.c",
Marat Dukhan3df14d32021-12-01 13:05:51 -08003623 "src/f32-qs8-vcvt/gen/vcvt-neonv8-x8.c",
3624 "src/f32-qs8-vcvt/gen/vcvt-neonv8-x16.c",
3625 "src/f32-qs8-vcvt/gen/vcvt-neonv8-x24.c",
3626 "src/f32-qs8-vcvt/gen/vcvt-neonv8-x32.c",
3627 "src/f32-qu8-vcvt/gen/vcvt-neonv8-x8.c",
3628 "src/f32-qu8-vcvt/gen/vcvt-neonv8-x16.c",
3629 "src/f32-qu8-vcvt/gen/vcvt-neonv8-x24.c",
3630 "src/f32-qu8-vcvt/gen/vcvt-neonv8-x32.c",
Marat Dukhand24301d2021-12-02 00:13:45 -08003631 "src/math/cvt-f32-qs8-neonv8.c",
3632 "src/math/cvt-f32-qu8-neonv8.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -07003633 "src/math/roundd-neonv8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003634 "src/math/roundne-neonv8.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -07003635 "src/math/roundu-neonv8.c",
Marat Dukhan2dbb9442020-05-12 20:43:43 -07003636 "src/math/roundz-neonv8.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07003637 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mla8-ld64.c",
3638 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul8-ld64.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07003639 "src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07003640 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mla8-ld64.c",
3641 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul8-ld64.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07003642 "src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07003643 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld64.c",
3644 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld128.c",
3645 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul8-ld64.c",
3646 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul8-ld128.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07003647 "src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c",
Marat Dukhan5f2939f2021-07-23 13:38:32 -07003648 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld64.c",
3649 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld128.c",
3650 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul8-ld64.c",
3651 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul8-ld128.c",
Marat Dukhan59af5812021-06-29 18:09:57 -07003652 "src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c",
3653 "src/qc8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c",
3654 "src/qc8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c",
3655 "src/qc8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c",
3656 "src/qc8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003657 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003658 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3659 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003660 "src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003661 "src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3662 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003663 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3664 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003665 "src/qc8-gemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c",
3666 "src/qc8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07003667 "src/qc8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003668 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003669 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3670 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003671 "src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003672 "src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3673 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003674 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3675 "src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003676 "src/qc8-gemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c",
3677 "src/qc8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07003678 "src/qc8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003679 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003680 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3681 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003682 "src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003683 "src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3684 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003685 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3686 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003687 "src/qc8-igemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c",
3688 "src/qc8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07003689 "src/qc8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003690 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003691 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3692 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003693 "src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003694 "src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3695 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003696 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3697 "src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003698 "src/qc8-igemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c",
3699 "src/qc8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Marat Dukhane76478b2021-06-28 16:35:40 -07003700 "src/qc8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003701 "src/qs8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c",
3702 "src/qs8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c",
3703 "src/qs8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c",
3704 "src/qs8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c",
3705 "src/qs8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c",
3706 "src/qs8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c",
3707 "src/qs8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c",
3708 "src/qs8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003709 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003710 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3711 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003712 "src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003713 "src/qs8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3714 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003715 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3716 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003717 "src/qs8-gemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c",
3718 "src/qs8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003719 "src/qs8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003720 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003721 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3722 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003723 "src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003724 "src/qs8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3725 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003726 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3727 "src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003728 "src/qs8-gemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c",
3729 "src/qs8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003730 "src/qs8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003731 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003732 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3733 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003734 "src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003735 "src/qs8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c",
3736 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003737 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3738 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003739 "src/qs8-igemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c",
3740 "src/qs8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003741 "src/qs8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003742 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard15eec022021-11-17 13:26:20 -08003743 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c",
3744 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barchard42f5c502021-11-16 10:04:21 -08003745 "src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003746 "src/qs8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c",
3747 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c",
Frank Barchard64ab1b72021-11-22 10:57:40 -08003748 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c",
3749 "src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c",
Frank Barcharde22685a2021-11-12 11:36:58 -08003750 "src/qs8-igemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c",
3751 "src/qs8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c",
Frank Barcharda03020a2021-06-28 15:44:06 -07003752 "src/qs8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Marat Dukhan4a7b70f2021-08-02 18:18:10 -07003753 "src/qs8-vmul/gen/minmax-fp32-neonv8-ld64-x8.c",
3754 "src/qs8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c",
3755 "src/qs8-vmul/gen/minmax-fp32-neonv8-ld128-x16.c",
3756 "src/qs8-vmulc/gen/minmax-fp32-neonv8-ld64-x8.c",
3757 "src/qs8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c",
3758 "src/qs8-vmulc/gen/minmax-fp32-neonv8-ld128-x16.c",
Marat Dukhan605696a2021-07-15 18:01:30 -07003759 "src/qu8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c",
3760 "src/qu8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c",
3761 "src/qu8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c",
3762 "src/qu8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c",
3763 "src/qu8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c",
3764 "src/qu8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c",
3765 "src/qu8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c",
3766 "src/qu8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c",
Marat Dukhan69c8a292021-07-14 19:34:56 -07003767 "src/qu8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
3768 "src/qu8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
3769 "src/qu8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c",
3770 "src/qu8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c",
Marat Dukhan4a7b70f2021-08-02 18:18:10 -07003771 "src/qu8-vmul/gen/minmax-fp32-neonv8-ld64-x8.c",
3772 "src/qu8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c",
3773 "src/qu8-vmul/gen/minmax-fp32-neonv8-ld128-x16.c",
3774 "src/qu8-vmulc/gen/minmax-fp32-neonv8-ld64-x8.c",
3775 "src/qu8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c",
3776 "src/qu8-vmulc/gen/minmax-fp32-neonv8-ld128-x16.c",
Marat Dukhan8853b822020-05-07 12:19:01 -07003777]
3778
Marat Dukhan2c724952021-07-27 18:46:30 -07003779PROD_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS = [
3780 "src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c",
3781 "src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c",
3782 "src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c",
3783 "src/f16-gavgpool/7p7x-minmax-neonfp16arith-c8.c",
3784 "src/f16-gavgpool/7x-minmax-neonfp16arith-c8.c",
3785 "src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c",
3786 "src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c",
3787 "src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c",
3788 "src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c",
3789 "src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c",
3790 "src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c",
3791 "src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c",
3792 "src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c",
3793 "src/f16-vhswish/gen/vhswish-neonfp16arith-x16.c",
3794 "src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c",
3795]
3796
3797ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS = [
Frank Barchard5a599a62020-06-04 20:12:44 -07003798 "src/f16-dwconv/gen/up8x4-minmax-neonfp16arith-acc2.c",
3799 "src/f16-dwconv/gen/up8x4-minmax-neonfp16arith.c",
3800 "src/f16-dwconv/gen/up8x9-minmax-neonfp16arith-acc2.c",
3801 "src/f16-dwconv/gen/up8x9-minmax-neonfp16arith.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003802 "src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c",
3803 "src/f16-dwconv/gen/up8x25-minmax-neonfp16arith.c",
3804 "src/f16-dwconv/gen/up16x4-minmax-neonfp16arith-acc2.c",
3805 "src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c",
3806 "src/f16-dwconv/gen/up16x9-minmax-neonfp16arith-acc2.c",
3807 "src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c",
3808 "src/f16-dwconv/gen/up16x25-minmax-neonfp16arith-acc2.c",
3809 "src/f16-dwconv/gen/up16x25-minmax-neonfp16arith.c",
Frank Barchardc9f9d672021-10-18 12:51:59 -07003810 "src/f16-dwconv/gen/up32x4-minmax-neonfp16arith-acc2.c",
3811 "src/f16-dwconv/gen/up32x4-minmax-neonfp16arith.c",
3812 "src/f16-dwconv/gen/up32x9-minmax-neonfp16arith-acc2.c",
3813 "src/f16-dwconv/gen/up32x9-minmax-neonfp16arith.c",
3814 "src/f16-dwconv/gen/up32x25-minmax-neonfp16arith-acc2.c",
3815 "src/f16-dwconv/gen/up32x25-minmax-neonfp16arith.c",
Frank Barchard0bb49a72020-06-04 11:35:11 -07003816 "src/f16-gavgpool/7p7x-minmax-neonfp16arith-c8.c",
3817 "src/f16-gavgpool/7x-minmax-neonfp16arith-c8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003818 "src/f16-gemm/gen-inc/1x8inc-minmax-neonfp16arith-ld64.c",
3819 "src/f16-gemm/gen-inc/1x16inc-minmax-neonfp16arith-ld64.c",
3820 "src/f16-gemm/gen-inc/4x8inc-minmax-neonfp16arith-ld64.c",
3821 "src/f16-gemm/gen-inc/4x16inc-minmax-neonfp16arith-ld64.c",
3822 "src/f16-gemm/gen-inc/6x8inc-minmax-neonfp16arith-ld64.c",
3823 "src/f16-gemm/gen-inc/6x16inc-minmax-neonfp16arith-ld64.c",
3824 "src/f16-gemm/gen-inc/8x8inc-minmax-neonfp16arith-ld64.c",
3825 "src/f16-gemm/gen-inc/8x16inc-minmax-neonfp16arith-ld64.c",
3826 "src/f16-gemm/gen/1x8-minmax-neonfp16arith-ld64.c",
3827 "src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c",
3828 "src/f16-gemm/gen/4x8-minmax-neonfp16arith-ld64.c",
3829 "src/f16-gemm/gen/4x16-minmax-neonfp16arith-ld64.c",
3830 "src/f16-gemm/gen/6x8-minmax-neonfp16arith-ld64.c",
3831 "src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c",
3832 "src/f16-gemm/gen/8x8-minmax-neonfp16arith-ld64.c",
3833 "src/f16-gemm/gen/8x16-minmax-neonfp16arith-ld64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003834 "src/f16-igemm/gen/1x8-minmax-neonfp16arith-ld64.c",
3835 "src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c",
3836 "src/f16-igemm/gen/4x8-minmax-neonfp16arith-ld64.c",
3837 "src/f16-igemm/gen/4x16-minmax-neonfp16arith-ld64.c",
3838 "src/f16-igemm/gen/6x8-minmax-neonfp16arith-ld64.c",
3839 "src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c",
3840 "src/f16-igemm/gen/8x8-minmax-neonfp16arith-ld64.c",
3841 "src/f16-igemm/gen/8x16-minmax-neonfp16arith-ld64.c",
Frank Barchardb1966592020-05-12 13:47:06 -07003842 "src/f16-prelu/gen/neonfp16arith-2x8.c",
Frank Barcharda5316982020-07-23 13:19:28 -07003843 "src/f16-prelu/gen/neonfp16arith-2x16.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07003844 "src/f16-spmm/gen/8x1-minmax-neonfp16arith-x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003845 "src/f16-spmm/gen/8x1-minmax-neonfp16arith.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07003846 "src/f16-spmm/gen/16x1-minmax-neonfp16arith-x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003847 "src/f16-spmm/gen/16x1-minmax-neonfp16arith.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07003848 "src/f16-spmm/gen/24x1-minmax-neonfp16arith-x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003849 "src/f16-spmm/gen/24x1-minmax-neonfp16arith.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07003850 "src/f16-spmm/gen/32x1-minmax-neonfp16arith-x2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003851 "src/f16-spmm/gen/32x1-minmax-neonfp16arith.c",
3852 "src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c",
3853 "src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c",
3854 "src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c",
3855 "src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c",
3856 "src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c",
3857 "src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c",
3858 "src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c",
3859 "src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c",
3860 "src/f16-vbinary/gen/vmax-neonfp16arith-x8.c",
3861 "src/f16-vbinary/gen/vmax-neonfp16arith-x16.c",
3862 "src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c",
3863 "src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c",
3864 "src/f16-vbinary/gen/vmin-neonfp16arith-x8.c",
3865 "src/f16-vbinary/gen/vmin-neonfp16arith-x16.c",
3866 "src/f16-vbinary/gen/vminc-neonfp16arith-x8.c",
3867 "src/f16-vbinary/gen/vminc-neonfp16arith-x16.c",
3868 "src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c",
3869 "src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c",
3870 "src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c",
3871 "src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c",
3872 "src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c",
3873 "src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c",
3874 "src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c",
3875 "src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c",
3876 "src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c",
3877 "src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c",
3878 "src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c",
3879 "src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07003880 "src/f16-vclamp/gen/vclamp-neonfp16arith-x8.c",
3881 "src/f16-vclamp/gen/vclamp-neonfp16arith-x16.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07003882 "src/f16-vhswish/gen/vhswish-neonfp16arith-x8.c",
3883 "src/f16-vhswish/gen/vhswish-neonfp16arith-x16.c",
Frank Barchard04336c12020-10-22 16:48:55 -07003884 "src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c",
3885 "src/f16-vmulcaddc/gen/c16-minmax-neonfp16arith-2x.c",
Frank Barchardd4416d62021-05-17 15:51:37 -07003886 "src/f16-vrelu/gen/vrelu-neonfp16arith-x8.c",
3887 "src/f16-vrelu/gen/vrelu-neonfp16arith-x16.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07003888]
3889
Marat Dukhan2c724952021-07-27 18:46:30 -07003890PROD_NEONDOT_MICROKERNEL_SRCS = [
3891 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neondot.c",
3892 "src/qc8-gemm/gen/1x16c4-minmax-fp32-neondot.c",
3893 "src/qc8-gemm/gen/4x8c4-minmax-fp32-neondot.c",
3894 "src/qc8-gemm/gen/4x16c4-minmax-fp32-neondot.c",
3895 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neondot.c",
3896 "src/qc8-igemm/gen/1x16c4-minmax-fp32-neondot.c",
3897 "src/qc8-igemm/gen/4x8c4-minmax-fp32-neondot.c",
3898 "src/qc8-igemm/gen/4x16c4-minmax-fp32-neondot.c",
3899 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neondot.c",
3900 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neondot.c",
3901 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neondot.c",
3902 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neondot.c",
3903 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neondot.c",
3904 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neondot.c",
3905 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neondot.c",
3906 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neondot.c",
Frank Barchard8b698022021-08-26 11:17:32 -07003907 "src/qu8-gemm/gen/1x8c4-minmax-rndnu-neondot.c",
Frank Barchardde9c64a2021-08-17 18:32:50 -07003908 "src/qu8-gemm/gen/1x16c4-minmax-rndnu-neondot.c",
3909 "src/qu8-gemm/gen/2x16c4-minmax-rndnu-neondot.c",
3910 "src/qu8-gemm/gen/4x16c4-minmax-rndnu-neondot.c",
Frank Barchard8b698022021-08-26 11:17:32 -07003911 "src/qu8-igemm/gen/1x8c4-minmax-rndnu-neondot.c",
Frank Barchardde9c64a2021-08-17 18:32:50 -07003912 "src/qu8-igemm/gen/1x16c4-minmax-rndnu-neondot.c",
3913 "src/qu8-igemm/gen/2x16c4-minmax-rndnu-neondot.c",
3914 "src/qu8-igemm/gen/4x16c4-minmax-rndnu-neondot.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003915]
3916
3917ALL_NEONDOT_MICROKERNEL_SRCS = [
Marat Dukhane76478b2021-06-28 16:35:40 -07003918 "src/qc8-gemm/gen/1x8c4-minmax-fp32-neondot.c",
3919 "src/qc8-gemm/gen/1x16c4-minmax-fp32-neondot.c",
3920 "src/qc8-gemm/gen/4x8c4-minmax-fp32-neondot.c",
3921 "src/qc8-gemm/gen/4x16c4-minmax-fp32-neondot.c",
3922 "src/qc8-gemm/gen/6x8c4-minmax-fp32-neondot.c",
3923 "src/qc8-gemm/gen/6x16c4-minmax-fp32-neondot.c",
3924 "src/qc8-gemm/gen/8x8c4-minmax-fp32-neondot.c",
3925 "src/qc8-gemm/gen/8x16c4-minmax-fp32-neondot.c",
3926 "src/qc8-igemm/gen/1x8c4-minmax-fp32-neondot.c",
3927 "src/qc8-igemm/gen/1x16c4-minmax-fp32-neondot.c",
3928 "src/qc8-igemm/gen/4x8c4-minmax-fp32-neondot.c",
3929 "src/qc8-igemm/gen/4x16c4-minmax-fp32-neondot.c",
3930 "src/qc8-igemm/gen/6x8c4-minmax-fp32-neondot.c",
3931 "src/qc8-igemm/gen/6x16c4-minmax-fp32-neondot.c",
3932 "src/qc8-igemm/gen/8x8c4-minmax-fp32-neondot.c",
3933 "src/qc8-igemm/gen/8x16c4-minmax-fp32-neondot.c",
Marat Dukhan18630de2021-06-02 22:20:01 -07003934 "src/qs8-gemm/gen/1x8c4-minmax-fp32-neondot.c",
3935 "src/qs8-gemm/gen/1x8c4-minmax-gemmlowp-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003936 "src/qs8-gemm/gen/1x8c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003937 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003938 "src/qs8-gemm/gen/4x8c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003939 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-neondot.c",
Marat Dukhan4486f872021-08-07 15:22:50 -07003940 "src/qs8-gemm/gen/6x8c4-minmax-rndnu-neondot.c",
3941 "src/qs8-gemm/gen/6x16c4-minmax-rndnu-neondot.c",
3942 "src/qs8-gemm/gen/8x8c4-minmax-rndnu-neondot.c",
3943 "src/qs8-gemm/gen/8x16c4-minmax-rndnu-neondot.c",
Marat Dukhan18630de2021-06-02 22:20:01 -07003944 "src/qs8-igemm/gen/1x8c4-minmax-fp32-neondot.c",
3945 "src/qs8-igemm/gen/1x8c4-minmax-gemmlowp-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003946 "src/qs8-igemm/gen/1x8c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003947 "src/qs8-igemm/gen/1x16c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003948 "src/qs8-igemm/gen/4x8c4-minmax-rndnu-neondot.c",
Marat Dukhane903dff2021-07-16 19:43:41 -07003949 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-neondot.c",
Marat Dukhan4486f872021-08-07 15:22:50 -07003950 "src/qs8-igemm/gen/6x8c4-minmax-rndnu-neondot.c",
3951 "src/qs8-igemm/gen/6x16c4-minmax-rndnu-neondot.c",
3952 "src/qs8-igemm/gen/8x8c4-minmax-rndnu-neondot.c",
3953 "src/qs8-igemm/gen/8x16c4-minmax-rndnu-neondot.c",
Frank Barchard88e839c2021-08-11 00:12:31 -07003954 "src/qu8-gemm/gen/1x8c4-minmax-rndnu-neondot.c",
3955 "src/qu8-gemm/gen/1x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003956 "src/qu8-gemm/gen/1x32c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003957 "src/qu8-gemm/gen/2x8c4-minmax-rndnu-neondot.c",
3958 "src/qu8-gemm/gen/2x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003959 "src/qu8-gemm/gen/2x32c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003960 "src/qu8-gemm/gen/3x8c4-minmax-rndnu-neondot.c",
3961 "src/qu8-gemm/gen/3x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003962 "src/qu8-gemm/gen/3x32c4-minmax-rndnu-neondot.c",
Frank Barchard88e839c2021-08-11 00:12:31 -07003963 "src/qu8-gemm/gen/4x8c4-minmax-rndnu-neondot.c",
3964 "src/qu8-gemm/gen/4x16c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003965 "src/qu8-gemm/gen/5x8c4-minmax-rndnu-neondot.c",
3966 "src/qu8-gemm/gen/5x16c4-minmax-rndnu-neondot.c",
Frank Barchard88e839c2021-08-11 00:12:31 -07003967 "src/qu8-gemm/gen/6x8c4-minmax-rndnu-neondot.c",
3968 "src/qu8-gemm/gen/6x16c4-minmax-rndnu-neondot.c",
3969 "src/qu8-gemm/gen/8x8c4-minmax-rndnu-neondot.c",
3970 "src/qu8-gemm/gen/8x16c4-minmax-rndnu-neondot.c",
3971 "src/qu8-igemm/gen/1x8c4-minmax-rndnu-neondot.c",
3972 "src/qu8-igemm/gen/1x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003973 "src/qu8-igemm/gen/1x32c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003974 "src/qu8-igemm/gen/2x8c4-minmax-rndnu-neondot.c",
3975 "src/qu8-igemm/gen/2x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003976 "src/qu8-igemm/gen/2x32c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003977 "src/qu8-igemm/gen/3x8c4-minmax-rndnu-neondot.c",
3978 "src/qu8-igemm/gen/3x16c4-minmax-rndnu-neondot.c",
Frank Barchardcdf59a52021-09-08 13:55:24 -07003979 "src/qu8-igemm/gen/3x32c4-minmax-rndnu-neondot.c",
Frank Barchard88e839c2021-08-11 00:12:31 -07003980 "src/qu8-igemm/gen/4x8c4-minmax-rndnu-neondot.c",
3981 "src/qu8-igemm/gen/4x16c4-minmax-rndnu-neondot.c",
Frank Barcharde0331262021-08-11 23:18:59 -07003982 "src/qu8-igemm/gen/5x8c4-minmax-rndnu-neondot.c",
3983 "src/qu8-igemm/gen/5x16c4-minmax-rndnu-neondot.c",
Frank Barchard88e839c2021-08-11 00:12:31 -07003984 "src/qu8-igemm/gen/6x8c4-minmax-rndnu-neondot.c",
3985 "src/qu8-igemm/gen/6x16c4-minmax-rndnu-neondot.c",
3986 "src/qu8-igemm/gen/8x8c4-minmax-rndnu-neondot.c",
3987 "src/qu8-igemm/gen/8x16c4-minmax-rndnu-neondot.c",
Benoit Jacoba9644732020-08-13 12:48:55 -07003988]
3989
Marat Dukhan2c724952021-07-27 18:46:30 -07003990PROD_SSE_MICROKERNEL_SRCS = [
3991 "src/f32-avgpool/9p8x-minmax-sse-c4.c",
3992 "src/f32-avgpool/9x-minmax-sse-c4.c",
3993 "src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07003994 "src/f32-dwconv/gen/up8x3-minmax-sse.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07003995 "src/f32-dwconv/gen/up8x4-minmax-sse.c",
3996 "src/f32-dwconv/gen/up8x9-minmax-sse.c",
3997 "src/f32-dwconv/gen/up8x25-minmax-sse.c",
3998 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c",
3999 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c",
4000 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c",
4001 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c",
4002 "src/f32-gavgpool-cw/sse-x4.c",
4003 "src/f32-gavgpool/7p7x-minmax-sse-c4.c",
4004 "src/f32-gavgpool/7x-minmax-sse-c4.c",
4005 "src/f32-gemm/gen/1x8-minmax-sse-load1.c",
4006 "src/f32-gemm/gen/4x2c4-minmax-sse.c",
4007 "src/f32-gemm/gen/4x8-minmax-sse-load1.c",
4008 "src/f32-ibilinear-chw/gen/sse-p8.c",
4009 "src/f32-ibilinear/gen/sse-c8.c",
4010 "src/f32-igemm/gen/1x8-minmax-sse-load1.c",
4011 "src/f32-igemm/gen/4x2c4-minmax-sse.c",
4012 "src/f32-igemm/gen/4x8-minmax-sse-load1.c",
4013 "src/f32-maxpool/9p8x-minmax-sse-c4.c",
4014 "src/f32-pavgpool/9p8x-minmax-sse-c4.c",
4015 "src/f32-pavgpool/9x-minmax-sse-c4.c",
4016 "src/f32-rmax/sse.c",
4017 "src/f32-spmm/gen/32x1-minmax-sse.c",
4018 "src/f32-vbinary/gen/vadd-minmax-sse-x8.c",
4019 "src/f32-vbinary/gen/vaddc-minmax-sse-x8.c",
4020 "src/f32-vbinary/gen/vdiv-minmax-sse-x8.c",
4021 "src/f32-vbinary/gen/vdivc-minmax-sse-x8.c",
4022 "src/f32-vbinary/gen/vmax-sse-x8.c",
4023 "src/f32-vbinary/gen/vmaxc-sse-x8.c",
4024 "src/f32-vbinary/gen/vmin-sse-x8.c",
4025 "src/f32-vbinary/gen/vminc-sse-x8.c",
4026 "src/f32-vbinary/gen/vmul-minmax-sse-x8.c",
4027 "src/f32-vbinary/gen/vmulc-minmax-sse-x8.c",
4028 "src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c",
4029 "src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c",
4030 "src/f32-vbinary/gen/vsqrdiff-sse-x8.c",
4031 "src/f32-vbinary/gen/vsqrdiffc-sse-x8.c",
4032 "src/f32-vbinary/gen/vsub-minmax-sse-x8.c",
4033 "src/f32-vbinary/gen/vsubc-minmax-sse-x8.c",
4034 "src/f32-vclamp/gen/vclamp-sse-x8.c",
4035 "src/f32-vhswish/gen/vhswish-sse-x8.c",
4036 "src/f32-vlrelu/gen/vlrelu-sse-x8.c",
4037 "src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c",
4038 "src/f32-vsqrt/gen/sse-sqrt-x4.c",
4039 "src/f32-vunary/gen/vabs-sse-x8.c",
4040 "src/f32-vunary/gen/vneg-sse-x8.c",
4041 "src/f32-vunary/gen/vsqr-sse-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004042 "src/x32-packx/x4-sse.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004043]
4044
4045ALL_SSE_MICROKERNEL_SRCS = [
Marat Dukhan99936602020-04-11 16:47:01 -07004046 "src/f32-avgpool/9p8x-minmax-sse-c4.c",
4047 "src/f32-avgpool/9x-minmax-sse-c4.c",
Erich Elsenb1233402020-06-08 15:53:15 -07004048 "src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-1x1.c",
4049 "src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07004050 "src/f32-dwconv/gen/up4x3-minmax-sse-acc2.c",
4051 "src/f32-dwconv/gen/up4x3-minmax-sse.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004052 "src/f32-dwconv/gen/up4x4-minmax-sse-acc2.c",
4053 "src/f32-dwconv/gen/up4x4-minmax-sse.c",
4054 "src/f32-dwconv/gen/up4x9-minmax-sse-acc2.c",
4055 "src/f32-dwconv/gen/up4x9-minmax-sse.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004056 "src/f32-dwconv/gen/up4x25-minmax-sse-acc2.c",
4057 "src/f32-dwconv/gen/up4x25-minmax-sse.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07004058 "src/f32-dwconv/gen/up8x3-minmax-sse-acc2.c",
4059 "src/f32-dwconv/gen/up8x3-minmax-sse.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004060 "src/f32-dwconv/gen/up8x4-minmax-sse-acc2.c",
4061 "src/f32-dwconv/gen/up8x4-minmax-sse.c",
4062 "src/f32-dwconv/gen/up8x9-minmax-sse-acc2.c",
4063 "src/f32-dwconv/gen/up8x9-minmax-sse.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004064 "src/f32-dwconv/gen/up8x25-minmax-sse-acc2.c",
4065 "src/f32-dwconv/gen/up8x25-minmax-sse.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07004066 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc2.c",
4067 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc3.c",
4068 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc4.c",
Marat Dukhan470078a2020-10-23 22:36:52 -07004069 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07004070 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c",
Marat Dukhan470078a2020-10-23 22:36:52 -07004071 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4.c",
4072 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-3x4.c",
4073 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-4x4.c",
4074 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-5x4.c",
4075 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-6x4.c",
Marat Dukhan0ff97182020-10-25 19:14:03 -07004076 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc2.c",
4077 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c",
4078 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07004079 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4.c",
Marat Dukhan0ff97182020-10-25 19:14:03 -07004080 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4-acc2.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07004081 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4.c",
4082 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-3x4.c",
4083 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-4x4.c",
Marat Dukhand0503892020-10-30 08:22:04 -07004084 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc2.c",
4085 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc3.c",
4086 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc4.c",
4087 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc5.c",
4088 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4.c",
4089 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc2.c",
4090 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc3.c",
4091 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4.c",
4092 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4-acc2.c",
4093 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4.c",
4094 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4-acc2.c",
4095 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c",
4096 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-5x4.c",
Marat Dukhanccca2142020-10-30 17:32:45 -07004097 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc2.c",
4098 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc3.c",
4099 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc4.c",
4100 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc5.c",
4101 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4.c",
4102 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc2.c",
4103 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc3.c",
4104 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c",
Marat Dukhanccca2142020-10-30 17:32:45 -07004105 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4-acc2.c",
Frank Barchard8ef44cd2020-11-03 12:30:23 -08004106 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4.c",
Marat Dukhan1f29b802020-05-15 23:46:39 -07004107 "src/f32-gavgpool-cw/sse-x4.c",
Marat Dukhan99936602020-04-11 16:47:01 -07004108 "src/f32-gavgpool/7p7x-minmax-sse-c4.c",
4109 "src/f32-gavgpool/7x-minmax-sse-c4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004110 "src/f32-gemm/gen-inc/1x8inc-minmax-sse-dup.c",
4111 "src/f32-gemm/gen-inc/1x8inc-minmax-sse-load1.c",
4112 "src/f32-gemm/gen-inc/1x8s4inc-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004113 "src/f32-gemm/gen-inc/3x8inc-minmax-sse-dup.c",
4114 "src/f32-gemm/gen-inc/3x8inc-minmax-sse-load1.c",
4115 "src/f32-gemm/gen-inc/3x8s4inc-minmax-sse.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004116 "src/f32-gemm/gen-inc/4x8inc-minmax-sse-dup.c",
4117 "src/f32-gemm/gen-inc/4x8inc-minmax-sse-load1.c",
4118 "src/f32-gemm/gen-inc/4x8s4inc-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004119 "src/f32-gemm/gen-inc/5x8inc-minmax-sse-dup.c",
4120 "src/f32-gemm/gen-inc/5x8inc-minmax-sse-load1.c",
4121 "src/f32-gemm/gen-inc/5x8s4inc-minmax-sse.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004122 "src/f32-gemm/gen/1x8-minmax-sse-dup.c",
4123 "src/f32-gemm/gen/1x8-minmax-sse-load1.c",
4124 "src/f32-gemm/gen/1x8s4-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004125 "src/f32-gemm/gen/3x8-minmax-sse-dup.c",
4126 "src/f32-gemm/gen/3x8-minmax-sse-load1.c",
4127 "src/f32-gemm/gen/3x8s4-minmax-sse.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004128 "src/f32-gemm/gen/4x2c4-minmax-sse.c",
4129 "src/f32-gemm/gen/4x8-minmax-sse-dup.c",
4130 "src/f32-gemm/gen/4x8-minmax-sse-load1.c",
4131 "src/f32-gemm/gen/4x8s4-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004132 "src/f32-gemm/gen/5x8-minmax-sse-dup.c",
4133 "src/f32-gemm/gen/5x8-minmax-sse-load1.c",
4134 "src/f32-gemm/gen/5x8s4-minmax-sse.c",
Artsiom Ablavatskib3ffd582021-03-31 13:00:08 -07004135 "src/f32-ibilinear-chw/gen/sse-p4.c",
4136 "src/f32-ibilinear-chw/gen/sse-p8.c",
Frank Barchard4a352042021-04-13 15:52:08 -07004137 "src/f32-ibilinear/gen/sse-c4.c",
4138 "src/f32-ibilinear/gen/sse-c8.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004139 "src/f32-igemm/gen/1x8-minmax-sse-dup.c",
4140 "src/f32-igemm/gen/1x8-minmax-sse-load1.c",
4141 "src/f32-igemm/gen/1x8s4-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004142 "src/f32-igemm/gen/3x8-minmax-sse-dup.c",
4143 "src/f32-igemm/gen/3x8-minmax-sse-load1.c",
4144 "src/f32-igemm/gen/3x8s4-minmax-sse.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004145 "src/f32-igemm/gen/4x2c4-minmax-sse.c",
4146 "src/f32-igemm/gen/4x8-minmax-sse-dup.c",
4147 "src/f32-igemm/gen/4x8-minmax-sse-load1.c",
4148 "src/f32-igemm/gen/4x8s4-minmax-sse.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004149 "src/f32-igemm/gen/5x8-minmax-sse-dup.c",
4150 "src/f32-igemm/gen/5x8-minmax-sse-load1.c",
4151 "src/f32-igemm/gen/5x8s4-minmax-sse.c",
Marat Dukhan99936602020-04-11 16:47:01 -07004152 "src/f32-maxpool/9p8x-minmax-sse-c4.c",
4153 "src/f32-pavgpool/9p8x-minmax-sse-c4.c",
4154 "src/f32-pavgpool/9x-minmax-sse-c4.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07004155 "src/f32-ppmm/gen/4x8-minmax-sse.c",
Marat Dukhan39b5e942020-06-24 15:03:48 -07004156 "src/f32-prelu/gen/sse-2x4.c",
4157 "src/f32-prelu/gen/sse-2x8.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07004158 "src/f32-rmax/sse.c",
Marat Dukhan355ab432020-04-09 19:01:52 -07004159 "src/f32-spmm/gen/4x1-minmax-sse.c",
4160 "src/f32-spmm/gen/8x1-minmax-sse.c",
Erich Elsen6e80fdc2020-06-09 15:35:37 -07004161 "src/f32-spmm/gen/16x1-minmax-sse.c",
Frank Barchard846c0c62020-10-26 15:01:39 -07004162 "src/f32-spmm/gen/32x1-minmax-sse.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07004163 "src/f32-vbinary/gen/vadd-minmax-sse-x4.c",
4164 "src/f32-vbinary/gen/vadd-minmax-sse-x8.c",
4165 "src/f32-vbinary/gen/vaddc-minmax-sse-x4.c",
4166 "src/f32-vbinary/gen/vaddc-minmax-sse-x8.c",
4167 "src/f32-vbinary/gen/vdiv-minmax-sse-x4.c",
4168 "src/f32-vbinary/gen/vdiv-minmax-sse-x8.c",
4169 "src/f32-vbinary/gen/vdivc-minmax-sse-x4.c",
4170 "src/f32-vbinary/gen/vdivc-minmax-sse-x8.c",
Marat Dukhan403b7d42019-12-05 12:49:11 -08004171 "src/f32-vbinary/gen/vmax-sse-x4.c",
4172 "src/f32-vbinary/gen/vmax-sse-x8.c",
4173 "src/f32-vbinary/gen/vmaxc-sse-x4.c",
4174 "src/f32-vbinary/gen/vmaxc-sse-x8.c",
4175 "src/f32-vbinary/gen/vmin-sse-x4.c",
4176 "src/f32-vbinary/gen/vmin-sse-x8.c",
4177 "src/f32-vbinary/gen/vminc-sse-x4.c",
4178 "src/f32-vbinary/gen/vminc-sse-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07004179 "src/f32-vbinary/gen/vmul-minmax-sse-x4.c",
4180 "src/f32-vbinary/gen/vmul-minmax-sse-x8.c",
4181 "src/f32-vbinary/gen/vmulc-minmax-sse-x4.c",
4182 "src/f32-vbinary/gen/vmulc-minmax-sse-x8.c",
4183 "src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c",
4184 "src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c",
4185 "src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c",
4186 "src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -07004187 "src/f32-vbinary/gen/vsqrdiff-sse-x4.c",
4188 "src/f32-vbinary/gen/vsqrdiff-sse-x8.c",
4189 "src/f32-vbinary/gen/vsqrdiffc-sse-x4.c",
4190 "src/f32-vbinary/gen/vsqrdiffc-sse-x8.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07004191 "src/f32-vbinary/gen/vsub-minmax-sse-x4.c",
4192 "src/f32-vbinary/gen/vsub-minmax-sse-x8.c",
4193 "src/f32-vbinary/gen/vsubc-minmax-sse-x4.c",
4194 "src/f32-vbinary/gen/vsubc-minmax-sse-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07004195 "src/f32-vclamp/gen/vclamp-sse-x4.c",
4196 "src/f32-vclamp/gen/vclamp-sse-x8.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07004197 "src/f32-vhswish/gen/vhswish-sse-x4.c",
4198 "src/f32-vhswish/gen/vhswish-sse-x8.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07004199 "src/f32-vlrelu/gen/vlrelu-sse-x4.c",
4200 "src/f32-vlrelu/gen/vlrelu-sse-x8.c",
Marat Dukhan99936602020-04-11 16:47:01 -07004201 "src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c",
4202 "src/f32-vmulcaddc/gen/c8-minmax-sse-2x.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07004203 "src/f32-vrelu/gen/vrelu-sse-x4.c",
4204 "src/f32-vrelu/gen/vrelu-sse-x8.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07004205 "src/f32-vsqrt/gen/sse-sqrt-x4.c",
4206 "src/f32-vsqrt/gen/sse-sqrt-x8.c",
Marat Dukhan5020b962020-06-08 13:30:10 -07004207 "src/f32-vunary/gen/vabs-sse-x4.c",
4208 "src/f32-vunary/gen/vabs-sse-x8.c",
4209 "src/f32-vunary/gen/vneg-sse-x4.c",
4210 "src/f32-vunary/gen/vneg-sse-x8.c",
4211 "src/f32-vunary/gen/vsqr-sse-x4.c",
4212 "src/f32-vunary/gen/vsqr-sse-x8.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -07004213 "src/math/roundd-sse-addsub.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004214 "src/math/roundne-sse-addsub.c",
Marat Dukhanc9852ba2020-05-13 17:21:29 -07004215 "src/math/roundu-sse-addsub.c",
Marat Dukhan2dbb9442020-05-12 20:43:43 -07004216 "src/math/roundz-sse-addsub.c",
Marat Dukhan84000762020-06-29 18:38:43 -07004217 "src/math/sqrt-sse-hh1mac.c",
4218 "src/math/sqrt-sse-nr1mac.c",
4219 "src/math/sqrt-sse-nr2mac.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004220 "src/x32-packx/x4-sse.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07004221]
4222
Marat Dukhan2c724952021-07-27 18:46:30 -07004223PROD_SSE2_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07004224 "src/f16-f32-vcvt/gen/vcvt-sse2-int16-x32.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004225 "src/f32-argmaxpool/4x-sse2-c4.c",
4226 "src/f32-argmaxpool/9p8x-sse2-c4.c",
4227 "src/f32-argmaxpool/9x-sse2-c4.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08004228 "src/f32-f16-vcvt/gen/vcvt-sse2-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004229 "src/f32-prelu/gen/sse2-2x8.c",
4230 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc2.c",
4231 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x12.c",
4232 "src/f32-vlrelu/gen/vlrelu-sse2-x8.c",
4233 "src/f32-vrnd/gen/vrndd-sse2-x8.c",
4234 "src/f32-vrnd/gen/vrndne-sse2-x8.c",
4235 "src/f32-vrnd/gen/vrndu-sse2-x8.c",
4236 "src/f32-vrnd/gen/vrndz-sse2-x8.c",
4237 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x8.c",
4238 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c",
4239 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c",
4240 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4241 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4242 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4243 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4244 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c",
4245 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c",
4246 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c8-acc2.c",
4247 "src/qs8-gavgpool/gen/7x-minmax-sse2-c8-acc2.c",
4248 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4249 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4250 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4251 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4252 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
4253 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07004254 "src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4255 "src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004256 "src/qu8-avgpool/9p8x-minmax-sse2-c8.c",
4257 "src/qu8-avgpool/9x-minmax-sse2-c8.c",
4258 "src/qu8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c",
4259 "src/qu8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c",
4260 "src/qu8-gavgpool/7p7x-minmax-sse2-c8.c",
4261 "src/qu8-gavgpool/7x-minmax-sse2-c8.c",
4262 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4263 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4264 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4265 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4266 "src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
4267 "src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07004268 "src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4269 "src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08004270 "src/s8-ibilinear/gen/sse2-c8.c",
Marat Dukhan23147532021-08-16 07:26:56 -07004271 "src/s8-maxpool/9p8x-minmax-sse2-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07004272 "src/s8-vclamp/sse2-x64.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08004273 "src/u8-ibilinear/gen/sse2-c8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004274 "src/u8-maxpool/9p8x-minmax-sse2-c16.c",
4275 "src/u8-rmax/sse2.c",
4276 "src/u8-vclamp/sse2-x64.c",
4277 "src/x8-zip/x2-sse2.c",
4278 "src/x8-zip/x3-sse2.c",
4279 "src/x8-zip/x4-sse2.c",
4280 "src/x8-zip/xm-sse2.c",
4281 "src/x32-unpool/sse2.c",
4282 "src/x32-zip/x2-sse2.c",
4283 "src/x32-zip/x3-sse2.c",
4284 "src/x32-zip/x4-sse2.c",
4285 "src/x32-zip/xm-sse2.c",
Marat Dukhan933051b2021-08-07 16:26:15 -07004286 "src/xx-fill/sse2-x64.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -07004287 "src/xx-pad/sse2.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004288]
4289
4290ALL_SSE2_MICROKERNEL_SRCS = [
Marat Dukhan1227adb2021-10-16 17:33:51 -07004291 "src/f16-f32-vcvt/gen/vcvt-sse2-int16-x8.c",
4292 "src/f16-f32-vcvt/gen/vcvt-sse2-int16-x16.c",
4293 "src/f16-f32-vcvt/gen/vcvt-sse2-int16-x24.c",
4294 "src/f16-f32-vcvt/gen/vcvt-sse2-int16-x32.c",
4295 "src/f16-f32-vcvt/gen/vcvt-sse2-int32-x8.c",
4296 "src/f16-f32-vcvt/gen/vcvt-sse2-int32-x16.c",
4297 "src/f16-f32-vcvt/gen/vcvt-sse2-int32-x24.c",
4298 "src/f16-f32-vcvt/gen/vcvt-sse2-int32-x32.c",
Marat Dukhan329da642019-11-19 21:44:39 -08004299 "src/f32-argmaxpool/4x-sse2-c4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004300 "src/f32-argmaxpool/9p8x-sse2-c4.c",
Marat Dukhan329da642019-11-19 21:44:39 -08004301 "src/f32-argmaxpool/9x-sse2-c4.c",
Marat Dukhaneb844232021-11-08 23:07:53 -08004302 "src/f32-f16-vcvt/gen/vcvt-sse2-x8.c",
4303 "src/f32-f16-vcvt/gen/vcvt-sse2-x16.c",
4304 "src/f32-f16-vcvt/gen/vcvt-sse2-x24.c",
4305 "src/f32-f16-vcvt/gen/vcvt-sse2-x32.c",
Marat Dukhan802fcae2020-12-11 14:37:25 -08004306 "src/f32-gemm/gen-inc/1x8inc-minmax-sse2-dup.c",
4307 "src/f32-gemm/gen-inc/3x8inc-minmax-sse2-dup.c",
4308 "src/f32-gemm/gen-inc/4x8inc-minmax-sse2-dup.c",
4309 "src/f32-gemm/gen-inc/5x8inc-minmax-sse2-dup.c",
4310 "src/f32-gemm/gen/1x8-minmax-sse2-dup.c",
4311 "src/f32-gemm/gen/3x8-minmax-sse2-dup.c",
4312 "src/f32-gemm/gen/4x8-minmax-sse2-dup.c",
4313 "src/f32-gemm/gen/5x8-minmax-sse2-dup.c",
4314 "src/f32-igemm/gen/1x8-minmax-sse2-dup.c",
4315 "src/f32-igemm/gen/3x8-minmax-sse2-dup.c",
4316 "src/f32-igemm/gen/4x8-minmax-sse2-dup.c",
4317 "src/f32-igemm/gen/5x8-minmax-sse2-dup.c",
Marat Dukhan40a672f2019-11-25 03:08:22 -08004318 "src/f32-prelu/gen/sse2-2x4.c",
4319 "src/f32-prelu/gen/sse2-2x8.c",
Marat Dukhanc5aa2422021-12-01 00:15:19 -08004320 "src/f32-qs8-vcvt/gen/vcvt-sse2-x8.c",
4321 "src/f32-qs8-vcvt/gen/vcvt-sse2-x16.c",
4322 "src/f32-qs8-vcvt/gen/vcvt-sse2-x24.c",
4323 "src/f32-qs8-vcvt/gen/vcvt-sse2-x32.c",
4324 "src/f32-qu8-vcvt/gen/vcvt-sse2-x8.c",
4325 "src/f32-qu8-vcvt/gen/vcvt-sse2-x16.c",
4326 "src/f32-qu8-vcvt/gen/vcvt-sse2-x24.c",
4327 "src/f32-qu8-vcvt/gen/vcvt-sse2-x32.c",
Marat Dukhanb39689d2020-01-24 13:32:20 -08004328 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x4.c",
Marat Dukhanb39689d2020-01-24 13:32:20 -08004329 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x8-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004330 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x8.c",
Marat Dukhanb39689d2020-01-24 13:32:20 -08004331 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc2.c",
4332 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004333 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12.c",
Marat Dukhanb39689d2020-01-24 13:32:20 -08004334 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc2.c",
4335 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004336 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16.c",
Marat Dukhanb39689d2020-01-24 13:32:20 -08004337 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc2.c",
4338 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004339 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08004340 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x4.c",
4341 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x8.c",
4342 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x12.c",
4343 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x16.c",
4344 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x20.c",
4345 "src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x24.c",
4346 "src/f32-velu/gen/velu-sse2-rr2-p6-x4.c",
4347 "src/f32-velu/gen/velu-sse2-rr2-p6-x8.c",
4348 "src/f32-velu/gen/velu-sse2-rr2-p6-x12.c",
4349 "src/f32-velu/gen/velu-sse2-rr2-p6-x16.c",
4350 "src/f32-velu/gen/velu-sse2-rr2-p6-x20.c",
4351 "src/f32-velu/gen/velu-sse2-rr2-p6-x24.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07004352 "src/f32-vlrelu/gen/vlrelu-sse2-x4.c",
4353 "src/f32-vlrelu/gen/vlrelu-sse2-x8.c",
Marat Dukhaneecf8fd2020-06-09 08:59:37 -07004354 "src/f32-vrnd/gen/vrndd-sse2-x4.c",
4355 "src/f32-vrnd/gen/vrndd-sse2-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004356 "src/f32-vrnd/gen/vrndne-sse2-x4.c",
4357 "src/f32-vrnd/gen/vrndne-sse2-x8.c",
4358 "src/f32-vrnd/gen/vrndu-sse2-x4.c",
4359 "src/f32-vrnd/gen/vrndu-sse2-x8.c",
4360 "src/f32-vrnd/gen/vrndz-sse2-x4.c",
4361 "src/f32-vrnd/gen/vrndz-sse2-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07004362 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x4.c",
4363 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x8.c",
4364 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x12.c",
4365 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x16.c",
4366 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x20.c",
4367 "src/f32-vsigmoid/gen/vsigmoid-sse2-lut64-p2-div-x24.c",
4368 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x4.c",
4369 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x8.c",
4370 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x12.c",
4371 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x16.c",
4372 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x20.c",
4373 "src/f32-vsigmoid/gen/vsigmoid-sse2-p5-div-x24.c",
Marat Dukhan3ed866b2021-09-29 08:23:33 -07004374 "src/math/cvt-f16-f32-sse2-int16.c",
4375 "src/math/cvt-f16-f32-sse2-int32.c",
Marat Dukhan056f49d2021-11-08 17:44:42 -08004376 "src/math/cvt-f32-f16-sse2.c",
Marat Dukhanb7633f22020-11-20 16:34:56 -08004377 "src/math/exp-sse2-rr2-lut64-p2.c",
4378 "src/math/exp-sse2-rr2-p5.c",
Marat Dukhande390d42020-11-29 19:32:18 -08004379 "src/math/expm1minus-sse2-rr2-lut16-p3.c",
Marat Dukhana438aca2020-11-20 15:45:01 -08004380 "src/math/expm1minus-sse2-rr2-p6.c",
Frank Barchard3b800452020-11-22 12:12:35 -08004381 "src/math/expminus-sse2-rr2-p5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004382 "src/math/roundd-sse2-cvt.c",
4383 "src/math/roundne-sse2-cvt.c",
4384 "src/math/roundu-sse2-cvt.c",
4385 "src/math/roundz-sse2-cvt.c",
4386 "src/math/sigmoid-sse2-rr2-lut64-p2-div.c",
4387 "src/math/sigmoid-sse2-rr2-lut64-p2-nr1.c",
4388 "src/math/sigmoid-sse2-rr2-lut64-p2-nr2.c",
4389 "src/math/sigmoid-sse2-rr2-p5-div.c",
4390 "src/math/sigmoid-sse2-rr2-p5-nr1.c",
4391 "src/math/sigmoid-sse2-rr2-p5-nr2.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004392 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004393 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004394 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004395 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004396 "src/qc8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004397 "src/qc8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004398 "src/qc8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004399 "src/qc8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07004400 "src/qc8-dwconv/gen/up24x9-minmax-fp32-sse2-mul16.c",
4401 "src/qc8-dwconv/gen/up24x25-minmax-fp32-sse2-mul16.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004402 "src/qc8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004403 "src/qc8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004404 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004405 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004406 "src/qc8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004407 "src/qc8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004408 "src/qc8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004409 "src/qc8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004410 "src/qc8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004411 "src/qc8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004412 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004413 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004414 "src/qc8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004415 "src/qc8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004416 "src/qc8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004417 "src/qc8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004418 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004419 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004420 "src/qc8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004421 "src/qc8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004422 "src/qc8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004423 "src/qc8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004424 "src/qc8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004425 "src/qc8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004426 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004427 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004428 "src/qc8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004429 "src/qc8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004430 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004431 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c",
Marat Dukhancaf48312021-06-01 20:20:58 -07004432 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004433 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004434 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004435 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004436 "src/qs8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004437 "src/qs8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004438 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-sse2-mul16.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004439 "src/qs8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004440 "src/qs8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004441 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-sse2-mul16.c",
4442 "src/qs8-dwconv/gen/up24x9-minmax-fp32-sse2-mul16.c",
4443 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-sse2-mul16.c",
4444 "src/qs8-dwconv/gen/up24x25-minmax-fp32-sse2-mul16.c",
4445 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-sse2-mul16.c",
Marat Dukhan159688f2020-08-06 10:34:29 -07004446 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c8-acc2.c",
4447 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c16-acc2.c",
4448 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c24-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004449 "src/qs8-gavgpool/gen/7x-minmax-sse2-c8-acc2.c",
4450 "src/qs8-gavgpool/gen/7x-minmax-sse2-c16-acc2.c",
4451 "src/qs8-gavgpool/gen/7x-minmax-sse2-c24-acc2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004452 "src/qs8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004453 "src/qs8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004454 "src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004455 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004456 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004457 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004458 "src/qs8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004459 "src/qs8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004460 "src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004461 "src/qs8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004462 "src/qs8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004463 "src/qs8-gemm/gen/2x4c8-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004464 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004465 "src/qs8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004466 "src/qs8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004467 "src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004468 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004469 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004470 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004471 "src/qs8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004472 "src/qs8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004473 "src/qs8-gemm/gen/4x4c2-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004474 "src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-sse2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004475 "src/qs8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004476 "src/qs8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004477 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004478 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004479 "src/qs8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004480 "src/qs8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004481 "src/qs8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004482 "src/qs8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004483 "src/qs8-igemm/gen/2x4c8-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004484 "src/qs8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004485 "src/qs8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004486 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004487 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004488 "src/qs8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004489 "src/qs8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004490 "src/qs8-igemm/gen/4x4c2-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhanf62bbdc2020-08-04 13:59:04 -07004491 "src/qs8-requantization/fp32-sse2.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004492 "src/qs8-requantization/gemmlowp-sse2.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004493 "src/qs8-requantization/rndna-sse2.c",
Marat Dukhand9f3ad42020-08-10 12:30:58 -07004494 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
4495 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x16.c",
4496 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x24.c",
4497 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x32.c",
Marat Dukhan0270d9f2020-08-11 00:56:46 -07004498 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
4499 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c",
4500 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x24.c",
4501 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x32.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07004502 "src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4503 "src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x16.c",
4504 "src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4505 "src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x16.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -07004506 "src/qu8-avgpool/9p8x-minmax-sse2-c8.c",
4507 "src/qu8-avgpool/9x-minmax-sse2-c8.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07004508 "src/qu8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c",
4509 "src/qu8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c",
4510 "src/qu8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c",
4511 "src/qu8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c",
Marat Dukhan08b7a972020-07-14 18:17:29 -07004512 "src/qu8-gavgpool/7p7x-minmax-sse2-c8.c",
4513 "src/qu8-gavgpool/7x-minmax-sse2-c8.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004514 "src/qu8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
4515 "src/qu8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
4516 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4517 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
4518 "src/qu8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
4519 "src/qu8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
4520 "src/qu8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
4521 "src/qu8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004522 "src/qu8-gemm/gen/2x4c8-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004523 "src/qu8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
4524 "src/qu8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
4525 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4526 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
4527 "src/qu8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
4528 "src/qu8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004529 "src/qu8-gemm/gen/4x4c2-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004530 "src/qu8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c",
4531 "src/qu8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c",
4532 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c",
4533 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c",
4534 "src/qu8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c",
4535 "src/qu8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c",
4536 "src/qu8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c",
4537 "src/qu8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004538 "src/qu8-igemm/gen/2x4c8-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004539 "src/qu8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c",
4540 "src/qu8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c",
4541 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c",
4542 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c",
4543 "src/qu8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c",
4544 "src/qu8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004545 "src/qu8-igemm/gen/4x4c2-minmax-gemmlowp-sse2-ld64.c",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07004546 "src/qu8-requantization/fp32-sse2.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004547 "src/qu8-requantization/gemmlowp-sse2.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004548 "src/qu8-requantization/rndna-sse2.c",
Marat Dukhan76e78c82021-07-20 21:11:23 -07004549 "src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
4550 "src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x16.c",
4551 "src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
4552 "src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07004553 "src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4554 "src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x16.c",
4555 "src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c",
4556 "src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x16.c",
Marat Dukhan7519eb12021-11-23 19:08:29 -08004557 "src/s8-ibilinear/gen/sse2-c8.c",
4558 "src/s8-ibilinear/gen/sse2-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07004559 "src/s8-maxpool/9p8x-minmax-sse2-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07004560 "src/s8-vclamp/sse2-x64.c",
Marat Dukhan7519eb12021-11-23 19:08:29 -08004561 "src/u8-ibilinear/gen/sse2-c8.c",
4562 "src/u8-ibilinear/gen/sse2-c16.c",
Marat Dukhan99936602020-04-11 16:47:01 -07004563 "src/u8-maxpool/9p8x-minmax-sse2-c16.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07004564 "src/u8-rmax/sse2.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07004565 "src/u8-vclamp/sse2-x64.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004566 "src/x8-zip/x2-sse2.c",
4567 "src/x8-zip/x3-sse2.c",
4568 "src/x8-zip/x4-sse2.c",
4569 "src/x8-zip/xm-sse2.c",
Marat Dukhan57dccd82020-04-14 00:53:10 -07004570 "src/x32-unpool/sse2.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07004571 "src/x32-zip/x2-sse2.c",
4572 "src/x32-zip/x3-sse2.c",
4573 "src/x32-zip/x4-sse2.c",
4574 "src/x32-zip/xm-sse2.c",
Marat Dukhan933051b2021-08-07 16:26:15 -07004575 "src/xx-fill/sse2-x64.c",
Marat Dukhan0461f2d2021-08-08 12:36:29 -07004576 "src/xx-pad/sse2.c",
Marat Dukhanfe7acb62020-03-09 19:30:05 -07004577]
4578
Marat Dukhan2c724952021-07-27 18:46:30 -07004579PROD_SSSE3_MICROKERNEL_SRCS = [
4580 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c",
4581 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c8-acc2.c",
4582 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c8-acc2.c",
4583]
4584
4585ALL_SSSE3_MICROKERNEL_SRCS = [
Frank Barchard35db7d02020-10-26 13:37:34 -07004586 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc2.c",
4587 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc3.c",
4588 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc4.c",
Marat Dukhan98f2eeb2020-10-23 23:13:41 -07004589 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4.c",
Frank Barchard35db7d02020-10-26 13:37:34 -07004590 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c",
Marat Dukhan98f2eeb2020-10-23 23:13:41 -07004591 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4.c",
4592 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-3x4.c",
4593 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-4x4.c",
4594 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-5x4.c",
4595 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-6x4.c",
Marat Dukhancaf48312021-06-01 20:20:58 -07004596 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-ssse3-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004597 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-ssse3-mul16.c",
4598 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-ssse3-mul16.c",
4599 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-ssse3-mul16.c",
4600 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-ssse3-mul16.c",
4601 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-ssse3-mul16.c",
Marat Dukhan159688f2020-08-06 10:34:29 -07004602 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c8-acc2.c",
4603 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c16-acc2.c",
4604 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c24-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004605 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c8-acc2.c",
4606 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c16-acc2.c",
4607 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c24-acc2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004608 "src/qs8-gemm/gen/1x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004609 "src/qs8-gemm/gen/1x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004610 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-ssse3.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004611 "src/qs8-gemm/gen/2x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004612 "src/qs8-gemm/gen/2x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004613 "src/qs8-gemm/gen/2x4c8-minmax-gemmlowp-ssse3-ld64.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004614 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-ssse3.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004615 "src/qs8-gemm/gen/3x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004616 "src/qs8-gemm/gen/3x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004617 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-ssse3.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004618 "src/qs8-gemm/gen/4x4c2-minmax-gemmlowp-ssse3-ld64.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004619 "src/qs8-igemm/gen/1x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004620 "src/qs8-igemm/gen/1x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004621 "src/qs8-igemm/gen/2x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004622 "src/qs8-igemm/gen/2x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004623 "src/qs8-igemm/gen/2x4c8-minmax-gemmlowp-ssse3-ld64.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004624 "src/qs8-igemm/gen/3x4c8-minmax-fp32-ssse3-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004625 "src/qs8-igemm/gen/3x4c8-minmax-fp32-ssse3-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004626 "src/qs8-igemm/gen/4x4c2-minmax-gemmlowp-ssse3-ld64.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004627 "src/qs8-requantization/gemmlowp-ssse3.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004628 "src/qs8-requantization/rndna-ssse3.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004629 "src/qu8-gemm/gen/2x4c8-minmax-gemmlowp-ssse3-ld64.c",
4630 "src/qu8-gemm/gen/4x4c2-minmax-gemmlowp-ssse3-ld64.c",
4631 "src/qu8-igemm/gen/2x4c8-minmax-gemmlowp-ssse3-ld64.c",
4632 "src/qu8-igemm/gen/4x4c2-minmax-gemmlowp-ssse3-ld64.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004633 "src/qu8-requantization/gemmlowp-ssse3.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004634 "src/qu8-requantization/rndna-ssse3.c",
Marat Dukhan7c478e32021-09-10 09:48:13 -07004635 "src/x8-lut/gen/lut-ssse3-x16.c",
4636 "src/x8-lut/gen/lut-ssse3-x32.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07004637]
4638
Marat Dukhan2c724952021-07-27 18:46:30 -07004639PROD_SSE41_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07004640 "src/f16-f32-vcvt/gen/vcvt-sse41-int16-x16.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08004641 "src/f32-f16-vcvt/gen/vcvt-sse41-x8.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004642 "src/f32-prelu/gen/sse41-2x8.c",
4643 "src/f32-vlrelu/gen/vlrelu-sse41-x8.c",
4644 "src/f32-vrnd/gen/vrndd-sse41-x8.c",
4645 "src/f32-vrnd/gen/vrndne-sse41-x8.c",
4646 "src/f32-vrnd/gen/vrndu-sse41-x8.c",
4647 "src/f32-vrnd/gen/vrndz-sse41-x8.c",
4648 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x8.c",
4649 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c",
4650 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c",
4651 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4652 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4653 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4654 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4655 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c",
4656 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c",
4657 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c8-acc2.c",
4658 "src/qs8-gavgpool/gen/7x-minmax-sse41-c8-acc2.c",
4659 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4660 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4661 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4662 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4663 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
4664 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07004665 "src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
4666 "src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004667 "src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c",
4668 "src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c",
4669 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4670 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4671 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4672 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4673 "src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
4674 "src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07004675 "src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
4676 "src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08004677 "src/s8-ibilinear/gen/sse41-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07004678 "src/s8-maxpool/9p8x-minmax-sse41-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07004679 "src/s8-vclamp/sse41-x64.c",
Marat Dukhan24abe6b2021-11-24 15:28:57 -08004680 "src/u8-ibilinear/gen/sse41-c16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004681]
4682
4683ALL_SSE41_MICROKERNEL_SRCS = [
Marat Dukhan1227adb2021-10-16 17:33:51 -07004684 "src/f16-f32-vcvt/gen/vcvt-sse41-int16-x8.c",
4685 "src/f16-f32-vcvt/gen/vcvt-sse41-int16-x16.c",
4686 "src/f16-f32-vcvt/gen/vcvt-sse41-int16-x24.c",
4687 "src/f16-f32-vcvt/gen/vcvt-sse41-int16-x32.c",
4688 "src/f16-f32-vcvt/gen/vcvt-sse41-int32-x8.c",
4689 "src/f16-f32-vcvt/gen/vcvt-sse41-int32-x16.c",
4690 "src/f16-f32-vcvt/gen/vcvt-sse41-int32-x24.c",
4691 "src/f16-f32-vcvt/gen/vcvt-sse41-int32-x32.c",
Marat Dukhaneb844232021-11-08 23:07:53 -08004692 "src/f32-f16-vcvt/gen/vcvt-sse41-x8.c",
4693 "src/f32-f16-vcvt/gen/vcvt-sse41-x16.c",
4694 "src/f32-f16-vcvt/gen/vcvt-sse41-x24.c",
4695 "src/f32-f16-vcvt/gen/vcvt-sse41-x32.c",
Marat Dukhan40a672f2019-11-25 03:08:22 -08004696 "src/f32-prelu/gen/sse41-2x4.c",
4697 "src/f32-prelu/gen/sse41-2x8.c",
Marat Dukhanc5aa2422021-12-01 00:15:19 -08004698 "src/f32-qs8-vcvt/gen/vcvt-sse41-x8.c",
4699 "src/f32-qs8-vcvt/gen/vcvt-sse41-x16.c",
4700 "src/f32-qs8-vcvt/gen/vcvt-sse41-x24.c",
4701 "src/f32-qs8-vcvt/gen/vcvt-sse41-x32.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08004702 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x4.c",
4703 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x8.c",
4704 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x12.c",
4705 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x16.c",
4706 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x20.c",
4707 "src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x24.c",
4708 "src/f32-velu/gen/velu-sse41-rr2-p6-x4.c",
4709 "src/f32-velu/gen/velu-sse41-rr2-p6-x8.c",
4710 "src/f32-velu/gen/velu-sse41-rr2-p6-x12.c",
4711 "src/f32-velu/gen/velu-sse41-rr2-p6-x16.c",
4712 "src/f32-velu/gen/velu-sse41-rr2-p6-x20.c",
4713 "src/f32-velu/gen/velu-sse41-rr2-p6-x24.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07004714 "src/f32-vlrelu/gen/vlrelu-sse41-x4.c",
4715 "src/f32-vlrelu/gen/vlrelu-sse41-x8.c",
Marat Dukhaneecf8fd2020-06-09 08:59:37 -07004716 "src/f32-vrnd/gen/vrndd-sse41-x4.c",
4717 "src/f32-vrnd/gen/vrndd-sse41-x8.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004718 "src/f32-vrnd/gen/vrndne-sse41-x4.c",
4719 "src/f32-vrnd/gen/vrndne-sse41-x8.c",
4720 "src/f32-vrnd/gen/vrndu-sse41-x4.c",
4721 "src/f32-vrnd/gen/vrndu-sse41-x8.c",
4722 "src/f32-vrnd/gen/vrndz-sse41-x4.c",
4723 "src/f32-vrnd/gen/vrndz-sse41-x8.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07004724 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x4.c",
4725 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x8.c",
4726 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x12.c",
4727 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x16.c",
4728 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x20.c",
4729 "src/f32-vsigmoid/gen/vsigmoid-sse41-lut64-p2-div-x24.c",
4730 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x4.c",
4731 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x8.c",
4732 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x12.c",
4733 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x16.c",
4734 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x20.c",
4735 "src/f32-vsigmoid/gen/vsigmoid-sse41-p5-div-x24.c",
Marat Dukhan3ed866b2021-09-29 08:23:33 -07004736 "src/math/cvt-f16-f32-sse41-int16.c",
4737 "src/math/cvt-f16-f32-sse41-int32.c",
Marat Dukhan056f49d2021-11-08 17:44:42 -08004738 "src/math/cvt-f32-f16-sse41.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004739 "src/math/roundd-sse41.c",
4740 "src/math/roundne-sse41.c",
4741 "src/math/roundu-sse41.c",
4742 "src/math/roundz-sse41.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004743 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004744 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07004745 "src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004746 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004747 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07004748 "src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004749 "src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004750 "src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07004751 "src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004752 "src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004753 "src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07004754 "src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c",
4755 "src/qc8-dwconv/gen/up24x9-minmax-fp32-sse41-mul16.c",
4756 "src/qc8-dwconv/gen/up24x9-minmax-fp32-sse41-mul32.c",
4757 "src/qc8-dwconv/gen/up24x25-minmax-fp32-sse41-mul16.c",
4758 "src/qc8-dwconv/gen/up24x25-minmax-fp32-sse41-mul32.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004759 "src/qc8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004760 "src/qc8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004761 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004762 "src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004763 "src/qc8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004764 "src/qc8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004765 "src/qc8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004766 "src/qc8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004767 "src/qc8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004768 "src/qc8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004769 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004770 "src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004771 "src/qc8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004772 "src/qc8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004773 "src/qc8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004774 "src/qc8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004775 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004776 "src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004777 "src/qc8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004778 "src/qc8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004779 "src/qc8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004780 "src/qc8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004781 "src/qc8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004782 "src/qc8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004783 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004784 "src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07004785 "src/qc8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004786 "src/qc8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004787 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004788 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c",
Marat Dukhancaf48312021-06-01 20:20:58 -07004789 "src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c",
4790 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-sse41-mul16.c",
4791 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004792 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004793 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004794 "src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c",
4795 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-sse41-mul16.c",
4796 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004797 "src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004798 "src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004799 "src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c",
4800 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-sse41-mul16.c",
4801 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-sse41-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07004802 "src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07004803 "src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004804 "src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c",
4805 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-sse41-mul16.c",
4806 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-sse41-mul32.c",
4807 "src/qs8-dwconv/gen/up24x9-minmax-fp32-sse41-mul16.c",
4808 "src/qs8-dwconv/gen/up24x9-minmax-fp32-sse41-mul32.c",
4809 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-sse41-mul16.c",
4810 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-sse41-mul32.c",
4811 "src/qs8-dwconv/gen/up24x25-minmax-fp32-sse41-mul16.c",
4812 "src/qs8-dwconv/gen/up24x25-minmax-fp32-sse41-mul32.c",
4813 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-sse41-mul16.c",
4814 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-sse41-mul32.c",
Marat Dukhan159688f2020-08-06 10:34:29 -07004815 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c8-acc2.c",
4816 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c16-acc2.c",
4817 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c24-acc2.c",
Frank Barchard04336c12020-10-22 16:48:55 -07004818 "src/qs8-gavgpool/gen/7x-minmax-sse41-c8-acc2.c",
4819 "src/qs8-gavgpool/gen/7x-minmax-sse41-c16-acc2.c",
4820 "src/qs8-gavgpool/gen/7x-minmax-sse41-c24-acc2.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004821 "src/qs8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004822 "src/qs8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004823 "src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004824 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004825 "src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004826 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004827 "src/qs8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004828 "src/qs8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004829 "src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004830 "src/qs8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004831 "src/qs8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004832 "src/qs8-gemm/gen/2x4c8-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004833 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004834 "src/qs8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004835 "src/qs8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004836 "src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004837 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004838 "src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004839 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004840 "src/qs8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004841 "src/qs8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004842 "src/qs8-gemm/gen/4x4c2-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07004843 "src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-sse41.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004844 "src/qs8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004845 "src/qs8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004846 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004847 "src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004848 "src/qs8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004849 "src/qs8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004850 "src/qs8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004851 "src/qs8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004852 "src/qs8-igemm/gen/2x4c8-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004853 "src/qs8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004854 "src/qs8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004855 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004856 "src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004857 "src/qs8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07004858 "src/qs8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07004859 "src/qs8-igemm/gen/4x4c2-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhan2e23d2b2020-07-29 16:01:37 -07004860 "src/qs8-requantization/fp32-sse4.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004861 "src/qs8-requantization/gemmlowp-sse4.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004862 "src/qs8-requantization/rndna-sse4.c",
Marat Dukhan0d979d52021-06-09 13:21:18 -07004863 "src/qs8-requantization/rndnu-sse4-sra.c",
4864 "src/qs8-requantization/rndnu-sse4-srl.c",
Marat Dukhand9f3ad42020-08-10 12:30:58 -07004865 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
4866 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x16.c",
4867 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x24.c",
4868 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x32.c",
Marat Dukhanbb9225e2020-09-06 22:40:56 -07004869 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x8.c",
4870 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x16.c",
4871 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x24.c",
4872 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x32.c",
Marat Dukhan0270d9f2020-08-11 00:56:46 -07004873 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
4874 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c",
4875 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x24.c",
4876 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x32.c",
Marat Dukhanbb9225e2020-09-06 22:40:56 -07004877 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c",
4878 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c",
4879 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x24.c",
4880 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x32.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07004881 "src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x8.c",
4882 "src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
4883 "src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x8.c",
4884 "src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07004885 "src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07004886 "src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07004887 "src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07004888 "src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07004889 "src/qu8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07004890 "src/qu8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07004891 "src/qu8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07004892 "src/qu8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004893 "src/qu8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
4894 "src/qu8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
4895 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4896 "src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
4897 "src/qu8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
4898 "src/qu8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
4899 "src/qu8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
4900 "src/qu8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004901 "src/qu8-gemm/gen/2x4c8-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004902 "src/qu8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
4903 "src/qu8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
4904 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4905 "src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
4906 "src/qu8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
4907 "src/qu8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004908 "src/qu8-gemm/gen/4x4c2-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004909 "src/qu8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c",
4910 "src/qu8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c",
4911 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c",
4912 "src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c",
4913 "src/qu8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c",
4914 "src/qu8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c",
4915 "src/qu8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c",
4916 "src/qu8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004917 "src/qu8-igemm/gen/2x4c8-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07004918 "src/qu8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c",
4919 "src/qu8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c",
4920 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c",
4921 "src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c",
4922 "src/qu8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c",
4923 "src/qu8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c",
Marat Dukhancdbe9a32021-07-01 23:52:04 -07004924 "src/qu8-igemm/gen/4x4c2-minmax-gemmlowp-sse41-ld64.c",
Marat Dukhan9976cd82021-05-24 23:15:45 -07004925 "src/qu8-requantization/gemmlowp-sse4.c",
Marat Dukhan06716242021-05-26 15:56:39 -07004926 "src/qu8-requantization/rndna-sse4.c",
Marat Dukhan3eac69c2021-07-21 01:42:29 -07004927 "src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
4928 "src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x16.c",
4929 "src/qu8-vadd/gen/minmax-sse41-mul32-ld32-x8.c",
4930 "src/qu8-vadd/gen/minmax-sse41-mul32-ld32-x16.c",
4931 "src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
4932 "src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c",
4933 "src/qu8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c",
4934 "src/qu8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07004935 "src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x8.c",
4936 "src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
4937 "src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x8.c",
4938 "src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c",
Marat Dukhan7519eb12021-11-23 19:08:29 -08004939 "src/s8-ibilinear/gen/sse41-c8.c",
4940 "src/s8-ibilinear/gen/sse41-c16.c",
Marat Dukhan23147532021-08-16 07:26:56 -07004941 "src/s8-maxpool/9p8x-minmax-sse41-c16.c",
Marat Dukhane79acb72021-08-16 19:03:53 -07004942 "src/s8-vclamp/sse41-x64.c",
Marat Dukhan7519eb12021-11-23 19:08:29 -08004943 "src/u8-ibilinear/gen/sse41-c8.c",
4944 "src/u8-ibilinear/gen/sse41-c16.c",
Marat Dukhan69c3f2c2019-11-06 12:30:01 -08004945]
4946
Marat Dukhan2c724952021-07-27 18:46:30 -07004947PROD_AVX_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07004948 "src/f16-f32-vcvt/gen/vcvt-avx-int16-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004949 "src/f32-dwconv/gen/up8x25-minmax-avx.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07004950 "src/f32-dwconv/gen/up16x3-minmax-avx.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004951 "src/f32-dwconv/gen/up16x4-minmax-avx.c",
4952 "src/f32-dwconv/gen/up16x9-minmax-avx.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08004953 "src/f32-f16-vcvt/gen/vcvt-avx-x24.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004954 "src/f32-gemm/gen/1x16-minmax-avx-broadcast.c",
4955 "src/f32-gemm/gen/5x16-minmax-avx-broadcast.c",
4956 "src/f32-igemm/gen/1x16-minmax-avx-broadcast.c",
4957 "src/f32-igemm/gen/5x16-minmax-avx-broadcast.c",
4958 "src/f32-prelu/gen/avx-2x16.c",
4959 "src/f32-vbinary/gen/vadd-minmax-avx-x16.c",
4960 "src/f32-vbinary/gen/vaddc-minmax-avx-x16.c",
4961 "src/f32-vbinary/gen/vdiv-minmax-avx-x16.c",
4962 "src/f32-vbinary/gen/vdivc-minmax-avx-x16.c",
4963 "src/f32-vbinary/gen/vmax-avx-x16.c",
4964 "src/f32-vbinary/gen/vmaxc-avx-x16.c",
4965 "src/f32-vbinary/gen/vmin-avx-x16.c",
4966 "src/f32-vbinary/gen/vminc-avx-x16.c",
4967 "src/f32-vbinary/gen/vmul-minmax-avx-x16.c",
4968 "src/f32-vbinary/gen/vmulc-minmax-avx-x16.c",
4969 "src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c",
4970 "src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c",
4971 "src/f32-vbinary/gen/vsqrdiff-avx-x16.c",
4972 "src/f32-vbinary/gen/vsqrdiffc-avx-x16.c",
4973 "src/f32-vbinary/gen/vsub-minmax-avx-x16.c",
4974 "src/f32-vbinary/gen/vsubc-minmax-avx-x16.c",
4975 "src/f32-vclamp/gen/vclamp-avx-x16.c",
4976 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x32.c",
4977 "src/f32-vhswish/gen/vhswish-avx-x16.c",
4978 "src/f32-vlrelu/gen/vlrelu-avx-x16.c",
4979 "src/f32-vrnd/gen/vrndd-avx-x16.c",
4980 "src/f32-vrnd/gen/vrndne-avx-x16.c",
4981 "src/f32-vrnd/gen/vrndu-avx-x16.c",
4982 "src/f32-vrnd/gen/vrndz-avx-x16.c",
4983 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x40.c",
4984 "src/f32-vsqrt/gen/avx-sqrt-x8.c",
4985 "src/f32-vunary/gen/vabs-avx-x16.c",
4986 "src/f32-vunary/gen/vneg-avx-x16.c",
4987 "src/f32-vunary/gen/vsqr-avx-x16.c",
Marat Dukhan28480592021-07-27 23:52:27 -07004988 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c",
4989 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07004990 "src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
4991 "src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
4992 "src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
4993 "src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
4994 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c",
4995 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c",
4996 "src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
4997 "src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
4998 "src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
4999 "src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
5000 "src/qs8-vadd/gen/minmax-avx-mul32-ld32-x8.c",
5001 "src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07005002 "src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c",
5003 "src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005004 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c",
5005 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c",
5006 "src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
5007 "src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
5008 "src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
5009 "src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
5010 "src/qu8-vadd/gen/minmax-avx-mul32-ld32-x8.c",
5011 "src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x8.c",
Marat Dukhan0853b8a2021-08-03 01:01:53 -07005012 "src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c",
5013 "src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c",
Marat Dukhan98e054b2021-09-13 09:43:50 -07005014 "src/x8-lut/gen/lut-avx-x64.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005015]
5016
5017ALL_AVX_MICROKERNEL_SRCS = [
Marat Dukhan1227adb2021-10-16 17:33:51 -07005018 "src/f16-f32-vcvt/gen/vcvt-avx-int16-x8.c",
5019 "src/f16-f32-vcvt/gen/vcvt-avx-int16-x16.c",
5020 "src/f16-f32-vcvt/gen/vcvt-avx-int16-x24.c",
5021 "src/f16-f32-vcvt/gen/vcvt-avx-int16-x32.c",
5022 "src/f16-f32-vcvt/gen/vcvt-avx-int32-x8.c",
5023 "src/f16-f32-vcvt/gen/vcvt-avx-int32-x16.c",
5024 "src/f16-f32-vcvt/gen/vcvt-avx-int32-x24.c",
5025 "src/f16-f32-vcvt/gen/vcvt-avx-int32-x32.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005026 "src/f32-dwconv/gen/up8x3-minmax-avx-acc2.c",
5027 "src/f32-dwconv/gen/up8x3-minmax-avx.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005028 "src/f32-dwconv/gen/up8x4-minmax-avx-acc2.c",
5029 "src/f32-dwconv/gen/up8x4-minmax-avx.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005030 "src/f32-dwconv/gen/up8x9-minmax-avx-acc2.c",
5031 "src/f32-dwconv/gen/up8x9-minmax-avx.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005032 "src/f32-dwconv/gen/up8x25-minmax-avx-acc2.c",
5033 "src/f32-dwconv/gen/up8x25-minmax-avx.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005034 "src/f32-dwconv/gen/up16x3-minmax-avx-acc2.c",
5035 "src/f32-dwconv/gen/up16x3-minmax-avx.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005036 "src/f32-dwconv/gen/up16x4-minmax-avx-acc2.c",
5037 "src/f32-dwconv/gen/up16x4-minmax-avx.c",
5038 "src/f32-dwconv/gen/up16x9-minmax-avx-acc2.c",
5039 "src/f32-dwconv/gen/up16x9-minmax-avx.c",
5040 "src/f32-dwconv/gen/up16x25-minmax-avx-acc2.c",
5041 "src/f32-dwconv/gen/up16x25-minmax-avx.c",
Marat Dukhaneb844232021-11-08 23:07:53 -08005042 "src/f32-f16-vcvt/gen/vcvt-avx-x8.c",
5043 "src/f32-f16-vcvt/gen/vcvt-avx-x16.c",
5044 "src/f32-f16-vcvt/gen/vcvt-avx-x24.c",
5045 "src/f32-f16-vcvt/gen/vcvt-avx-x32.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005046 "src/f32-gemm/gen-inc/1x8inc-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005047 "src/f32-gemm/gen-inc/1x16inc-minmax-avx-broadcast.c",
5048 "src/f32-gemm/gen-inc/3x16inc-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005049 "src/f32-gemm/gen-inc/4x8inc-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005050 "src/f32-gemm/gen-inc/4x16inc-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005051 "src/f32-gemm/gen-inc/5x8inc-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005052 "src/f32-gemm/gen-inc/5x16inc-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005053 "src/f32-gemm/gen-inc/6x8inc-minmax-avx-broadcast.c",
5054 "src/f32-gemm/gen-inc/7x8inc-minmax-avx-broadcast.c",
5055 "src/f32-gemm/gen/1x8-minmax-avx-broadcast.c",
5056 "src/f32-gemm/gen/1x16-minmax-avx-broadcast.c",
5057 "src/f32-gemm/gen/3x16-minmax-avx-broadcast.c",
5058 "src/f32-gemm/gen/4x8-minmax-avx-broadcast.c",
5059 "src/f32-gemm/gen/4x16-minmax-avx-broadcast.c",
5060 "src/f32-gemm/gen/5x8-minmax-avx-broadcast.c",
5061 "src/f32-gemm/gen/5x16-minmax-avx-broadcast.c",
5062 "src/f32-gemm/gen/6x8-minmax-avx-broadcast.c",
5063 "src/f32-gemm/gen/7x8-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005064 "src/f32-igemm/gen/1x8-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005065 "src/f32-igemm/gen/1x16-minmax-avx-broadcast.c",
5066 "src/f32-igemm/gen/3x16-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005067 "src/f32-igemm/gen/4x8-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005068 "src/f32-igemm/gen/4x16-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005069 "src/f32-igemm/gen/5x8-minmax-avx-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005070 "src/f32-igemm/gen/5x16-minmax-avx-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005071 "src/f32-igemm/gen/6x8-minmax-avx-broadcast.c",
5072 "src/f32-igemm/gen/7x8-minmax-avx-broadcast.c",
Marat Dukhan90eca0a2020-03-11 00:52:23 -07005073 "src/f32-prelu/gen/avx-2x8.c",
5074 "src/f32-prelu/gen/avx-2x16.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07005075 "src/f32-rmax/avx.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07005076 "src/f32-vbinary/gen/vadd-minmax-avx-x8.c",
5077 "src/f32-vbinary/gen/vadd-minmax-avx-x16.c",
5078 "src/f32-vbinary/gen/vaddc-minmax-avx-x8.c",
5079 "src/f32-vbinary/gen/vaddc-minmax-avx-x16.c",
5080 "src/f32-vbinary/gen/vdiv-minmax-avx-x8.c",
5081 "src/f32-vbinary/gen/vdiv-minmax-avx-x16.c",
5082 "src/f32-vbinary/gen/vdivc-minmax-avx-x8.c",
5083 "src/f32-vbinary/gen/vdivc-minmax-avx-x16.c",
Marat Dukhan9a88efe2019-12-10 15:54:24 -08005084 "src/f32-vbinary/gen/vmax-avx-x8.c",
5085 "src/f32-vbinary/gen/vmax-avx-x16.c",
5086 "src/f32-vbinary/gen/vmaxc-avx-x8.c",
5087 "src/f32-vbinary/gen/vmaxc-avx-x16.c",
5088 "src/f32-vbinary/gen/vmin-avx-x8.c",
5089 "src/f32-vbinary/gen/vmin-avx-x16.c",
5090 "src/f32-vbinary/gen/vminc-avx-x8.c",
5091 "src/f32-vbinary/gen/vminc-avx-x16.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07005092 "src/f32-vbinary/gen/vmul-minmax-avx-x8.c",
5093 "src/f32-vbinary/gen/vmul-minmax-avx-x16.c",
5094 "src/f32-vbinary/gen/vmulc-minmax-avx-x8.c",
5095 "src/f32-vbinary/gen/vmulc-minmax-avx-x16.c",
5096 "src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c",
5097 "src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c",
5098 "src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c",
5099 "src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -07005100 "src/f32-vbinary/gen/vsqrdiff-avx-x8.c",
5101 "src/f32-vbinary/gen/vsqrdiff-avx-x16.c",
5102 "src/f32-vbinary/gen/vsqrdiffc-avx-x8.c",
5103 "src/f32-vbinary/gen/vsqrdiffc-avx-x16.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07005104 "src/f32-vbinary/gen/vsub-minmax-avx-x8.c",
5105 "src/f32-vbinary/gen/vsub-minmax-avx-x16.c",
5106 "src/f32-vbinary/gen/vsubc-minmax-avx-x8.c",
5107 "src/f32-vbinary/gen/vsubc-minmax-avx-x16.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07005108 "src/f32-vclamp/gen/vclamp-avx-x8.c",
5109 "src/f32-vclamp/gen/vclamp-avx-x16.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08005110 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x8.c",
5111 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x16.c",
5112 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x24.c",
5113 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x32.c",
5114 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x40.c",
5115 "src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x48.c",
5116 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x8.c",
5117 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x16.c",
5118 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x24.c",
5119 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x32.c",
5120 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x40.c",
5121 "src/f32-velu/gen/velu-avx-rr2-lut16-p3-x48.c",
5122 "src/f32-velu/gen/velu-avx-rr2-p6-x8.c",
5123 "src/f32-velu/gen/velu-avx-rr2-p6-x16.c",
5124 "src/f32-velu/gen/velu-avx-rr2-p6-x24.c",
5125 "src/f32-velu/gen/velu-avx-rr2-p6-x32.c",
5126 "src/f32-velu/gen/velu-avx-rr2-p6-x40.c",
5127 "src/f32-velu/gen/velu-avx-rr2-p6-x48.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07005128 "src/f32-vhswish/gen/vhswish-avx-x8.c",
5129 "src/f32-vhswish/gen/vhswish-avx-x16.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07005130 "src/f32-vlrelu/gen/vlrelu-avx-x8.c",
5131 "src/f32-vlrelu/gen/vlrelu-avx-x16.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07005132 "src/f32-vrelu/gen/vrelu-avx-x8.c",
5133 "src/f32-vrelu/gen/vrelu-avx-x16.c",
Marat Dukhaneecf8fd2020-06-09 08:59:37 -07005134 "src/f32-vrnd/gen/vrndd-avx-x8.c",
5135 "src/f32-vrnd/gen/vrndd-avx-x16.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005136 "src/f32-vrnd/gen/vrndne-avx-x8.c",
5137 "src/f32-vrnd/gen/vrndne-avx-x16.c",
5138 "src/f32-vrnd/gen/vrndu-avx-x8.c",
5139 "src/f32-vrnd/gen/vrndu-avx-x16.c",
5140 "src/f32-vrnd/gen/vrndz-avx-x8.c",
5141 "src/f32-vrnd/gen/vrndz-avx-x16.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07005142 "src/f32-vscale/avx-x32.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07005143 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x8.c",
5144 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x16.c",
5145 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x24.c",
5146 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x32.c",
5147 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x40.c",
5148 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x48.c",
5149 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x56.c",
5150 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x64.c",
5151 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x72.c",
5152 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x80.c",
5153 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x8.c",
5154 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x16.c",
5155 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x24.c",
5156 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x32.c",
5157 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x40.c",
5158 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x48.c",
5159 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x56.c",
5160 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x64.c",
5161 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x72.c",
5162 "src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x80.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07005163 "src/f32-vsqrt/gen/avx-sqrt-x8.c",
5164 "src/f32-vsqrt/gen/avx-sqrt-x16.c",
Marat Dukhan5020b962020-06-08 13:30:10 -07005165 "src/f32-vunary/gen/vabs-avx-x8.c",
5166 "src/f32-vunary/gen/vabs-avx-x16.c",
5167 "src/f32-vunary/gen/vneg-avx-x8.c",
5168 "src/f32-vunary/gen/vneg-avx-x16.c",
5169 "src/f32-vunary/gen/vsqr-avx-x8.c",
5170 "src/f32-vunary/gen/vsqr-avx-x16.c",
Frank Barchard4a352042021-04-13 15:52:08 -07005171 "src/math/exp-avx-rr2-p5.c",
5172 "src/math/expm1minus-avx-rr2-lut4-p4-perm.c",
5173 "src/math/expm1minus-avx-rr2-lut16-p3.c",
5174 "src/math/expm1minus-avx-rr2-p6.c",
5175 "src/math/sigmoid-avx-rr2-lut64-p2-div.c",
5176 "src/math/sigmoid-avx-rr2-p5-div.c",
5177 "src/math/sigmoid-avx-rr2-p5-nr1.c",
5178 "src/math/sigmoid-avx-rr2-p5-nr2.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005179 "src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005180 "src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005181 "src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005182 "src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005183 "src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005184 "src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005185 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005186 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005187 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005188 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005189 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005190 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c",
5191 "src/qc8-dwconv/gen/up24x9-minmax-fp32-avx-mul16.c",
5192 "src/qc8-dwconv/gen/up24x9-minmax-fp32-avx-mul32.c",
5193 "src/qc8-dwconv/gen/up24x25-minmax-fp32-avx-mul16.c",
5194 "src/qc8-dwconv/gen/up24x25-minmax-fp32-avx-mul32.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005195 "src/qc8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005196 "src/qc8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005197 "src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005198 "src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005199 "src/qc8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005200 "src/qc8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005201 "src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005202 "src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005203 "src/qc8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005204 "src/qc8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005205 "src/qc8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005206 "src/qc8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005207 "src/qc8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005208 "src/qc8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005209 "src/qc8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005210 "src/qc8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005211 "src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005212 "src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005213 "src/qc8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005214 "src/qc8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005215 "src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005216 "src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005217 "src/qc8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005218 "src/qc8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005219 "src/qc8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005220 "src/qc8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005221 "src/qc8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005222 "src/qc8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005223 "src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005224 "src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c",
Marat Dukhancaf48312021-06-01 20:20:58 -07005225 "src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c",
5226 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-avx-mul16.c",
5227 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005228 "src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005229 "src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005230 "src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c",
5231 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-avx-mul16.c",
5232 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005233 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005234 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005235 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c",
5236 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-avx-mul16.c",
5237 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-avx-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005238 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005239 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005240 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c",
5241 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-avx-mul16.c",
5242 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-avx-mul32.c",
5243 "src/qs8-dwconv/gen/up24x9-minmax-fp32-avx-mul16.c",
5244 "src/qs8-dwconv/gen/up24x9-minmax-fp32-avx-mul32.c",
5245 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-avx-mul16.c",
5246 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-avx-mul32.c",
5247 "src/qs8-dwconv/gen/up24x25-minmax-fp32-avx-mul16.c",
5248 "src/qs8-dwconv/gen/up24x25-minmax-fp32-avx-mul32.c",
5249 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-avx-mul16.c",
5250 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-avx-mul32.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005251 "src/qs8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005252 "src/qs8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005253 "src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005254 "src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005255 "src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005256 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005257 "src/qs8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005258 "src/qs8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005259 "src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005260 "src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005261 "src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005262 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005263 "src/qs8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005264 "src/qs8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005265 "src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005266 "src/qs8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005267 "src/qs8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005268 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005269 "src/qs8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005270 "src/qs8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005271 "src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-avx.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005272 "src/qs8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005273 "src/qs8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005274 "src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005275 "src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005276 "src/qs8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005277 "src/qs8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005278 "src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005279 "src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005280 "src/qs8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005281 "src/qs8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005282 "src/qs8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005283 "src/qs8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005284 "src/qs8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005285 "src/qs8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhane9c4b962021-04-02 16:56:55 -07005286 "src/qs8-vadd/gen/minmax-avx-mul16-ld64-x8.c",
5287 "src/qs8-vadd/gen/minmax-avx-mul16-ld64-x16.c",
5288 "src/qs8-vadd/gen/minmax-avx-mul16-ld64-x24.c",
5289 "src/qs8-vadd/gen/minmax-avx-mul16-ld64-x32.c",
5290 "src/qs8-vadd/gen/minmax-avx-mul32-ld32-x8.c",
5291 "src/qs8-vadd/gen/minmax-avx-mul32-ld32-x16.c",
5292 "src/qs8-vadd/gen/minmax-avx-mul32-ld32-x24.c",
5293 "src/qs8-vadd/gen/minmax-avx-mul32-ld32-x32.c",
5294 "src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x8.c",
5295 "src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x16.c",
5296 "src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x24.c",
5297 "src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x32.c",
5298 "src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x8.c",
5299 "src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x16.c",
5300 "src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x24.c",
5301 "src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x32.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07005302 "src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x8.c",
5303 "src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c",
5304 "src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x8.c",
5305 "src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07005306 "src/qu8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07005307 "src/qu8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07005308 "src/qu8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07005309 "src/qu8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07005310 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07005311 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c",
Marat Dukhanf0f28812021-07-08 22:34:20 -07005312 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07005313 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07005314 "src/qu8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
5315 "src/qu8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
5316 "src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
5317 "src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
5318 "src/qu8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
5319 "src/qu8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
5320 "src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
5321 "src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
5322 "src/qu8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
5323 "src/qu8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
5324 "src/qu8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
5325 "src/qu8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
5326 "src/qu8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
5327 "src/qu8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
5328 "src/qu8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c",
5329 "src/qu8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c",
5330 "src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c",
5331 "src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c",
5332 "src/qu8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c",
5333 "src/qu8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c",
5334 "src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c",
5335 "src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c",
5336 "src/qu8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c",
5337 "src/qu8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c",
5338 "src/qu8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c",
5339 "src/qu8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c",
5340 "src/qu8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c",
5341 "src/qu8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c",
Marat Dukhan3eac69c2021-07-21 01:42:29 -07005342 "src/qu8-vadd/gen/minmax-avx-mul16-ld64-x8.c",
5343 "src/qu8-vadd/gen/minmax-avx-mul16-ld64-x16.c",
5344 "src/qu8-vadd/gen/minmax-avx-mul32-ld32-x8.c",
5345 "src/qu8-vadd/gen/minmax-avx-mul32-ld32-x16.c",
5346 "src/qu8-vaddc/gen/minmax-avx-mul16-ld64-x8.c",
5347 "src/qu8-vaddc/gen/minmax-avx-mul16-ld64-x16.c",
5348 "src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x8.c",
5349 "src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x16.c",
Marat Dukhana212eac2021-08-02 09:58:04 -07005350 "src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x8.c",
5351 "src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c",
5352 "src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x8.c",
5353 "src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c",
Marat Dukhan7c478e32021-09-10 09:48:13 -07005354 "src/x8-lut/gen/lut-avx-x16.c",
5355 "src/x8-lut/gen/lut-avx-x32.c",
5356 "src/x8-lut/gen/lut-avx-x48.c",
5357 "src/x8-lut/gen/lut-avx-x64.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07005358]
5359
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07005360PROD_F16C_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07005361 "src/f16-f32-vcvt/gen/vcvt-f16c-x16.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08005362 "src/f32-f16-vcvt/gen/vcvt-f16c-x16.c",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07005363]
5364
5365ALL_F16C_MICROKERNEL_SRCS = [
5366 "src/f16-f32-vcvt/gen/vcvt-f16c-x8.c",
5367 "src/f16-f32-vcvt/gen/vcvt-f16c-x16.c",
Marat Dukhand77f77d2021-10-24 15:39:59 -07005368 "src/f32-f16-vcvt/gen/vcvt-f16c-x8.c",
5369 "src/f32-f16-vcvt/gen/vcvt-f16c-x16.c",
Marat Dukhan3ed866b2021-09-29 08:23:33 -07005370 "src/math/cvt-f16-f32-f16c.c",
Marat Dukhan582e1842021-10-25 17:18:36 -07005371 "src/math/cvt-f32-f16-f16c.c",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07005372]
5373
Marat Dukhan2c724952021-07-27 18:46:30 -07005374PROD_XOP_MICROKERNEL_SRCS = [
Marat Dukhan28480592021-07-27 23:52:27 -07005375 "src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c",
5376 "src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005377 "src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5378 "src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5379 "src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5380 "src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5381 "src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c",
5382 "src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c",
5383 "src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5384 "src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5385 "src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5386 "src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5387 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
5388 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
5389 "src/qu8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c",
5390 "src/qu8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c",
5391 "src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5392 "src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5393 "src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5394 "src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5395 "src/qu8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
5396 "src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
5397]
5398
5399ALL_XOP_MICROKERNEL_SRCS = [
Marat Dukhan09668562021-07-26 16:52:20 -07005400 "src/qc8-dwconv/gen/up8x9-minmax-fp32-xop-mul16-add16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005401 "src/qc8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005402 "src/qc8-dwconv/gen/up8x25-minmax-fp32-xop-mul16-add16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005403 "src/qc8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005404 "src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005405 "src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005406 "src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07005407 "src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c",
5408 "src/qc8-dwconv/gen/up24x9-minmax-fp32-xop-mul32.c",
5409 "src/qc8-dwconv/gen/up24x25-minmax-fp32-xop-mul32.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005410 "src/qc8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005411 "src/qc8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005412 "src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005413 "src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005414 "src/qc8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005415 "src/qc8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005416 "src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005417 "src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005418 "src/qc8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005419 "src/qc8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005420 "src/qc8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005421 "src/qc8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005422 "src/qc8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005423 "src/qc8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005424 "src/qc8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005425 "src/qc8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005426 "src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005427 "src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005428 "src/qc8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005429 "src/qc8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005430 "src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005431 "src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005432 "src/qc8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005433 "src/qc8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005434 "src/qc8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005435 "src/qc8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanfc188ed2021-06-03 12:21:22 -07005436 "src/qc8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005437 "src/qc8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005438 "src/qs8-dwconv/gen/up8x9-minmax-fp32-xop-mul16-add16.c",
Marat Dukhancaf48312021-06-01 20:20:58 -07005439 "src/qs8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c",
5440 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005441 "src/qs8-dwconv/gen/up8x25-minmax-fp32-xop-mul16-add16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005442 "src/qs8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c",
5443 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005444 "src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005445 "src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c",
5446 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-xop-mul32.c",
Marat Dukhan09668562021-07-26 16:52:20 -07005447 "src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005448 "src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c",
5449 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-xop-mul32.c",
5450 "src/qs8-dwconv/gen/up24x9-minmax-fp32-xop-mul32.c",
5451 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-xop-mul32.c",
5452 "src/qs8-dwconv/gen/up24x25-minmax-fp32-xop-mul32.c",
5453 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-xop-mul32.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005454 "src/qs8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005455 "src/qs8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005456 "src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005457 "src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005458 "src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005459 "src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005460 "src/qs8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005461 "src/qs8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005462 "src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005463 "src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005464 "src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005465 "src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005466 "src/qs8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005467 "src/qs8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005468 "src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005469 "src/qs8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005470 "src/qs8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005471 "src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005472 "src/qs8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005473 "src/qs8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan0ff79892021-08-06 16:05:06 -07005474 "src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-xop.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005475 "src/qs8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005476 "src/qs8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005477 "src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005478 "src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005479 "src/qs8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005480 "src/qs8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005481 "src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005482 "src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005483 "src/qs8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005484 "src/qs8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005485 "src/qs8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005486 "src/qs8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
Marat Dukhanc46e6712021-06-01 19:00:16 -07005487 "src/qs8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
Frank Barchard23eb4822021-06-08 15:03:41 -07005488 "src/qs8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhanbb9225e2020-09-06 22:40:56 -07005489 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
5490 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x16.c",
5491 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x24.c",
5492 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x32.c",
5493 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
5494 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x16.c",
5495 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x24.c",
5496 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x32.c",
Marat Dukhan3c35f7a2021-07-08 18:55:42 -07005497 "src/qu8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c",
5498 "src/qu8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c",
5499 "src/qu8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c",
5500 "src/qu8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c",
Marat Dukhanef47f8d2021-07-02 15:08:32 -07005501 "src/qu8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
5502 "src/qu8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
5503 "src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5504 "src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
5505 "src/qu8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
5506 "src/qu8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
5507 "src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5508 "src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
5509 "src/qu8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
5510 "src/qu8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
5511 "src/qu8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
5512 "src/qu8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
5513 "src/qu8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
5514 "src/qu8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
5515 "src/qu8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c",
5516 "src/qu8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c",
5517 "src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c",
5518 "src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c",
5519 "src/qu8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c",
5520 "src/qu8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c",
5521 "src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c",
5522 "src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c",
5523 "src/qu8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c",
5524 "src/qu8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c",
5525 "src/qu8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c",
5526 "src/qu8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c",
5527 "src/qu8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c",
5528 "src/qu8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c",
Marat Dukhan3eac69c2021-07-21 01:42:29 -07005529 "src/qu8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
5530 "src/qu8-vadd/gen/minmax-xop-mul32-ld32-x16.c",
5531 "src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
5532 "src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x16.c",
Marat Dukhan1566fee2020-08-02 21:55:41 -07005533]
5534
Marat Dukhan2c724952021-07-27 18:46:30 -07005535PROD_FMA3_MICROKERNEL_SRCS = [
Marat Dukhan2c724952021-07-27 18:46:30 -07005536 "src/f32-dwconv/gen/up8x25-minmax-fma3.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005537 "src/f32-dwconv/gen/up16x3-minmax-fma3.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005538 "src/f32-dwconv/gen/up16x4-minmax-fma3.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005539 "src/f32-dwconv/gen/up16x9-minmax-fma3.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005540 "src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c",
5541 "src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c",
5542 "src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c",
5543 "src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c",
5544 "src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c",
5545 "src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c",
5546 "src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c",
5547 "src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c",
5548 "src/f32-vhswish/gen/vhswish-fma3-x16.c",
5549]
5550
5551ALL_FMA3_MICROKERNEL_SRCS = [
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005552 "src/f32-dwconv/gen/up8x3-minmax-fma3-acc2.c",
5553 "src/f32-dwconv/gen/up8x3-minmax-fma3.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005554 "src/f32-dwconv/gen/up8x4-minmax-fma3-acc2.c",
5555 "src/f32-dwconv/gen/up8x4-minmax-fma3.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005556 "src/f32-dwconv/gen/up8x9-minmax-fma3-acc2.c",
5557 "src/f32-dwconv/gen/up8x9-minmax-fma3.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005558 "src/f32-dwconv/gen/up8x25-minmax-fma3-acc2.c",
5559 "src/f32-dwconv/gen/up8x25-minmax-fma3.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005560 "src/f32-dwconv/gen/up16x3-minmax-fma3-acc2.c",
5561 "src/f32-dwconv/gen/up16x3-minmax-fma3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005562 "src/f32-dwconv/gen/up16x4-minmax-fma3-acc2.c",
5563 "src/f32-dwconv/gen/up16x4-minmax-fma3.c",
5564 "src/f32-dwconv/gen/up16x9-minmax-fma3-acc2.c",
5565 "src/f32-dwconv/gen/up16x9-minmax-fma3.c",
5566 "src/f32-dwconv/gen/up16x25-minmax-fma3-acc2.c",
5567 "src/f32-dwconv/gen/up16x25-minmax-fma3.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005568 "src/f32-gemm/gen-inc/1x8inc-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005569 "src/f32-gemm/gen-inc/1x16inc-minmax-fma3-broadcast.c",
5570 "src/f32-gemm/gen-inc/1x16s4inc-minmax-fma3-broadcast.c",
5571 "src/f32-gemm/gen-inc/3x16inc-minmax-fma3-broadcast.c",
5572 "src/f32-gemm/gen-inc/3x16s4inc-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005573 "src/f32-gemm/gen-inc/4x8inc-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005574 "src/f32-gemm/gen-inc/4x16inc-minmax-fma3-broadcast.c",
5575 "src/f32-gemm/gen-inc/4x16s4inc-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005576 "src/f32-gemm/gen-inc/5x8inc-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005577 "src/f32-gemm/gen-inc/5x16inc-minmax-fma3-broadcast.c",
5578 "src/f32-gemm/gen-inc/5x16s4inc-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005579 "src/f32-gemm/gen-inc/6x8inc-minmax-fma3-broadcast.c",
5580 "src/f32-gemm/gen-inc/7x8inc-minmax-fma3-broadcast.c",
5581 "src/f32-gemm/gen-inc/8x8inc-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005582 "src/f32-gemm/gen/1x8-minmax-fma3-broadcast.c",
5583 "src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c",
5584 "src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c",
5585 "src/f32-gemm/gen/3x16-minmax-fma3-broadcast.c",
5586 "src/f32-gemm/gen/3x16s4-minmax-fma3-broadcast.c",
5587 "src/f32-gemm/gen/4x8-minmax-fma3-broadcast.c",
5588 "src/f32-gemm/gen/4x16-minmax-fma3-broadcast.c",
5589 "src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c",
5590 "src/f32-gemm/gen/5x8-minmax-fma3-broadcast.c",
5591 "src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c",
5592 "src/f32-gemm/gen/5x16s4-minmax-fma3-broadcast.c",
5593 "src/f32-gemm/gen/6x8-minmax-fma3-broadcast.c",
5594 "src/f32-gemm/gen/7x8-minmax-fma3-broadcast.c",
5595 "src/f32-gemm/gen/8x8-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005596 "src/f32-igemm/gen/1x8-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005597 "src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c",
5598 "src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c",
5599 "src/f32-igemm/gen/3x16-minmax-fma3-broadcast.c",
5600 "src/f32-igemm/gen/3x16s4-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005601 "src/f32-igemm/gen/4x8-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005602 "src/f32-igemm/gen/4x16-minmax-fma3-broadcast.c",
5603 "src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005604 "src/f32-igemm/gen/5x8-minmax-fma3-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005605 "src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c",
5606 "src/f32-igemm/gen/5x16s4-minmax-fma3-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005607 "src/f32-igemm/gen/6x8-minmax-fma3-broadcast.c",
5608 "src/f32-igemm/gen/7x8-minmax-fma3-broadcast.c",
5609 "src/f32-igemm/gen/8x8-minmax-fma3-broadcast.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07005610 "src/f32-vhswish/gen/vhswish-fma3-x8.c",
5611 "src/f32-vhswish/gen/vhswish-fma3-x16.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07005612 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x8.c",
5613 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x16.c",
5614 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x24.c",
5615 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x32.c",
5616 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x40.c",
5617 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x48.c",
5618 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x56.c",
5619 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x64.c",
Marat Dukhan84000762020-06-29 18:38:43 -07005620 "src/math/sqrt-fma3-nr1fma.c",
Marat Dukhan84000762020-06-29 18:38:43 -07005621 "src/math/sqrt-fma3-nr1fma1adj.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005622 "src/math/sqrt-fma3-nr2fma.c",
Marat Dukhanfda12b82019-11-21 12:27:59 -08005623]
5624
Marat Dukhan2c724952021-07-27 18:46:30 -07005625PROD_AVX2_MICROKERNEL_SRCS = [
5626 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x56.c",
5627 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x40.c",
5628 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
5629 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
5630 "src/qc8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
5631 "src/qc8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
5632 "src/qc8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
5633 "src/qc8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
5634 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
5635 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
5636 "src/qs8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
5637 "src/qs8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
5638 "src/qs8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
5639 "src/qs8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
5640 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
5641 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
5642 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
5643 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
5644 "src/qu8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
5645 "src/qu8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
5646 "src/qu8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
5647 "src/qu8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
5648 "src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
5649 "src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
Marat Dukhan98e054b2021-09-13 09:43:50 -07005650 "src/x8-lut/gen/lut-avx2-x128.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005651]
5652
5653ALL_AVX2_MICROKERNEL_SRCS = [
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005654 "src/f32-raddexpminusmax/gen/avx2-p5-x64-acc2.c",
5655 "src/f32-raddexpminusmax/gen/avx2-p5-x64-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005656 "src/f32-raddexpminusmax/gen/avx2-p5-x64.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005657 "src/f32-raddexpminusmax/gen/avx2-p5-x72-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005658 "src/f32-raddexpminusmax/gen/avx2-p5-x72.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005659 "src/f32-raddexpminusmax/gen/avx2-p5-x80-acc2.c",
5660 "src/f32-raddexpminusmax/gen/avx2-p5-x80-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005661 "src/f32-raddexpminusmax/gen/avx2-p5-x80.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005662 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc2.c",
5663 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc3.c",
5664 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005665 "src/f32-raddexpminusmax/gen/avx2-p5-x96.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005666 "src/f32-raddextexp/gen/avx2-p5-x64-acc2.c",
5667 "src/f32-raddextexp/gen/avx2-p5-x64-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005668 "src/f32-raddextexp/gen/avx2-p5-x64.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005669 "src/f32-raddextexp/gen/avx2-p5-x72-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005670 "src/f32-raddextexp/gen/avx2-p5-x72.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005671 "src/f32-raddextexp/gen/avx2-p5-x80-acc2.c",
5672 "src/f32-raddextexp/gen/avx2-p5-x80-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005673 "src/f32-raddextexp/gen/avx2-p5-x80.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005674 "src/f32-raddextexp/gen/avx2-p5-x96-acc2.c",
5675 "src/f32-raddextexp/gen/avx2-p5-x96-acc3.c",
5676 "src/f32-raddextexp/gen/avx2-p5-x96-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005677 "src/f32-raddextexp/gen/avx2-p5-x96.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005678 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc2.c",
5679 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005680 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005681 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x72-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005682 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x72.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005683 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc2.c",
5684 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005685 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005686 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc2.c",
5687 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc3.c",
5688 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005689 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08005690 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x8.c",
5691 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x16.c",
5692 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x24.c",
5693 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x32.c",
5694 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x40.c",
5695 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x48.c",
5696 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x56.c",
5697 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x64.c",
5698 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x72.c",
5699 "src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x80.c",
5700 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x8.c",
5701 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x16.c",
5702 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x24.c",
5703 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x32.c",
5704 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x40.c",
5705 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x48.c",
5706 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x56.c",
5707 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x64.c",
5708 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x72.c",
5709 "src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x80.c",
5710 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x8.c",
5711 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x16.c",
5712 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x24.c",
5713 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x32.c",
5714 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x40.c",
5715 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x48.c",
5716 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x56.c",
5717 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x64.c",
5718 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x72.c",
5719 "src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x80.c",
5720 "src/f32-velu/gen/velu-avx2-rr1-p6-x8.c",
5721 "src/f32-velu/gen/velu-avx2-rr1-p6-x16.c",
5722 "src/f32-velu/gen/velu-avx2-rr1-p6-x24.c",
5723 "src/f32-velu/gen/velu-avx2-rr1-p6-x32.c",
5724 "src/f32-velu/gen/velu-avx2-rr1-p6-x40.c",
5725 "src/f32-velu/gen/velu-avx2-rr1-p6-x48.c",
5726 "src/f32-velu/gen/velu-avx2-rr1-p6-x56.c",
5727 "src/f32-velu/gen/velu-avx2-rr1-p6-x64.c",
5728 "src/f32-velu/gen/velu-avx2-rr1-p6-x72.c",
5729 "src/f32-velu/gen/velu-avx2-rr1-p6-x80.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005730 "src/f32-vscaleexpminusmax/gen/avx2-p5-x8.c",
5731 "src/f32-vscaleexpminusmax/gen/avx2-p5-x16.c",
5732 "src/f32-vscaleexpminusmax/gen/avx2-p5-x24.c",
5733 "src/f32-vscaleexpminusmax/gen/avx2-p5-x32.c",
5734 "src/f32-vscaleexpminusmax/gen/avx2-p5-x40.c",
5735 "src/f32-vscaleexpminusmax/gen/avx2-p5-x48.c",
5736 "src/f32-vscaleexpminusmax/gen/avx2-p5-x56.c",
5737 "src/f32-vscaleexpminusmax/gen/avx2-p5-x64.c",
5738 "src/f32-vscaleexpminusmax/gen/avx2-p5-x72.c",
5739 "src/f32-vscaleexpminusmax/gen/avx2-p5-x80.c",
5740 "src/f32-vscaleexpminusmax/gen/avx2-p5-x88.c",
5741 "src/f32-vscaleexpminusmax/gen/avx2-p5-x96.c",
5742 "src/f32-vscaleextexp/gen/avx2-p5-x8.c",
5743 "src/f32-vscaleextexp/gen/avx2-p5-x16.c",
5744 "src/f32-vscaleextexp/gen/avx2-p5-x24.c",
5745 "src/f32-vscaleextexp/gen/avx2-p5-x32.c",
5746 "src/f32-vscaleextexp/gen/avx2-p5-x40.c",
5747 "src/f32-vscaleextexp/gen/avx2-p5-x48.c",
5748 "src/f32-vscaleextexp/gen/avx2-p5-x56.c",
5749 "src/f32-vscaleextexp/gen/avx2-p5-x64.c",
5750 "src/f32-vscaleextexp/gen/avx2-p5-x72.c",
5751 "src/f32-vscaleextexp/gen/avx2-p5-x80.c",
5752 "src/f32-vscaleextexp/gen/avx2-p5-x88.c",
5753 "src/f32-vscaleextexp/gen/avx2-p5-x96.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07005754 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x8.c",
5755 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x16.c",
5756 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x24.c",
5757 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x32.c",
5758 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x40.c",
5759 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x48.c",
5760 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x56.c",
5761 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x64.c",
5762 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x72.c",
5763 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x80.c",
5764 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x8.c",
5765 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x16.c",
5766 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x24.c",
5767 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x32.c",
5768 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x40.c",
5769 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x48.c",
5770 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x56.c",
5771 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x64.c",
5772 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x72.c",
5773 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x80.c",
5774 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x8.c",
5775 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x16.c",
5776 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x24.c",
5777 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x32.c",
5778 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x40.c",
5779 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x48.c",
5780 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x56.c",
5781 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x64.c",
5782 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x72.c",
5783 "src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x80.c",
Marat Dukhanb7633f22020-11-20 16:34:56 -08005784 "src/math/exp-avx2-rr2-lut8-p3-perm.c",
5785 "src/math/exp-avx2-rr2-lut8-p4-perm.c",
5786 "src/math/exp-avx2-rr2-p5.c",
Marat Dukhande390d42020-11-29 19:32:18 -08005787 "src/math/expm1minus-avx2-rr1-lut4-p4-perm.c",
5788 "src/math/expm1minus-avx2-rr1-lut8-p4-perm.c",
5789 "src/math/expm1minus-avx2-rr1-lut16-p3-gather.c",
5790 "src/math/expm1minus-avx2-rr1-p6.c",
Frank Barcharde7223ee2020-12-04 19:04:01 -08005791 "src/math/expminus-avx2-rr2-p5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005792 "src/math/extexp-avx2-p5.c",
5793 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-div.c",
5794 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr1fma.c",
5795 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma.c",
5796 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma1adj.c",
5797 "src/math/sigmoid-avx2-rr1-p5-div.c",
5798 "src/math/sigmoid-avx2-rr1-p5-nr1fma.c",
5799 "src/math/sigmoid-avx2-rr1-p5-nr2fma.c",
5800 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-div.c",
5801 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr1fma.c",
5802 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma.c",
5803 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma1adj.c",
5804 "src/math/sigmoid-avx2-rr2-p5-div.c",
5805 "src/math/sigmoid-avx2-rr2-p5-nr1fma.c",
5806 "src/math/sigmoid-avx2-rr2-p5-nr2fma.c",
Marat Dukhan82286892021-06-04 17:27:27 -07005807 "src/qc8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c",
5808 "src/qc8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005809 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005810 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpmovsx.c",
5811 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan82286892021-06-04 17:27:27 -07005812 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005813 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005814 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpmovsx.c",
5815 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan82286892021-06-04 17:27:27 -07005816 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
5817 "src/qc8-dwconv/gen/up24x9-minmax-fp32-avx2-mul32.c",
5818 "src/qc8-dwconv/gen/up24x25-minmax-fp32-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005819 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005820 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpmovsx.c",
5821 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan82286892021-06-04 17:27:27 -07005822 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005823 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005824 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpmovsx.c",
5825 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan82286892021-06-04 17:27:27 -07005826 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c",
Marat Dukhan0b043742021-06-02 18:29:11 -07005827 "src/qc8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
5828 "src/qc8-gemm/gen/1x8c8-xw-minmax-fp32-avx2.c",
5829 "src/qc8-gemm/gen/2x8c8-minmax-fp32-avx2.c",
5830 "src/qc8-gemm/gen/2x8c8-xw-minmax-fp32-avx2.c",
5831 "src/qc8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
5832 "src/qc8-gemm/gen/3x8c8-xw-minmax-fp32-avx2.c",
Marat Dukhane06c8132021-06-03 08:59:11 -07005833 "src/qc8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
5834 "src/qc8-igemm/gen/2x8c8-minmax-fp32-avx2.c",
5835 "src/qc8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005836 "src/qs8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005837 "src/qs8-dwconv/gen/up8x9-minmax-gemmlowp-avx2-mul32.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005838 "src/qs8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005839 "src/qs8-dwconv/gen/up8x25-minmax-gemmlowp-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005840 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005841 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpmovsx.c",
5842 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005843 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005844 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-avx2-mul16-vpmovsx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005845 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005846 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005847 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpmovsx.c",
5848 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005849 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005850 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-avx2-mul16-vpmovsx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005851 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-avx2-mul32.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005852 "src/qs8-dwconv/gen/up24x9-minmax-fp32-avx2-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005853 "src/qs8-dwconv/gen/up24x9-minmax-gemmlowp-avx2-mul32.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005854 "src/qs8-dwconv/gen/up24x25-minmax-fp32-avx2-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005855 "src/qs8-dwconv/gen/up24x25-minmax-gemmlowp-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005856 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005857 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpmovsx.c",
5858 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005859 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005860 "src/qs8-dwconv/gen/up32x9-minmax-gemmlowp-avx2-mul16-vpmovsx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005861 "src/qs8-dwconv/gen/up32x9-minmax-gemmlowp-avx2-mul32.c",
Frank Barchard59ed1da2021-08-02 11:34:59 -07005862 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005863 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpmovsx.c",
5864 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpunpck.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005865 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c",
Marat Dukhan881ab022021-07-28 13:49:26 -07005866 "src/qs8-dwconv/gen/up32x25-minmax-gemmlowp-avx2-mul16-vpmovsx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005867 "src/qs8-dwconv/gen/up32x25-minmax-gemmlowp-avx2-mul32.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005868 "src/qs8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
Marat Dukhan0b043742021-06-02 18:29:11 -07005869 "src/qs8-gemm/gen/1x8c8-xw-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005870 "src/qs8-gemm/gen/2x8c8-minmax-fp32-avx2.c",
Marat Dukhan0b043742021-06-02 18:29:11 -07005871 "src/qs8-gemm/gen/2x8c8-xw-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005872 "src/qs8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005873 "src/qs8-gemm/gen/3x8c8-minmax-gemmlowp-avx2.c",
Marat Dukhan0b043742021-06-02 18:29:11 -07005874 "src/qs8-gemm/gen/3x8c8-xw-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005875 "src/qs8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005876 "src/qs8-igemm/gen/2x8c8-minmax-fp32-avx2.c",
Marat Dukhan9b474cf2021-05-25 16:37:48 -07005877 "src/qs8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07005878 "src/qs8-igemm/gen/3x8c8-minmax-gemmlowp-avx2.c",
Marat Dukhane6dc0b62020-09-08 23:57:14 -07005879 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x8.c",
5880 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
5881 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x24.c",
5882 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x32.c",
5883 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c",
5884 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
5885 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x24.c",
5886 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x32.c",
Marat Dukhan09c312b2021-07-09 00:45:04 -07005887 "src/qu8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c",
5888 "src/qu8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c",
5889 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c",
5890 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c",
5891 "src/qu8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c",
5892 "src/qu8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c",
Marat Dukhan902ef7f2021-07-02 16:11:06 -07005893 "src/qu8-gemm/gen/1x8c8-minmax-fp32-avx2.c",
5894 "src/qu8-gemm/gen/2x8c8-minmax-fp32-avx2.c",
5895 "src/qu8-gemm/gen/3x8c8-minmax-fp32-avx2.c",
5896 "src/qu8-igemm/gen/1x8c8-minmax-fp32-avx2.c",
5897 "src/qu8-igemm/gen/2x8c8-minmax-fp32-avx2.c",
5898 "src/qu8-igemm/gen/3x8c8-minmax-fp32-avx2.c",
Marat Dukhan3eac69c2021-07-21 01:42:29 -07005899 "src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x8.c",
5900 "src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
5901 "src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c",
5902 "src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
Marat Dukhan7c478e32021-09-10 09:48:13 -07005903 "src/x8-lut/gen/lut-avx2-x32.c",
5904 "src/x8-lut/gen/lut-avx2-x64.c",
5905 "src/x8-lut/gen/lut-avx2-x96.c",
5906 "src/x8-lut/gen/lut-avx2-x128.c",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07005907]
5908
Marat Dukhan2c724952021-07-27 18:46:30 -07005909PROD_AVX512F_MICROKERNEL_SRCS = [
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005910 "src/f32-dwconv/gen/up16x3-minmax-avx512f.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07005911 "src/f32-dwconv/gen/up16x4-minmax-avx512f.c",
5912 "src/f32-dwconv/gen/up16x9-minmax-avx512f.c",
5913 "src/f32-dwconv/gen/up16x25-minmax-avx512f.c",
5914 "src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c",
5915 "src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c",
5916 "src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c",
5917 "src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c",
5918 "src/f32-prelu/gen/avx512f-2x16.c",
5919 "src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c",
5920 "src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c",
5921 "src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c",
5922 "src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c",
5923 "src/f32-vbinary/gen/vmax-avx512f-x32.c",
5924 "src/f32-vbinary/gen/vmaxc-avx512f-x32.c",
5925 "src/f32-vbinary/gen/vmin-avx512f-x32.c",
5926 "src/f32-vbinary/gen/vminc-avx512f-x32.c",
5927 "src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c",
5928 "src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c",
5929 "src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c",
5930 "src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c",
5931 "src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c",
5932 "src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c",
5933 "src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c",
5934 "src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c",
5935 "src/f32-vclamp/gen/vclamp-avx512f-x16.c",
5936 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x64.c",
5937 "src/f32-vhswish/gen/vhswish-avx512f-x16.c",
5938 "src/f32-vlrelu/gen/vlrelu-avx512f-x16.c",
5939 "src/f32-vrnd/gen/vrndd-avx512f-x16.c",
5940 "src/f32-vrnd/gen/vrndne-avx512f-x16.c",
5941 "src/f32-vrnd/gen/vrndu-avx512f-x16.c",
5942 "src/f32-vrnd/gen/vrndz-avx512f-x16.c",
5943 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c",
5944 "src/f32-vunary/gen/vabs-avx512f-x16.c",
5945 "src/f32-vunary/gen/vneg-avx512f-x16.c",
5946 "src/f32-vunary/gen/vsqr-avx512f-x16.c",
5947]
5948
5949ALL_AVX512F_MICROKERNEL_SRCS = [
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005950 "src/f32-dwconv/gen/up16x3-minmax-avx512f-acc2.c",
5951 "src/f32-dwconv/gen/up16x3-minmax-avx512f.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005952 "src/f32-dwconv/gen/up16x4-minmax-avx512f-acc2.c",
5953 "src/f32-dwconv/gen/up16x4-minmax-avx512f.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005954 "src/f32-dwconv/gen/up16x9-minmax-avx512f-acc2.c",
5955 "src/f32-dwconv/gen/up16x9-minmax-avx512f.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005956 "src/f32-dwconv/gen/up16x25-minmax-avx512f-acc2.c",
5957 "src/f32-dwconv/gen/up16x25-minmax-avx512f.c",
Artsiom Ablavatski47a74db2021-11-02 13:40:24 -07005958 "src/f32-dwconv/gen/up32x3-minmax-avx512f-acc2.c",
5959 "src/f32-dwconv/gen/up32x3-minmax-avx512f.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005960 "src/f32-dwconv/gen/up32x4-minmax-avx512f-acc2.c",
5961 "src/f32-dwconv/gen/up32x4-minmax-avx512f.c",
5962 "src/f32-dwconv/gen/up32x9-minmax-avx512f-acc2.c",
5963 "src/f32-dwconv/gen/up32x9-minmax-avx512f.c",
5964 "src/f32-dwconv/gen/up32x25-minmax-avx512f-acc2.c",
5965 "src/f32-dwconv/gen/up32x25-minmax-avx512f.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005966 "src/f32-gemm/gen-inc/1x16inc-minmax-avx512f-broadcast.c",
5967 "src/f32-gemm/gen-inc/4x16inc-minmax-avx512f-broadcast.c",
5968 "src/f32-gemm/gen-inc/5x16inc-minmax-avx512f-broadcast.c",
5969 "src/f32-gemm/gen-inc/6x16inc-minmax-avx512f-broadcast.c",
5970 "src/f32-gemm/gen-inc/7x16inc-minmax-avx512f-broadcast.c",
5971 "src/f32-gemm/gen-inc/8x16inc-minmax-avx512f-broadcast.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005972 "src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c",
5973 "src/f32-gemm/gen/4x16-minmax-avx512f-broadcast.c",
5974 "src/f32-gemm/gen/5x16-minmax-avx512f-broadcast.c",
5975 "src/f32-gemm/gen/6x16-minmax-avx512f-broadcast.c",
5976 "src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c",
5977 "src/f32-gemm/gen/8x16-minmax-avx512f-broadcast.c",
Marat Dukhan1c587112020-04-08 20:04:28 -07005978 "src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c",
5979 "src/f32-igemm/gen/4x16-minmax-avx512f-broadcast.c",
5980 "src/f32-igemm/gen/5x16-minmax-avx512f-broadcast.c",
5981 "src/f32-igemm/gen/6x16-minmax-avx512f-broadcast.c",
5982 "src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c",
5983 "src/f32-igemm/gen/8x16-minmax-avx512f-broadcast.c",
Marat Dukhan90eca0a2020-03-11 00:52:23 -07005984 "src/f32-prelu/gen/avx512f-2x16.c",
5985 "src/f32-prelu/gen/avx512f-2x32.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005986 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
5987 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005988 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005989 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005990 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005991 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
5992 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005993 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005994 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
5995 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
5996 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07005997 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08005998 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc2.c",
5999 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006000 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006001 "src/f32-raddextexp/gen/avx512f-p5-scalef-x144-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006002 "src/f32-raddextexp/gen/avx512f-p5-scalef-x144.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006003 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc2.c",
6004 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006005 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006006 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc2.c",
6007 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc3.c",
6008 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006009 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006010 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
6011 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006012 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006013 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006014 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006015 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
6016 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006017 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006018 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
6019 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
6020 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006021 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006022 "src/f32-rmax/avx512f.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07006023 "src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c",
6024 "src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c",
6025 "src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c",
6026 "src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c",
6027 "src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c",
6028 "src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c",
6029 "src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c",
6030 "src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c",
Marat Dukhan9a88efe2019-12-10 15:54:24 -08006031 "src/f32-vbinary/gen/vmax-avx512f-x16.c",
6032 "src/f32-vbinary/gen/vmax-avx512f-x32.c",
6033 "src/f32-vbinary/gen/vmaxc-avx512f-x16.c",
6034 "src/f32-vbinary/gen/vmaxc-avx512f-x32.c",
6035 "src/f32-vbinary/gen/vmin-avx512f-x16.c",
6036 "src/f32-vbinary/gen/vmin-avx512f-x32.c",
6037 "src/f32-vbinary/gen/vminc-avx512f-x16.c",
6038 "src/f32-vbinary/gen/vminc-avx512f-x32.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07006039 "src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c",
6040 "src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c",
6041 "src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c",
6042 "src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c",
6043 "src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c",
6044 "src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c",
6045 "src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c",
6046 "src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c",
Marat Dukhan13bafb02020-06-05 00:43:11 -07006047 "src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c",
6048 "src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c",
6049 "src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c",
6050 "src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c",
Marat Dukhan91cd2b72020-04-09 23:57:31 -07006051 "src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c",
6052 "src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c",
6053 "src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c",
6054 "src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07006055 "src/f32-vclamp/gen/vclamp-avx512f-x16.c",
6056 "src/f32-vclamp/gen/vclamp-avx512f-x32.c",
Marat Dukhaned6baaf2020-12-01 15:07:08 -08006057 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x16.c",
6058 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x32.c",
6059 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x48.c",
6060 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x64.c",
6061 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x80.c",
6062 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x96.c",
6063 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x112.c",
6064 "src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x128.c",
6065 "src/f32-velu/gen/velu-avx512f-rr1-p6-x16.c",
6066 "src/f32-velu/gen/velu-avx512f-rr1-p6-x32.c",
6067 "src/f32-velu/gen/velu-avx512f-rr1-p6-x48.c",
6068 "src/f32-velu/gen/velu-avx512f-rr1-p6-x64.c",
6069 "src/f32-velu/gen/velu-avx512f-rr1-p6-x80.c",
6070 "src/f32-velu/gen/velu-avx512f-rr1-p6-x96.c",
6071 "src/f32-velu/gen/velu-avx512f-rr1-p6-x112.c",
6072 "src/f32-velu/gen/velu-avx512f-rr1-p6-x128.c",
Marat Dukhan6674d692021-05-05 22:27:00 -07006073 "src/f32-vhswish/gen/vhswish-avx512f-x16.c",
6074 "src/f32-vhswish/gen/vhswish-avx512f-x32.c",
Marat Dukhan19dd91d2020-07-16 11:12:44 -07006075 "src/f32-vlrelu/gen/vlrelu-avx512f-x16.c",
6076 "src/f32-vlrelu/gen/vlrelu-avx512f-x32.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07006077 "src/f32-vrelu/gen/vrelu-avx512f-x16.c",
6078 "src/f32-vrelu/gen/vrelu-avx512f-x32.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006079 "src/f32-vrnd/gen/vrndd-avx512f-x16.c",
6080 "src/f32-vrnd/gen/vrndd-avx512f-x32.c",
6081 "src/f32-vrnd/gen/vrndne-avx512f-x16.c",
6082 "src/f32-vrnd/gen/vrndne-avx512f-x32.c",
6083 "src/f32-vrnd/gen/vrndu-avx512f-x16.c",
6084 "src/f32-vrnd/gen/vrndu-avx512f-x32.c",
6085 "src/f32-vrnd/gen/vrndz-avx512f-x16.c",
6086 "src/f32-vrnd/gen/vrndz-avx512f-x32.c",
Frank Barchardbeca6522020-10-30 22:34:35 -07006087 "src/f32-vscale/avx512f-x64.c",
Marat Dukhan4c4eb002019-12-08 21:27:49 -08006088 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x16.c",
6089 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x32.c",
6090 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x48.c",
6091 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x64.c",
6092 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x80.c",
6093 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x96.c",
6094 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x112.c",
6095 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x128.c",
6096 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x144.c",
6097 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x160.c",
6098 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x176.c",
6099 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x192.c",
6100 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x16.c",
6101 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x32.c",
6102 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x48.c",
6103 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x64.c",
6104 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x80.c",
6105 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x96.c",
6106 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x112.c",
6107 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x128.c",
6108 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x144.c",
6109 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x160.c",
6110 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x176.c",
6111 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x192.c",
Marat Dukhanb1eec082021-05-05 23:24:55 -07006112 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x16.c",
6113 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x32.c",
6114 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x48.c",
6115 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x64.c",
6116 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x80.c",
6117 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x96.c",
6118 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x112.c",
6119 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x128.c",
6120 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x16.c",
6121 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x32.c",
6122 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x48.c",
6123 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x64.c",
6124 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x80.c",
6125 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x96.c",
6126 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x112.c",
6127 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x128.c",
6128 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x16.c",
6129 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x32.c",
6130 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x48.c",
6131 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x64.c",
6132 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x80.c",
6133 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x96.c",
6134 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x112.c",
6135 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x128.c",
6136 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x16.c",
6137 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x32.c",
6138 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x48.c",
6139 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x64.c",
6140 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x80.c",
6141 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x96.c",
6142 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x112.c",
6143 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x128.c",
6144 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x16.c",
6145 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x32.c",
6146 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x48.c",
6147 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c",
6148 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x80.c",
6149 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x96.c",
6150 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x112.c",
6151 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x128.c",
6152 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x16.c",
6153 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x32.c",
6154 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x48.c",
6155 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x64.c",
6156 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x80.c",
6157 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x96.c",
6158 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x112.c",
6159 "src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x128.c",
Marat Dukhanf4db2f32020-06-30 10:55:30 -07006160 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x16.c",
6161 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x32.c",
6162 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x48.c",
6163 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x64.c",
6164 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x80.c",
6165 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x96.c",
6166 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x112.c",
6167 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x128.c",
Marat Dukhan5020b962020-06-08 13:30:10 -07006168 "src/f32-vunary/gen/vabs-avx512f-x16.c",
6169 "src/f32-vunary/gen/vabs-avx512f-x32.c",
6170 "src/f32-vunary/gen/vneg-avx512f-x16.c",
6171 "src/f32-vunary/gen/vneg-avx512f-x32.c",
6172 "src/f32-vunary/gen/vsqr-avx512f-x16.c",
6173 "src/f32-vunary/gen/vsqr-avx512f-x32.c",
Marat Dukhanb7633f22020-11-20 16:34:56 -08006174 "src/math/exp-avx512f-rr2-lut16-p3-perm-scalef.c",
6175 "src/math/exp-avx512f-rr2-lut16-p3-perm.c",
6176 "src/math/exp-avx512f-rr2-lut32-p2-perm2-scalef.c",
6177 "src/math/exp-avx512f-rr2-lut32-p2-perm2.c",
6178 "src/math/exp-avx512f-rr2-p5-scalef.c",
6179 "src/math/exp-avx512f-rr2-p5.c",
Marat Dukhande390d42020-11-29 19:32:18 -08006180 "src/math/expm1minus-avx512f-rr1-lut16-p3-perm.c",
6181 "src/math/expm1minus-avx512f-rr1-p6.c",
Marat Dukhan98ba4412019-10-23 02:14:28 -07006182 "src/math/extexp-avx512f-p5.c",
Marat Dukhan6a34c5f2020-09-22 21:44:15 -07006183 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-div.c",
Marat Dukhan6a34c5f2020-09-22 21:44:15 -07006184 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006185 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma1adj.c",
Marat Dukhan6a34c5f2020-09-22 21:44:15 -07006186 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-div.c",
Marat Dukhan6a34c5f2020-09-22 21:44:15 -07006187 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006188 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma1adj.c",
Marat Dukhan36173d22020-10-15 17:14:26 -07006189 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-div.c",
Marat Dukhan36173d22020-10-15 17:14:26 -07006190 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006191 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma1adj.c",
6192 "src/math/sigmoid-avx512f-rr1-p5-scalef-div.c",
6193 "src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma.c",
6194 "src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma1adj.c",
6195 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-div.c",
6196 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma.c",
6197 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma1adj.c",
6198 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div.c",
6199 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma.c",
6200 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma1adj.c",
Marat Dukhan36173d22020-10-15 17:14:26 -07006201 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-div.c",
Marat Dukhan36173d22020-10-15 17:14:26 -07006202 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006203 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma1adj.c",
6204 "src/math/sigmoid-avx512f-rr2-p5-scalef-div.c",
6205 "src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma.c",
6206 "src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma1adj.c",
Marat Dukhan84000762020-06-29 18:38:43 -07006207 "src/math/sqrt-avx512f-nr1fma.c",
Marat Dukhan84000762020-06-29 18:38:43 -07006208 "src/math/sqrt-avx512f-nr1fma1adj.c",
Frank Barchard04336c12020-10-22 16:48:55 -07006209 "src/math/sqrt-avx512f-nr2fma.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006210]
6211
Marat Dukhan2c724952021-07-27 18:46:30 -07006212PROD_AVX512SKX_MICROKERNEL_SRCS = [
Marat Dukhanaf2ba002021-10-24 14:21:41 -07006213 "src/f16-f32-vcvt/gen/vcvt-avx512skx-x16.c",
Marat Dukhana0c61682021-11-10 19:23:41 -08006214 "src/f32-f16-vcvt/gen/vcvt-avx512skx-x16.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07006215 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
6216 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
6217 "src/qc8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6218 "src/qc8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6219 "src/qc8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6220 "src/qc8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6221 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
6222 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
6223 "src/qs8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6224 "src/qs8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6225 "src/qs8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6226 "src/qs8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6227 "src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c",
6228 "src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c",
6229 "src/qu8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
6230 "src/qu8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
6231 "src/qu8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6232 "src/qu8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6233 "src/qu8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6234 "src/qu8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6235 "src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c",
6236 "src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c",
Marat Dukhan98e054b2021-09-13 09:43:50 -07006237 "src/x8-lut/gen/lut-avx512skx-vpshufb-x64.c",
Marat Dukhan2c724952021-07-27 18:46:30 -07006238]
6239
6240ALL_AVX512SKX_MICROKERNEL_SRCS = [
Marat Dukhan79c76ab2021-09-26 20:26:39 -07006241 "src/f16-f32-vcvt/gen/vcvt-avx512skx-x16.c",
6242 "src/f16-f32-vcvt/gen/vcvt-avx512skx-x32.c",
Marat Dukhand77f77d2021-10-24 15:39:59 -07006243 "src/f32-f16-vcvt/gen/vcvt-avx512skx-x16.c",
6244 "src/f32-f16-vcvt/gen/vcvt-avx512skx-x32.c",
Marat Dukhan98042f22021-06-15 00:43:13 -07006245 "src/qc8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c",
6246 "src/qc8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c",
6247 "src/qc8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
6248 "src/qc8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
Marat Dukhanc3e3f1c2021-06-03 09:56:16 -07006249 "src/qc8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6250 "src/qc8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c",
6251 "src/qc8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c",
6252 "src/qc8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6253 "src/qc8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6254 "src/qc8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c",
6255 "src/qc8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c",
6256 "src/qc8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006257 "src/qs8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006258 "src/qs8-dwconv/gen/up16x9-minmax-gemmlowp-avx512skx-mul32.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006259 "src/qs8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006260 "src/qs8-dwconv/gen/up16x25-minmax-gemmlowp-avx512skx-mul32.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006261 "src/qs8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006262 "src/qs8-dwconv/gen/up32x9-minmax-gemmlowp-avx512skx-mul32.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006263 "src/qs8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006264 "src/qs8-dwconv/gen/up32x25-minmax-gemmlowp-avx512skx-mul32.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006265 "src/qs8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006266 "src/qs8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006267 "src/qs8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006268 "src/qs8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006269 "src/qs8-gemm/gen/4x16c8-minmax-gemmlowp-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006270 "src/qs8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006271 "src/qs8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006272 "src/qs8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c",
Marat Dukhan71855ee2021-05-25 19:05:06 -07006273 "src/qs8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
Frank Barchardd208bec2021-05-28 11:36:39 -07006274 "src/qs8-igemm/gen/4x16c8-minmax-gemmlowp-avx512skx.c",
Marat Dukhane76049a2021-07-22 14:48:59 -07006275 "src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c",
6276 "src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x32.c",
6277 "src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c",
6278 "src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x32.c",
Marat Dukhancfd606b2021-07-09 01:18:45 -07006279 "src/qu8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c",
6280 "src/qu8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c",
6281 "src/qu8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c",
6282 "src/qu8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c",
Marat Dukhan3cf2e222021-07-08 11:38:45 -07006283 "src/qu8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6284 "src/qu8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c",
6285 "src/qu8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c",
6286 "src/qu8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c",
6287 "src/qu8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c",
6288 "src/qu8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c",
6289 "src/qu8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c",
6290 "src/qu8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c",
Marat Dukhane76049a2021-07-22 14:48:59 -07006291 "src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c",
6292 "src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x32.c",
6293 "src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c",
6294 "src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x32.c",
Marat Dukhan2b3c4102021-09-10 19:05:37 -07006295 "src/x8-lut/gen/lut-avx512skx-vpshufb-x64.c",
6296 "src/x8-lut/gen/lut-avx512skx-vpshufb-x128.c",
6297 "src/x8-lut/gen/lut-avx512skx-vpshufb-x192.c",
6298 "src/x8-lut/gen/lut-avx512skx-vpshufb-x256.c",
Marat Dukhanbb00b1d2020-08-10 11:37:23 -07006299]
6300
Marat Dukhandb3b0a72021-07-27 08:58:01 -07006301WASM32_ASM_MICROKERNEL_SRCS = [
Marat Dukhan6674d692021-05-05 22:27:00 -07006302 "src/f32-vrelu/wasm_shr_x1.S",
6303 "src/f32-vrelu/wasm_shr_x2.S",
6304 "src/f32-vrelu/wasm_shr_x4.S",
Frank Barchardbcedc082020-08-17 18:00:51 -07006305]
6306
Marat Dukhandb3b0a72021-07-27 08:58:01 -07006307AARCH32_ASM_MICROKERNEL_SRCS = [
Marat Dukhan32f93812020-05-17 20:31:21 -07006308 "src/f32-gemm/4x4-aarch32-vfp-ld64.S",
Marat Dukhan3b98f6b2020-05-17 10:09:22 -07006309 "src/f32-gemm/4x4-minmax-aarch32-vfp-ld64.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006310 "src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a53.S",
6311 "src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a55.S",
Frank Barchard490febe2020-07-16 18:42:17 -07006312 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006313 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
Frank Barchard569561d2020-06-17 13:11:12 -07006314 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-ld64.S",
Frank Barchard490febe2020-07-16 18:42:17 -07006315 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006316 "src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a53.S",
6317 "src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a55.S",
Frank Barchard490febe2020-07-16 18:42:17 -07006318 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
6319 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
6320 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-ld64.S",
6321 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006322]
6323
Marat Dukhandb3b0a72021-07-27 08:58:01 -07006324AARCH64_ASM_MICROKERNEL_SRCS = [
Frank Barchardbddfbcd2020-04-15 12:32:41 -07006325 "src/f16-gemm/gen-inc/1x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006326 "src/f16-gemm/gen-inc/1x16inc-minmax-aarch64-neonfp16arith-ld32.S",
Frank Barchardbddfbcd2020-04-15 12:32:41 -07006327 "src/f16-gemm/gen-inc/4x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006328 "src/f16-gemm/gen-inc/4x16inc-minmax-aarch64-neonfp16arith-ld32.S",
Frank Barchardbddfbcd2020-04-15 12:32:41 -07006329 "src/f16-gemm/gen-inc/6x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Frank Barchard80fc5f42021-06-07 10:43:16 -07006330 "src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-cortex-a55.S",
Frank Barchard97374612021-06-07 11:51:07 -07006331 "src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-cortex-a75.S",
Frank Barchard23eb4822021-06-08 15:03:41 -07006332 "src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-ld32.S",
6333 "src/f16-gemm/gen-inc/8x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006334 "src/f16-gemm/gen/1x8-minmax-aarch64-neonfp16arith-ld64.S",
6335 "src/f16-gemm/gen/1x16-minmax-aarch64-neonfp16arith-ld32.S",
6336 "src/f16-gemm/gen/4x8-minmax-aarch64-neonfp16arith-ld64.S",
6337 "src/f16-gemm/gen/4x16-minmax-aarch64-neonfp16arith-ld32.S",
6338 "src/f16-gemm/gen/6x8-minmax-aarch64-neonfp16arith-ld64.S",
Frank Barchard80fc5f42021-06-07 10:43:16 -07006339 "src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-cortex-a55.S",
Frank Barchard97374612021-06-07 11:51:07 -07006340 "src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-cortex-a75.S",
Frank Barchard23eb4822021-06-08 15:03:41 -07006341 "src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-ld32.S",
6342 "src/f16-gemm/gen/8x8-minmax-aarch64-neonfp16arith-ld64.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006343 "src/f32-dwconv/up4x9-minmax-aarch64-neonfma-cortex-a55.S",
6344 "src/f32-dwconv/up4x9-minmax-aarch64-neonfma.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006345 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a53.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006346 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006347 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-ld64.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006348 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006349 "src/f32-gemm/gen-inc/1x12inc-minmax-aarch64-neonfma-cortex-a53.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006350 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a53.S",
6351 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a55.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006352 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006353 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld64.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006354 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006355 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006356 "src/f32-gemm/gen-inc/4x12inc-minmax-aarch64-neonfma-cortex-a53.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006357 "src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006358 "src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006359 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a53.S",
6360 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a55.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006361 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a73.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006362 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006363 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld64.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006364 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006365 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006366 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a53.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006367 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
6368 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-ld64.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006369 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006370 "src/f32-gemm/gen/1x12-minmax-aarch64-neonfma-cortex-a53.S",
6371 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a53.S",
6372 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a55.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006373 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
6374 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld64.S",
6375 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006376 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006377 "src/f32-gemm/gen/4x12-minmax-aarch64-neonfma-cortex-a53.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006378 "src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006379 "src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006380 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a53.S",
6381 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a55.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006382 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a73.S",
6383 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
6384 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld64.S",
6385 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006386 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006387 "src/f32-igemm/1x8-minmax-aarch64-neonfma-cortex-a53.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006388 "src/f32-igemm/1x12-minmax-aarch64-neonfma-cortex-a53.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006389 "src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a53.S",
6390 "src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a55.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006391 "src/f32-igemm/4x12-minmax-aarch64-neonfma-cortex-a53.S",
6392 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a53.S",
6393 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a55.S",
6394 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a73.S",
Frank Barchard04336c12020-10-22 16:48:55 -07006395 "src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006396 "src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Marat Dukhan1c587112020-04-08 20:04:28 -07006397 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barcharde3491242021-06-11 14:04:57 -07006398 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-ld64.S",
Frank Barchard79cd5f92021-06-21 17:34:59 -07006399 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006400 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
6401 "src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
6402 "src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
6403 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
Frank Barcharde3491242021-06-11 14:04:57 -07006404 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-ld64.S",
Frank Barchard79cd5f92021-06-21 17:34:59 -07006405 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-ld128.S",
Frank Barchard143a1102021-06-15 09:15:34 -07006406 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-prfm-cortex-a75.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006407 "src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6408 "src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6409 "src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6410 "src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006411 "src/qc8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld32.S",
6412 "src/qc8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld64.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006413 "src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6414 "src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6415 "src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6416 "src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S",
6417 "src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mull.S",
6418 "src/qc8-gemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006419 "src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006420 "src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006421 "src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006422 "src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006423 "src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S",
6424 "src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld32.S",
6425 "src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S",
6426 "src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006427 "src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6428 "src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6429 "src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6430 "src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S",
6431 "src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6432 "src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6433 "src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6434 "src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S",
6435 "src/qc8-igemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006436 "src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006437 "src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006438 "src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006439 "src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006440 "src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S",
6441 "src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S",
6442 "src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006443 "src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6444 "src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6445 "src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6446 "src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S",
6447 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-cortex-a53.S",
6448 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm-cortex-a53.S",
6449 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm.S",
6450 "src/qs8-gemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal.S",
6451 "src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S",
6452 "src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S",
6453 "src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S",
6454 "src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal.S",
Frank Barchard1a0b2762021-06-29 18:37:59 -07006455 "src/qs8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld32.S",
6456 "src/qs8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld64.S",
Frank Barchardd208bec2021-05-28 11:36:39 -07006457 "src/qs8-gemm/gen/1x16c4-minmax-gemmlowp-aarch64-neondot-ld32.S",
6458 "src/qs8-gemm/gen/1x16c4-minmax-gemmlowp-aarch64-neondot-ld64.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006459 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-aarch64-neondot-ld32.S",
6460 "src/qs8-gemm/gen/1x16c4-minmax-rndnu-aarch64-neondot-ld64.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006461 "src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6462 "src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6463 "src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6464 "src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S",
6465 "src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mull.S",
6466 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-cortex-a53.S",
6467 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm-cortex-a53.S",
6468 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm.S",
6469 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal.S",
6470 "src/qs8-gemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mull.S",
6471 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S",
6472 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S",
6473 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S",
6474 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal.S",
6475 "src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mull.S",
6476 "src/qs8-gemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S",
6477 "src/qs8-gemm/gen/2x8c16-minmax-gemmlowp-aarch64-neon-mlal.S",
6478 "src/qs8-gemm/gen/2x8c16-minmax-rndnu-aarch64-neon-mlal.S",
Frank Barchard98af05c2021-06-30 12:15:04 -07006479 "src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006480 "src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard98af05c2021-06-30 12:15:04 -07006481 "src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006482 "src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006483 "src/qs8-gemm/gen/4x16-minmax-gemmlowp-aarch64-neon-mlal-lane-cortex-a53.S",
6484 "src/qs8-gemm/gen/4x16-minmax-gemmlowp-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006485 "src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006486 "src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006487 "src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006488 "src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchard1a0b2762021-06-29 18:37:59 -07006489 "src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S",
6490 "src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld32.S",
6491 "src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S",
6492 "src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S",
Frank Barchardd208bec2021-05-28 11:36:39 -07006493 "src/qs8-gemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-cortex-a55.S",
6494 "src/qs8-gemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-ld32.S",
6495 "src/qs8-gemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-ld64.S",
Frank Barchard0ae35f22021-06-15 17:34:24 -07006496 "src/qs8-gemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-ld128.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006497 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
6498 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld32.S",
6499 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld64.S",
Frank Barchard60729d02021-07-20 12:25:09 -07006500 "src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S",
Frank Barcharde22685a2021-11-12 11:36:58 -08006501 "src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6502 "src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6503 "src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6504 "src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S",
6505 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-cortex-a53.S",
6506 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm-cortex-a53.S",
6507 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm.S",
6508 "src/qs8-igemm/gen/1x8c8-minmax-gemmlowp-aarch64-neon-mlal.S",
6509 "src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S",
6510 "src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S",
6511 "src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S",
6512 "src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal.S",
6513 "src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S",
6514 "src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S",
6515 "src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S",
6516 "src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S",
6517 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-cortex-a53.S",
6518 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm-cortex-a53.S",
6519 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal-prfm.S",
6520 "src/qs8-igemm/gen/2x8c8-minmax-gemmlowp-aarch64-neon-mlal.S",
6521 "src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S",
6522 "src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S",
6523 "src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S",
6524 "src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal.S",
6525 "src/qs8-igemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S",
6526 "src/qs8-igemm/gen/2x8c16-minmax-gemmlowp-aarch64-neon-mlal.S",
6527 "src/qs8-igemm/gen/2x8c16-minmax-rndnu-aarch64-neon-mlal.S",
Frank Barchard98af05c2021-06-30 12:15:04 -07006528 "src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006529 "src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard98af05c2021-06-30 12:15:04 -07006530 "src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006531 "src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchardf10af6c2021-06-30 12:42:29 -07006532 "src/qs8-igemm/gen/4x16-minmax-gemmlowp-aarch64-neon-mlal-lane-cortex-a53.S",
6533 "src/qs8-igemm/gen/4x16-minmax-gemmlowp-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006534 "src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006535 "src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006536 "src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchard0bc58012021-11-22 18:12:05 -08006537 "src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barchard1a0b2762021-06-29 18:37:59 -07006538 "src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S",
6539 "src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S",
6540 "src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S",
Frank Barchardd208bec2021-05-28 11:36:39 -07006541 "src/qs8-igemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-cortex-a55.S",
6542 "src/qs8-igemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-ld64.S",
Frank Barchard0ae35f22021-06-15 17:34:24 -07006543 "src/qs8-igemm/gen/4x16c4-minmax-gemmlowp-aarch64-neondot-ld128.S",
Frank Barchard13db60f2021-07-20 14:34:35 -07006544 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
6545 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld64.S",
Frank Barchard60729d02021-07-20 12:25:09 -07006546 "src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S",
Frank Barchardca4c68e2021-08-25 19:06:40 -07006547 "src/qu8-gemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
Frank Barcharddf8e6042021-09-03 13:56:29 -07006548 "src/qu8-gemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-ld128.S",
Frank Barchard59ed1da2021-08-02 11:34:59 -07006549 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchardfb3a94f2021-08-02 20:37:06 -07006550 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a75.S",
Frank Barchard9cdc10d2021-11-22 19:03:54 -08006551 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard59ed1da2021-08-02 11:34:59 -07006552 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchardfb3a94f2021-08-02 20:37:06 -07006553 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a75.S",
Frank Barchard9cdc10d2021-11-22 19:03:54 -08006554 "src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barcharda49e41f2021-08-31 20:30:24 -07006555 "src/qu8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
Frank Barchard0c764222021-08-24 16:13:06 -07006556 "src/qu8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S",
Frank Barchardca4c68e2021-08-25 19:06:40 -07006557 "src/qu8-igemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
Frank Barcharddf8e6042021-09-03 13:56:29 -07006558 "src/qu8-igemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-ld128.S",
Frank Barchard59ed1da2021-08-02 11:34:59 -07006559 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S",
Frank Barchardfb3a94f2021-08-02 20:37:06 -07006560 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a75.S",
Frank Barchard9cdc10d2021-11-22 19:03:54 -08006561 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S",
Frank Barchard59ed1da2021-08-02 11:34:59 -07006562 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S",
Frank Barchardfb3a94f2021-08-02 20:37:06 -07006563 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a75.S",
Frank Barchard9cdc10d2021-11-22 19:03:54 -08006564 "src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S",
Frank Barcharda49e41f2021-08-31 20:30:24 -07006565 "src/qu8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S",
Frank Barchard0c764222021-08-24 16:13:06 -07006566 "src/qu8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006567]
6568
Marat Dukhan1b354632020-03-23 12:50:22 -07006569INTERNAL_MICROKERNEL_HDRS = [
Marat Dukhan08c4a432019-10-03 09:29:21 -07006570 "src/xnnpack/argmaxpool.h",
6571 "src/xnnpack/avgpool.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006572 "src/xnnpack/common.h",
6573 "src/xnnpack/conv.h",
Yury Kartynnike7841862020-11-04 18:22:18 -08006574 "src/xnnpack/depthtospace.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006575 "src/xnnpack/dwconv.h",
Frank Barchard04336c12020-10-22 16:48:55 -07006576 "src/xnnpack/fill.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006577 "src/xnnpack/gavgpool.h",
6578 "src/xnnpack/gemm.h",
Marat Dukhan660fd192020-03-10 04:55:30 -07006579 "src/xnnpack/ibilinear.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006580 "src/xnnpack/igemm.h",
Marat Dukhancfb31342019-12-05 10:42:57 -08006581 "src/xnnpack/intrinsics-polyfill.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006582 "src/xnnpack/lut.h",
6583 "src/xnnpack/math.h",
6584 "src/xnnpack/maxpool.h",
6585 "src/xnnpack/packx.h",
6586 "src/xnnpack/pad.h",
6587 "src/xnnpack/params.h",
6588 "src/xnnpack/pavgpool.h",
6589 "src/xnnpack/ppmm.h",
6590 "src/xnnpack/prelu.h",
Marat Dukhan97579532019-10-18 16:40:39 -07006591 "src/xnnpack/raddexpminusmax.h",
Marat Dukhan6f8d4d32019-10-25 17:07:09 -07006592 "src/xnnpack/raddextexp.h",
Marat Dukhan97579532019-10-18 16:40:39 -07006593 "src/xnnpack/raddstoreexpminusmax.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006594 "src/xnnpack/rmax.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006595 "src/xnnpack/spmm.h",
6596 "src/xnnpack/unpool.h",
Marat Dukhan64287252021-09-07 16:20:03 -07006597 "src/xnnpack/vaddsub.h",
Marat Dukhan1e782c42019-11-21 17:02:40 -08006598 "src/xnnpack/vbinary.h",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07006599 "src/xnnpack/vcvt.h",
Marat Dukhana212eac2021-08-02 09:58:04 -07006600 "src/xnnpack/vmul.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006601 "src/xnnpack/vmulcaddc.h",
Marat Dukhan05ac8e32019-10-21 15:39:33 -07006602 "src/xnnpack/vscale.h",
Marat Dukhan97579532019-10-18 16:40:39 -07006603 "src/xnnpack/vscaleexpminusmax.h",
Marat Dukhan6f8d4d32019-10-25 17:07:09 -07006604 "src/xnnpack/vscaleextexp.h",
Marat Dukhan1e782c42019-11-21 17:02:40 -08006605 "src/xnnpack/vunary.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006606 "src/xnnpack/zip.h",
Marat Dukhan1b354632020-03-23 12:50:22 -07006607]
6608
6609INTERNAL_HDRS = INTERNAL_MICROKERNEL_HDRS + [
Marat Dukhan08c4a432019-10-03 09:29:21 -07006610 "include/xnnpack.h",
6611 "src/xnnpack/allocator.h",
6612 "src/xnnpack/compute.h",
6613 "src/xnnpack/im2col.h",
6614 "src/xnnpack/indirection.h",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07006615 "src/xnnpack/math-stubs.h",
Chao Mei6ddfc602020-05-13 22:29:36 -07006616 "src/xnnpack/memory-planner.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006617 "src/xnnpack/operator.h",
6618 "src/xnnpack/pack.h",
Marat Dukhaneeaa7bd2019-10-25 17:31:25 -07006619 "src/xnnpack/params-init.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006620 "src/xnnpack/requantization-stubs.h",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07006621 "src/xnnpack/requantization.h",
Marat Dukhan1d75a542020-02-03 12:23:01 -08006622 "src/xnnpack/subgraph.h",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07006623]
6624
Marat Dukhan1b354632020-03-23 12:50:22 -07006625ACCURACY_EVAL_HDRS = INTERNAL_MICROKERNEL_HDRS + [
Marat Dukhan6adff4e2019-10-14 18:32:07 -07006626 "src/xnnpack/math-stubs.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006627]
6628
Marat Dukhan1b354632020-03-23 12:50:22 -07006629MICROKERNEL_BENCHMARK_HDRS = INTERNAL_MICROKERNEL_HDRS + [
Marat Dukhan08c4a432019-10-03 09:29:21 -07006630 "include/xnnpack.h",
Frank Barchard35db7d02020-10-26 13:37:34 -07006631 "src/xnnpack/params-init.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006632]
6633
Marat Dukhan1b354632020-03-23 12:50:22 -07006634MICROKERNEL_TEST_HDRS = INTERNAL_MICROKERNEL_HDRS + [
Frank Barchard35db7d02020-10-26 13:37:34 -07006635 "include/xnnpack.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006636 "src/xnnpack/isa-checks.h",
Marat Dukhaneeaa7bd2019-10-25 17:31:25 -07006637 "src/xnnpack/params-init.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006638 "src/xnnpack/requantization.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006639]
6640
6641OPERATOR_TEST_PARAMS_HDRS = [
Marat Dukhan08c4a432019-10-03 09:29:21 -07006642 "src/xnnpack/common.h",
Frank Barchard04336c12020-10-22 16:48:55 -07006643 "src/xnnpack/params.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006644]
6645
6646WEIGHTS_PACK_HDRS = [
Marat Dukhan08c4a432019-10-03 09:29:21 -07006647 "src/xnnpack/compute.h",
Frank Barchard04336c12020-10-22 16:48:55 -07006648 "src/xnnpack/operator.h",
6649 "src/xnnpack/pack.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006650]
6651
Marat Dukhanc8e00eb2019-10-04 14:55:26 -07006652LOGGING_COPTS = select({
6653 # No logging in optimized mode
6654 ":optimized_build": ["-DXNN_LOG_LEVEL=0"],
6655 # Full logging in debug mode
6656 ":debug_build": ["-DXNN_LOG_LEVEL=5"],
6657 # Error-only logging in default (fastbuild) mode
6658 "//conditions:default": ["-DXNN_LOG_LEVEL=2"],
6659})
6660
Marat Dukhan3b59de22020-06-03 20:15:19 -07006661LOGGING_SRCS = select({
6662 # No logging in optimized mode
6663 ":optimized_build": [],
6664 "//conditions:default": [
Marat Dukhanccd3a1d2021-03-29 16:03:12 -07006665 "src/datatype-strings.c",
Marat Dukhan3b59de22020-06-03 20:15:19 -07006666 "src/operator-strings.c",
6667 "src/subgraph-strings.c",
6668 ],
6669})
6670
Marat Dukhanc8e00eb2019-10-04 14:55:26 -07006671LOGGING_HDRS = [
6672 "src/xnnpack/log.h",
6673]
6674
Marat Dukhan08c4a432019-10-03 09:29:21 -07006675xnnpack_cc_library(
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006676 name = "tables",
6677 srcs = TABLE_SRCS,
6678 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07006679 gcc_copts = xnnpack_gcc_std_copts(),
6680 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006681)
6682
6683xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006684 name = "scalar_bench_microkernels",
6685 srcs = ALL_SCALAR_MICROKERNEL_SRCS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07006686 hdrs = INTERNAL_HDRS,
6687 aarch32_copts = ["-marm"],
Marat Dukhan10a38082020-04-17 03:58:35 -07006688 gcc_copts = xnnpack_gcc_std_copts(),
6689 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07006690 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006691 ":tables",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006692 "@FP16",
6693 "@FXdiv",
Marat Dukhan04f03be2019-11-19 12:36:47 -08006694 "@pthreadpool",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006695 ],
6696)
6697
6698xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006699 name = "scalar_prod_microkernels",
6700 srcs = PROD_SCALAR_MICROKERNEL_SRCS,
6701 hdrs = INTERNAL_HDRS,
6702 aarch32_copts = ["-marm"],
6703 gcc_copts = xnnpack_gcc_std_copts(),
6704 msvc_copts = xnnpack_msvc_std_copts(),
6705 deps = [
6706 ":tables",
6707 "@FP16",
6708 "@FXdiv",
6709 "@pthreadpool",
6710 ],
6711)
6712
6713xnnpack_cc_library(
6714 name = "scalar_test_microkernels",
6715 srcs = ALL_SCALAR_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07006716 hdrs = INTERNAL_HDRS,
6717 aarch32_copts = ["-marm"],
6718 copts = [
6719 "-UNDEBUG",
6720 "-DXNN_TEST_MODE=1",
6721 ],
6722 gcc_copts = xnnpack_gcc_std_copts(),
6723 msvc_copts = xnnpack_msvc_std_copts(),
6724 deps = [
6725 ":tables",
6726 "@FP16",
6727 "@FXdiv",
6728 "@pthreadpool",
6729 ],
6730)
6731
6732xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006733 name = "wasm_bench_microkernels",
Marat Dukhan436ebe62019-12-04 15:10:12 -08006734 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07006735 gcc_copts = xnnpack_gcc_std_copts(),
6736 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan2c724952021-07-27 18:46:30 -07006737 wasm_srcs = ALL_WASM_MICROKERNEL_SRCS,
6738 wasmsimd_srcs = ALL_WASM_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS,
Marat Dukhan436ebe62019-12-04 15:10:12 -08006739 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006740 ":tables",
Marat Dukhan436ebe62019-12-04 15:10:12 -08006741 "@FP16",
6742 "@FXdiv",
6743 "@pthreadpool",
6744 ],
6745)
6746
6747xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006748 name = "wasm_prod_microkernels",
6749 hdrs = INTERNAL_HDRS,
6750 gcc_copts = xnnpack_gcc_std_copts(),
6751 msvc_copts = xnnpack_msvc_std_copts(),
6752 wasm_srcs = ALL_WASM_MICROKERNEL_SRCS,
6753 wasmsimd_srcs = ALL_WASM_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS,
6754 deps = [
6755 ":tables",
6756 "@FP16",
6757 "@FXdiv",
6758 "@pthreadpool",
6759 ],
6760)
6761
6762xnnpack_cc_library(
6763 name = "wasm_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07006764 hdrs = INTERNAL_HDRS,
6765 copts = [
6766 "-UNDEBUG",
6767 "-DXNN_TEST_MODE=1",
6768 ],
6769 gcc_copts = xnnpack_gcc_std_copts(),
6770 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan2c724952021-07-27 18:46:30 -07006771 wasm_srcs = ALL_WASM_MICROKERNEL_SRCS,
6772 wasmsimd_srcs = ALL_WASM_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07006773 deps = [
6774 ":tables",
6775 "@FP16",
6776 "@FXdiv",
6777 "@pthreadpool",
6778 ],
6779)
6780
6781xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006782 name = "neon_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006783 hdrs = INTERNAL_HDRS,
6784 aarch32_copts = [
6785 "-marm",
Marat Dukhan8853b822020-05-07 12:19:01 -07006786 "-march=armv7-a",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006787 "-mfpu=neon",
6788 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07006789 aarch32_srcs = ALL_NEON_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006790 aarch64_srcs = ALL_NEON_MICROKERNEL_SRCS + ALL_AARCH64_NEON_MICROKERNEL_SRCS,
Marat Dukhan10a38082020-04-17 03:58:35 -07006791 gcc_copts = xnnpack_gcc_std_copts(),
6792 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan04f03be2019-11-19 12:36:47 -08006793 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006794 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08006795 "@FP16",
6796 "@pthreadpool",
6797 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07006798)
6799
6800xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006801 name = "neon_prod_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07006802 hdrs = INTERNAL_HDRS,
6803 aarch32_copts = [
6804 "-marm",
6805 "-march=armv7-a",
6806 "-mfpu=neon",
6807 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07006808 aarch32_srcs = PROD_NEON_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006809 aarch64_srcs = PROD_NEON_MICROKERNEL_SRCS + PROD_AARCH64_NEON_MICROKERNEL_SRCS,
Marat Dukhan2c724952021-07-27 18:46:30 -07006810 gcc_copts = xnnpack_gcc_std_copts(),
6811 msvc_copts = xnnpack_msvc_std_copts(),
6812 deps = [
6813 ":tables",
6814 "@FP16",
6815 "@pthreadpool",
6816 ],
6817)
6818
6819xnnpack_cc_library(
6820 name = "neon_test_microkernels",
6821 hdrs = INTERNAL_HDRS,
6822 aarch32_copts = [
6823 "-marm",
6824 "-march=armv7-a",
6825 "-mfpu=neon",
6826 ],
6827 aarch32_srcs = ALL_NEON_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006828 aarch64_srcs = ALL_NEON_MICROKERNEL_SRCS + ALL_AARCH64_NEON_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07006829 copts = [
6830 "-UNDEBUG",
6831 "-DXNN_TEST_MODE=1",
6832 ],
6833 gcc_copts = xnnpack_gcc_std_copts(),
6834 msvc_copts = xnnpack_msvc_std_copts(),
6835 deps = [
6836 ":tables",
6837 "@FP16",
6838 "@pthreadpool",
6839 ],
6840)
6841
6842xnnpack_cc_library(
Marat Dukhan8ff372c2021-09-28 14:43:17 -07006843 name = "neonfp16_bench_microkernels",
6844 hdrs = INTERNAL_HDRS,
6845 aarch32_copts = [
6846 "-marm",
6847 "-march=armv7-a",
6848 "-mfpu=neon-fp16",
6849 ],
6850 aarch32_srcs = ALL_NEONFP16_MICROKERNEL_SRCS,
6851 aarch64_srcs = ALL_NEONFP16_MICROKERNEL_SRCS,
6852 apple_aarch32_copts = [
6853 "-mcpu=cortex-a9",
6854 "-mtune=generic",
6855 ],
6856 gcc_copts = xnnpack_gcc_std_copts(),
6857 msvc_copts = xnnpack_msvc_std_copts(),
6858 deps = [
6859 ":tables",
6860 "@FP16",
6861 "@pthreadpool",
6862 ],
6863)
6864
6865xnnpack_cc_library(
6866 name = "neonfp16_prod_microkernels",
6867 hdrs = INTERNAL_HDRS,
6868 aarch32_copts = [
6869 "-marm",
6870 "-march=armv7-a",
6871 "-mfpu=neon-fp16",
6872 ],
6873 aarch32_srcs = PROD_NEONFP16_MICROKERNEL_SRCS,
6874 aarch64_srcs = PROD_NEONFP16_MICROKERNEL_SRCS,
6875 apple_aarch32_copts = [
6876 "-mcpu=cortex-a9",
6877 "-mtune=generic",
6878 ],
6879 gcc_copts = xnnpack_gcc_std_copts(),
6880 msvc_copts = xnnpack_msvc_std_copts(),
6881 deps = [
6882 ":tables",
6883 "@FP16",
6884 "@pthreadpool",
6885 ],
6886)
6887
6888xnnpack_cc_library(
6889 name = "neonfp16_test_microkernels",
6890 hdrs = INTERNAL_HDRS,
6891 aarch32_copts = [
6892 "-marm",
6893 "-march=armv7-a",
6894 "-mfpu=neon-fp16",
6895 ],
6896 aarch32_srcs = ALL_NEONFP16_MICROKERNEL_SRCS,
6897 aarch64_srcs = ALL_NEONFP16_MICROKERNEL_SRCS,
6898 apple_aarch32_copts = [
6899 "-mcpu=cortex-a9",
6900 "-mtune=generic",
6901 ],
6902 copts = [
6903 "-UNDEBUG",
6904 "-DXNN_TEST_MODE=1",
6905 ],
6906 gcc_copts = xnnpack_gcc_std_copts(),
6907 msvc_copts = xnnpack_msvc_std_copts(),
6908 deps = [
6909 ":tables",
6910 "@FP16",
6911 "@pthreadpool",
6912 ],
6913)
6914
6915xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006916 name = "neonfma_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006917 hdrs = INTERNAL_HDRS,
6918 aarch32_copts = [
6919 "-marm",
Marat Dukhan8853b822020-05-07 12:19:01 -07006920 "-march=armv7-a",
Marat Dukhan08c4a432019-10-03 09:29:21 -07006921 "-mfpu=neon-vfpv4",
6922 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07006923 aarch32_srcs = ALL_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006924 aarch64_srcs = ALL_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhanbc69ed62020-06-09 21:34:56 -07006925 apple_aarch32_copts = [
6926 "-mcpu=swift",
6927 "-mtune=generic",
6928 ],
Marat Dukhan10a38082020-04-17 03:58:35 -07006929 gcc_copts = xnnpack_gcc_std_copts(),
6930 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan04f03be2019-11-19 12:36:47 -08006931 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08006932 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08006933 "@FP16",
6934 "@pthreadpool",
6935 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07006936)
6937
6938xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006939 name = "neonfma_prod_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07006940 hdrs = INTERNAL_HDRS,
6941 aarch32_copts = [
6942 "-marm",
6943 "-march=armv7-a",
6944 "-mfpu=neon-vfpv4",
6945 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07006946 aarch32_srcs = PROD_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006947 aarch64_srcs = PROD_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhan2c724952021-07-27 18:46:30 -07006948 apple_aarch32_copts = [
6949 "-mcpu=swift",
6950 "-mtune=generic",
6951 ],
6952 gcc_copts = xnnpack_gcc_std_copts(),
6953 msvc_copts = xnnpack_msvc_std_copts(),
6954 deps = [
6955 ":tables",
6956 "@FP16",
6957 "@pthreadpool",
6958 ],
6959)
6960
6961xnnpack_cc_library(
6962 name = "neonfma_test_microkernels",
6963 hdrs = INTERNAL_HDRS,
6964 aarch32_copts = [
6965 "-marm",
6966 "-march=armv7-a",
6967 "-mfpu=neon-vfpv4",
6968 ],
6969 aarch32_srcs = ALL_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhanf7182322021-09-09 18:53:46 -07006970 aarch64_srcs = ALL_NEONFMA_MICROKERNEL_SRCS,
Marat Dukhanbc69ed62020-06-09 21:34:56 -07006971 apple_aarch32_copts = [
6972 "-mcpu=swift",
6973 "-mtune=generic",
6974 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07006975 copts = [
6976 "-UNDEBUG",
6977 "-DXNN_TEST_MODE=1",
6978 ],
6979 gcc_copts = xnnpack_gcc_std_copts(),
6980 msvc_copts = xnnpack_msvc_std_copts(),
6981 deps = [
6982 ":tables",
6983 "@FP16",
6984 "@pthreadpool",
6985 ],
6986)
6987
6988xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07006989 name = "neonv8_bench_microkernels",
Marat Dukhan8853b822020-05-07 12:19:01 -07006990 hdrs = INTERNAL_HDRS,
6991 aarch32_copts = [
6992 "-marm",
6993 "-march=armv8-a",
6994 "-mfpu=neon-fp-armv8",
6995 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07006996 aarch32_srcs = ALL_NEONV8_MICROKERNEL_SRCS,
6997 aarch64_srcs = ALL_NEONV8_MICROKERNEL_SRCS,
Marat Dukhanbc69ed62020-06-09 21:34:56 -07006998 apple_aarch32_copts = [
6999 "-mcpu=cyclone",
7000 "-mtune=generic",
7001 ],
Marat Dukhan8853b822020-05-07 12:19:01 -07007002 gcc_copts = xnnpack_gcc_std_copts(),
7003 msvc_copts = xnnpack_msvc_std_copts(),
7004 deps = [
7005 ":tables",
7006 "@FP16",
7007 "@pthreadpool",
7008 ],
7009)
7010
7011xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007012 name = "neonv8_prod_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007013 hdrs = INTERNAL_HDRS,
7014 aarch32_copts = [
7015 "-marm",
7016 "-march=armv8-a",
7017 "-mfpu=neon-fp-armv8",
7018 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07007019 aarch32_srcs = PROD_NEONV8_MICROKERNEL_SRCS,
7020 aarch64_srcs = PROD_NEONV8_MICROKERNEL_SRCS,
7021 apple_aarch32_copts = [
7022 "-mcpu=cyclone",
7023 "-mtune=generic",
7024 ],
7025 gcc_copts = xnnpack_gcc_std_copts(),
7026 msvc_copts = xnnpack_msvc_std_copts(),
7027 deps = [
7028 ":tables",
7029 "@FP16",
7030 "@pthreadpool",
7031 ],
7032)
7033
7034xnnpack_cc_library(
7035 name = "neonv8_test_microkernels",
7036 hdrs = INTERNAL_HDRS,
7037 aarch32_copts = [
7038 "-marm",
7039 "-march=armv8-a",
7040 "-mfpu=neon-fp-armv8",
7041 ],
7042 aarch32_srcs = ALL_NEONV8_MICROKERNEL_SRCS,
7043 aarch64_srcs = ALL_NEONV8_MICROKERNEL_SRCS,
Marat Dukhanbc69ed62020-06-09 21:34:56 -07007044 apple_aarch32_copts = [
7045 "-mcpu=cyclone",
7046 "-mtune=generic",
7047 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07007048 copts = [
7049 "-UNDEBUG",
7050 "-DXNN_TEST_MODE=1",
7051 ],
7052 gcc_copts = xnnpack_gcc_std_copts(),
7053 msvc_copts = xnnpack_msvc_std_copts(),
7054 deps = [
7055 ":tables",
7056 "@FP16",
7057 "@pthreadpool",
7058 ],
7059)
7060
7061xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007062 name = "neonfp16arith_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007063 hdrs = INTERNAL_HDRS,
7064 aarch64_copts = ["-march=armv8.2-a+fp16"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007065 aarch64_srcs = ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007066 gcc_copts = xnnpack_gcc_std_copts(),
7067 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan04f03be2019-11-19 12:36:47 -08007068 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007069 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007070 "@FP16",
7071 "@pthreadpool",
7072 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07007073)
7074
7075xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007076 name = "neonfp16arith_prod_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007077 hdrs = INTERNAL_HDRS,
7078 aarch64_copts = ["-march=armv8.2-a+fp16"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007079 aarch64_srcs = PROD_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS,
7080 gcc_copts = xnnpack_gcc_std_copts(),
7081 msvc_copts = xnnpack_msvc_std_copts(),
7082 deps = [
7083 ":tables",
7084 "@FP16",
7085 "@pthreadpool",
7086 ],
7087)
7088
7089xnnpack_cc_library(
7090 name = "neonfp16arith_test_microkernels",
7091 hdrs = INTERNAL_HDRS,
7092 aarch64_copts = ["-march=armv8.2-a+fp16"],
7093 aarch64_srcs = ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007094 copts = [
7095 "-UNDEBUG",
7096 "-DXNN_TEST_MODE=1",
7097 ],
7098 gcc_copts = xnnpack_gcc_std_copts(),
7099 msvc_copts = xnnpack_msvc_std_copts(),
7100 deps = [
7101 ":tables",
7102 "@FP16",
7103 "@pthreadpool",
7104 ],
7105)
7106
7107xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007108 name = "neondot_bench_microkernels",
Benoit Jacoba9644732020-08-13 12:48:55 -07007109 hdrs = INTERNAL_HDRS,
Marat Dukhan799ac752020-08-13 16:08:03 -07007110 aarch32_copts = [
7111 "-marm",
7112 "-march=armv8.2-a+dotprod",
7113 "-mfpu=neon-fp-armv8",
7114 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07007115 aarch32_srcs = ALL_NEONDOT_MICROKERNEL_SRCS,
Benoit Jacoba9644732020-08-13 12:48:55 -07007116 aarch64_copts = ["-march=armv8.2-a+dotprod"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007117 aarch64_srcs = ALL_NEONDOT_MICROKERNEL_SRCS,
Benoit Jacoba9644732020-08-13 12:48:55 -07007118 gcc_copts = xnnpack_gcc_std_copts(),
7119 msvc_copts = xnnpack_msvc_std_copts(),
7120 deps = [
7121 ":tables",
7122 "@FP16",
7123 "@pthreadpool",
7124 ],
7125)
7126
7127xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007128 name = "neondot_prod_microkernels",
Benoit Jacoba9644732020-08-13 12:48:55 -07007129 hdrs = INTERNAL_HDRS,
Marat Dukhan799ac752020-08-13 16:08:03 -07007130 aarch32_copts = [
7131 "-marm",
7132 "-march=armv8.2-a+dotprod",
7133 "-mfpu=neon-fp-armv8",
7134 ],
Marat Dukhan2c724952021-07-27 18:46:30 -07007135 aarch32_srcs = PROD_NEONDOT_MICROKERNEL_SRCS,
Benoit Jacoba9644732020-08-13 12:48:55 -07007136 aarch64_copts = ["-march=armv8.2-a+dotprod"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007137 aarch64_srcs = PROD_NEONDOT_MICROKERNEL_SRCS,
7138 gcc_copts = xnnpack_gcc_std_copts(),
7139 msvc_copts = xnnpack_msvc_std_copts(),
7140 deps = [
7141 ":tables",
7142 "@FP16",
7143 "@pthreadpool",
7144 ],
7145)
7146
7147xnnpack_cc_library(
7148 name = "neondot_test_microkernels",
7149 hdrs = INTERNAL_HDRS,
7150 aarch32_copts = [
7151 "-marm",
7152 "-march=armv8.2-a+dotprod",
7153 "-mfpu=neon-fp-armv8",
7154 ],
7155 aarch32_srcs = ALL_NEONDOT_MICROKERNEL_SRCS,
7156 aarch64_copts = ["-march=armv8.2-a+dotprod"],
7157 aarch64_srcs = ALL_NEONDOT_MICROKERNEL_SRCS,
Benoit Jacoba9644732020-08-13 12:48:55 -07007158 copts = [
7159 "-UNDEBUG",
7160 "-DXNN_TEST_MODE=1",
7161 ],
7162 gcc_copts = xnnpack_gcc_std_copts(),
7163 msvc_copts = xnnpack_msvc_std_copts(),
7164 deps = [
7165 ":tables",
7166 "@FP16",
7167 "@pthreadpool",
7168 ],
7169)
7170
7171xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007172 name = "sse2_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007173 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007174 gcc_copts = xnnpack_gcc_std_copts(),
7175 gcc_x86_copts = ["-msse2"],
7176 msvc_copts = xnnpack_msvc_std_copts(),
7177 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007178 x86_srcs = ALL_SSE_MICROKERNEL_SRCS + ALL_SSE2_MICROKERNEL_SRCS,
Marat Dukhan04f03be2019-11-19 12:36:47 -08007179 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007180 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007181 "@FP16",
7182 "@pthreadpool",
7183 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07007184)
7185
7186xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007187 name = "sse2_prod_microkernels",
7188 hdrs = INTERNAL_HDRS,
7189 gcc_copts = xnnpack_gcc_std_copts(),
7190 gcc_x86_copts = ["-msse2"],
7191 msvc_copts = xnnpack_msvc_std_copts(),
7192 msvc_x86_32_copts = ["/arch:SSE2"],
7193 x86_srcs = PROD_SSE_MICROKERNEL_SRCS + PROD_SSE2_MICROKERNEL_SRCS,
7194 deps = [
7195 ":tables",
7196 "@FP16",
7197 "@pthreadpool",
7198 ],
7199)
7200
7201xnnpack_cc_library(
7202 name = "sse2_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007203 hdrs = INTERNAL_HDRS,
7204 copts = [
7205 "-UNDEBUG",
7206 "-DXNN_TEST_MODE=1",
7207 ],
7208 gcc_copts = xnnpack_gcc_std_copts(),
7209 gcc_x86_copts = ["-msse2"],
7210 msvc_copts = xnnpack_msvc_std_copts(),
7211 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007212 x86_srcs = ALL_SSE_MICROKERNEL_SRCS + ALL_SSE2_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007213 deps = [
7214 ":tables",
7215 "@FP16",
7216 "@pthreadpool",
7217 ],
7218)
7219
7220xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007221 name = "ssse3_bench_microkernels",
Marat Dukhanfe7acb62020-03-09 19:30:05 -07007222 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007223 gcc_copts = xnnpack_gcc_std_copts(),
7224 gcc_x86_copts = ["-mssse3"],
7225 msvc_copts = xnnpack_msvc_std_copts(),
7226 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007227 x86_srcs = ALL_SSSE3_MICROKERNEL_SRCS,
Marat Dukhanfe7acb62020-03-09 19:30:05 -07007228 deps = [
7229 ":tables",
7230 "@FP16",
7231 "@pthreadpool",
7232 ],
7233)
7234
7235xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007236 name = "ssse3_prod_microkernels",
7237 hdrs = INTERNAL_HDRS,
7238 gcc_copts = xnnpack_gcc_std_copts(),
7239 gcc_x86_copts = ["-mssse3"],
7240 msvc_copts = xnnpack_msvc_std_copts(),
7241 msvc_x86_32_copts = ["/arch:SSE2"],
7242 x86_srcs = PROD_SSSE3_MICROKERNEL_SRCS,
7243 deps = [
7244 ":tables",
7245 "@FP16",
7246 "@pthreadpool",
7247 ],
7248)
7249
7250xnnpack_cc_library(
7251 name = "ssse3_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007252 hdrs = INTERNAL_HDRS,
7253 copts = [
7254 "-UNDEBUG",
7255 "-DXNN_TEST_MODE=1",
7256 ],
7257 gcc_copts = xnnpack_gcc_std_copts(),
7258 gcc_x86_copts = ["-mssse3"],
7259 msvc_copts = xnnpack_msvc_std_copts(),
7260 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007261 x86_srcs = ALL_SSSE3_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007262 deps = [
7263 ":tables",
7264 "@FP16",
7265 "@pthreadpool",
7266 ],
7267)
7268
7269xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007270 name = "sse41_bench_microkernels",
Marat Dukhan69c3f2c2019-11-06 12:30:01 -08007271 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007272 gcc_copts = xnnpack_gcc_std_copts(),
7273 gcc_x86_copts = ["-msse4.1"],
7274 msvc_copts = xnnpack_msvc_std_copts(),
7275 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007276 x86_srcs = ALL_SSE41_MICROKERNEL_SRCS,
Marat Dukhan04f03be2019-11-19 12:36:47 -08007277 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007278 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007279 "@FP16",
7280 "@pthreadpool",
7281 ],
Marat Dukhan69c3f2c2019-11-06 12:30:01 -08007282)
7283
7284xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007285 name = "sse41_prod_microkernels",
7286 hdrs = INTERNAL_HDRS,
7287 gcc_copts = xnnpack_gcc_std_copts(),
7288 gcc_x86_copts = ["-msse4.1"],
7289 msvc_copts = xnnpack_msvc_std_copts(),
7290 msvc_x86_32_copts = ["/arch:SSE2"],
7291 x86_srcs = PROD_SSE41_MICROKERNEL_SRCS,
7292 deps = [
7293 ":tables",
7294 "@FP16",
7295 "@pthreadpool",
7296 ],
7297)
7298
7299xnnpack_cc_library(
7300 name = "sse41_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007301 hdrs = INTERNAL_HDRS,
7302 copts = [
7303 "-UNDEBUG",
7304 "-DXNN_TEST_MODE=1",
7305 ],
7306 gcc_copts = xnnpack_gcc_std_copts(),
7307 gcc_x86_copts = ["-msse4.1"],
7308 msvc_copts = xnnpack_msvc_std_copts(),
7309 msvc_x86_32_copts = ["/arch:SSE2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007310 x86_srcs = ALL_SSE41_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007311 deps = [
7312 ":tables",
7313 "@FP16",
7314 "@pthreadpool",
7315 ],
7316)
7317
7318xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007319 name = "avx_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007320 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007321 gcc_copts = xnnpack_gcc_std_copts(),
7322 gcc_x86_copts = ["-mavx"],
7323 msvc_copts = xnnpack_msvc_std_copts(),
7324 msvc_x86_32_copts = ["/arch:AVX"],
7325 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007326 x86_srcs = ALL_AVX_MICROKERNEL_SRCS,
Marat Dukhan04f03be2019-11-19 12:36:47 -08007327 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007328 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007329 "@FP16",
7330 "@pthreadpool",
7331 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07007332)
7333
7334xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007335 name = "avx_prod_microkernels",
7336 hdrs = INTERNAL_HDRS,
7337 gcc_copts = xnnpack_gcc_std_copts(),
7338 gcc_x86_copts = ["-mavx"],
7339 msvc_copts = xnnpack_msvc_std_copts(),
7340 msvc_x86_32_copts = ["/arch:AVX"],
7341 msvc_x86_64_copts = ["/arch:AVX"],
7342 x86_srcs = PROD_AVX_MICROKERNEL_SRCS,
7343 deps = [
7344 ":tables",
7345 "@FP16",
7346 "@pthreadpool",
7347 ],
7348)
7349
7350xnnpack_cc_library(
7351 name = "avx_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007352 hdrs = INTERNAL_HDRS,
7353 copts = [
7354 "-UNDEBUG",
7355 "-DXNN_TEST_MODE=1",
7356 ],
7357 gcc_copts = xnnpack_gcc_std_copts(),
7358 gcc_x86_copts = ["-mavx"],
7359 msvc_copts = xnnpack_msvc_std_copts(),
7360 msvc_x86_32_copts = ["/arch:AVX"],
7361 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007362 x86_srcs = ALL_AVX_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007363 deps = [
7364 ":tables",
7365 "@FP16",
7366 "@pthreadpool",
7367 ],
7368)
7369
7370xnnpack_cc_library(
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07007371 name = "f16c_bench_microkernels",
7372 hdrs = INTERNAL_HDRS,
7373 gcc_copts = xnnpack_gcc_std_copts(),
7374 gcc_x86_copts = ["-mf16c"],
7375 msvc_copts = xnnpack_msvc_std_copts(),
7376 msvc_x86_32_copts = ["/arch:AVX"],
7377 msvc_x86_64_copts = ["/arch:AVX"],
7378 x86_srcs = ALL_F16C_MICROKERNEL_SRCS,
7379 deps = [
7380 "@FP16",
7381 "@pthreadpool",
7382 ],
7383)
7384
7385xnnpack_cc_library(
7386 name = "f16c_prod_microkernels",
7387 hdrs = INTERNAL_HDRS,
7388 gcc_copts = xnnpack_gcc_std_copts(),
7389 gcc_x86_copts = ["-mf16c"],
7390 msvc_copts = xnnpack_msvc_std_copts(),
7391 msvc_x86_32_copts = ["/arch:AVX"],
7392 msvc_x86_64_copts = ["/arch:AVX"],
7393 x86_srcs = PROD_F16C_MICROKERNEL_SRCS,
7394 deps = [
7395 "@FP16",
7396 "@pthreadpool",
7397 ],
7398)
7399
7400xnnpack_cc_library(
7401 name = "f16c_test_microkernels",
7402 hdrs = INTERNAL_HDRS,
7403 copts = [
7404 "-UNDEBUG",
7405 "-DXNN_TEST_MODE=1",
7406 ],
7407 gcc_copts = xnnpack_gcc_std_copts(),
7408 gcc_x86_copts = ["-mf16c"],
7409 msvc_copts = xnnpack_msvc_std_copts(),
7410 msvc_x86_32_copts = ["/arch:AVX"],
7411 msvc_x86_64_copts = ["/arch:AVX"],
7412 x86_srcs = ALL_F16C_MICROKERNEL_SRCS,
7413 deps = [
7414 "@FP16",
7415 "@pthreadpool",
7416 ],
7417)
7418
7419xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007420 name = "xop_bench_microkernels",
Marat Dukhan1566fee2020-08-02 21:55:41 -07007421 hdrs = INTERNAL_HDRS,
7422 gcc_copts = xnnpack_gcc_std_copts(),
7423 gcc_x86_copts = ["-mxop"],
7424 msvc_copts = xnnpack_msvc_std_copts(),
7425 msvc_x86_32_copts = ["/arch:AVX"],
7426 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007427 x86_srcs = ALL_XOP_MICROKERNEL_SRCS,
Marat Dukhan1566fee2020-08-02 21:55:41 -07007428 deps = [
7429 ":tables",
7430 "@FP16",
7431 "@pthreadpool",
7432 ],
7433)
7434
7435xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007436 name = "xop_prod_microkernels",
7437 hdrs = INTERNAL_HDRS,
7438 gcc_copts = xnnpack_gcc_std_copts(),
7439 gcc_x86_copts = ["-mxop"],
7440 msvc_copts = xnnpack_msvc_std_copts(),
7441 msvc_x86_32_copts = ["/arch:AVX"],
7442 msvc_x86_64_copts = ["/arch:AVX"],
7443 x86_srcs = PROD_XOP_MICROKERNEL_SRCS,
7444 deps = [
7445 ":tables",
7446 "@FP16",
7447 "@pthreadpool",
7448 ],
7449)
7450
7451xnnpack_cc_library(
7452 name = "xop_test_microkernels",
Marat Dukhan1566fee2020-08-02 21:55:41 -07007453 hdrs = INTERNAL_HDRS,
7454 copts = [
7455 "-UNDEBUG",
7456 "-DXNN_TEST_MODE=1",
7457 ],
7458 gcc_copts = xnnpack_gcc_std_copts(),
7459 gcc_x86_copts = ["-mxop"],
7460 msvc_copts = xnnpack_msvc_std_copts(),
7461 msvc_x86_32_copts = ["/arch:AVX"],
7462 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007463 x86_srcs = ALL_XOP_MICROKERNEL_SRCS,
Marat Dukhan1566fee2020-08-02 21:55:41 -07007464 deps = [
7465 ":tables",
7466 "@FP16",
7467 "@pthreadpool",
7468 ],
7469)
7470
7471xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007472 name = "fma3_bench_microkernels",
Marat Dukhanfda12b82019-11-21 12:27:59 -08007473 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007474 gcc_copts = xnnpack_gcc_std_copts(),
7475 gcc_x86_copts = ["-mfma"],
7476 msvc_copts = xnnpack_msvc_std_copts(),
7477 msvc_x86_32_copts = ["/arch:AVX"],
7478 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007479 x86_srcs = ALL_FMA3_MICROKERNEL_SRCS,
Marat Dukhanfda12b82019-11-21 12:27:59 -08007480 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007481 ":tables",
Marat Dukhanfda12b82019-11-21 12:27:59 -08007482 "@FP16",
7483 "@pthreadpool",
7484 ],
7485)
7486
7487xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007488 name = "fma3_prod_microkernels",
7489 hdrs = INTERNAL_HDRS,
7490 gcc_copts = xnnpack_gcc_std_copts(),
7491 gcc_x86_copts = ["-mfma"],
7492 msvc_copts = xnnpack_msvc_std_copts(),
7493 msvc_x86_32_copts = ["/arch:AVX"],
7494 msvc_x86_64_copts = ["/arch:AVX"],
7495 x86_srcs = PROD_FMA3_MICROKERNEL_SRCS,
7496 deps = [
7497 ":tables",
7498 "@FP16",
7499 "@pthreadpool",
7500 ],
7501)
7502
7503xnnpack_cc_library(
7504 name = "fma3_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007505 hdrs = INTERNAL_HDRS,
7506 copts = [
7507 "-UNDEBUG",
7508 "-DXNN_TEST_MODE=1",
7509 ],
7510 gcc_copts = xnnpack_gcc_std_copts(),
7511 gcc_x86_copts = ["-mfma"],
7512 msvc_copts = xnnpack_msvc_std_copts(),
7513 msvc_x86_32_copts = ["/arch:AVX"],
7514 msvc_x86_64_copts = ["/arch:AVX"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007515 x86_srcs = ALL_FMA3_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007516 deps = [
7517 ":tables",
7518 "@FP16",
7519 "@pthreadpool",
7520 ],
7521)
7522
7523xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007524 name = "avx2_bench_microkernels",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07007525 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007526 gcc_copts = xnnpack_gcc_std_copts(),
7527 gcc_x86_copts = [
Marat Dukhan6adff4e2019-10-14 18:32:07 -07007528 "-mfma",
7529 "-mavx2",
7530 ],
Marat Dukhan10a38082020-04-17 03:58:35 -07007531 msvc_copts = xnnpack_msvc_std_copts(),
7532 msvc_x86_32_copts = ["/arch:AVX2"],
7533 msvc_x86_64_copts = ["/arch:AVX2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007534 x86_srcs = ALL_AVX2_MICROKERNEL_SRCS,
Marat Dukhan04f03be2019-11-19 12:36:47 -08007535 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007536 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007537 "@FP16",
7538 "@pthreadpool",
7539 ],
Marat Dukhan6adff4e2019-10-14 18:32:07 -07007540)
7541
7542xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007543 name = "avx2_prod_microkernels",
7544 hdrs = INTERNAL_HDRS,
7545 gcc_copts = xnnpack_gcc_std_copts(),
7546 gcc_x86_copts = [
7547 "-mfma",
7548 "-mavx2",
7549 ],
7550 msvc_copts = xnnpack_msvc_std_copts(),
7551 msvc_x86_32_copts = ["/arch:AVX2"],
7552 msvc_x86_64_copts = ["/arch:AVX2"],
7553 x86_srcs = PROD_AVX2_MICROKERNEL_SRCS,
7554 deps = [
7555 ":tables",
7556 "@FP16",
7557 "@pthreadpool",
7558 ],
7559)
7560
7561xnnpack_cc_library(
7562 name = "avx2_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007563 hdrs = INTERNAL_HDRS,
7564 copts = [
7565 "-UNDEBUG",
7566 "-DXNN_TEST_MODE=1",
7567 ],
7568 gcc_copts = xnnpack_gcc_std_copts(),
7569 gcc_x86_copts = [
7570 "-mfma",
7571 "-mavx2",
7572 ],
7573 msvc_copts = xnnpack_msvc_std_copts(),
7574 msvc_x86_32_copts = ["/arch:AVX2"],
7575 msvc_x86_64_copts = ["/arch:AVX2"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007576 x86_srcs = ALL_AVX2_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007577 deps = [
7578 ":tables",
7579 "@FP16",
7580 "@pthreadpool",
7581 ],
7582)
7583
7584xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007585 name = "avx512f_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007586 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007587 gcc_copts = xnnpack_gcc_std_copts(),
7588 gcc_x86_copts = ["-mavx512f"],
7589 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7590 msvc_copts = xnnpack_msvc_std_copts(),
7591 msvc_x86_32_copts = ["/arch:AVX512"],
7592 msvc_x86_64_copts = ["/arch:AVX512"],
7593 msys_copts = ["-fno-asynchronous-unwind-tables"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007594 x86_srcs = ALL_AVX512F_MICROKERNEL_SRCS,
Marat Dukhan04f03be2019-11-19 12:36:47 -08007595 deps = [
Marat Dukhan3a77ea72019-12-23 12:10:24 -08007596 ":tables",
Marat Dukhan04f03be2019-11-19 12:36:47 -08007597 "@FP16",
7598 "@pthreadpool",
7599 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07007600)
7601
7602xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007603 name = "avx512f_prod_microkernels",
7604 hdrs = INTERNAL_HDRS,
7605 gcc_copts = xnnpack_gcc_std_copts(),
7606 gcc_x86_copts = ["-mavx512f"],
7607 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7608 msvc_copts = xnnpack_msvc_std_copts(),
7609 msvc_x86_32_copts = ["/arch:AVX512"],
7610 msvc_x86_64_copts = ["/arch:AVX512"],
7611 msys_copts = ["-fno-asynchronous-unwind-tables"],
7612 x86_srcs = PROD_AVX512F_MICROKERNEL_SRCS,
7613 deps = [
7614 ":tables",
7615 "@FP16",
7616 "@pthreadpool",
7617 ],
7618)
7619
7620xnnpack_cc_library(
7621 name = "avx512f_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007622 hdrs = INTERNAL_HDRS,
7623 copts = [
7624 "-UNDEBUG",
7625 "-DXNN_TEST_MODE=1",
7626 ],
7627 gcc_copts = xnnpack_gcc_std_copts(),
7628 gcc_x86_copts = ["-mavx512f"],
7629 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7630 msvc_copts = xnnpack_msvc_std_copts(),
7631 msvc_x86_32_copts = ["/arch:AVX512"],
7632 msvc_x86_64_copts = ["/arch:AVX512"],
7633 msys_copts = ["-fno-asynchronous-unwind-tables"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007634 x86_srcs = ALL_AVX512F_MICROKERNEL_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07007635 deps = [
7636 ":tables",
7637 "@FP16",
7638 "@pthreadpool",
7639 ],
7640)
7641
7642xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007643 name = "avx512skx_bench_microkernels",
Marat Dukhanbb00b1d2020-08-10 11:37:23 -07007644 hdrs = INTERNAL_HDRS,
7645 gcc_copts = xnnpack_gcc_std_copts(),
7646 gcc_x86_copts = [
7647 "-mavx512f",
7648 "-mavx512cd",
7649 "-mavx512bw",
7650 "-mavx512dq",
7651 "-mavx512vl",
7652 ],
7653 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7654 msvc_copts = xnnpack_msvc_std_copts(),
7655 msvc_x86_32_copts = ["/arch:AVX512"],
7656 msvc_x86_64_copts = ["/arch:AVX512"],
7657 msys_copts = ["-fno-asynchronous-unwind-tables"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007658 x86_srcs = ALL_AVX512SKX_MICROKERNEL_SRCS,
Marat Dukhanbb00b1d2020-08-10 11:37:23 -07007659 deps = [
7660 ":tables",
7661 "@FP16",
7662 "@pthreadpool",
7663 ],
7664)
7665
7666xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007667 name = "avx512skx_prod_microkernels",
7668 hdrs = INTERNAL_HDRS,
7669 gcc_copts = xnnpack_gcc_std_copts(),
7670 gcc_x86_copts = [
7671 "-mavx512f",
7672 "-mavx512cd",
7673 "-mavx512bw",
7674 "-mavx512dq",
7675 "-mavx512vl",
7676 ],
7677 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7678 msvc_copts = xnnpack_msvc_std_copts(),
7679 msvc_x86_32_copts = ["/arch:AVX512"],
7680 msvc_x86_64_copts = ["/arch:AVX512"],
7681 msys_copts = ["-fno-asynchronous-unwind-tables"],
7682 x86_srcs = PROD_AVX512SKX_MICROKERNEL_SRCS,
7683 deps = [
7684 ":tables",
7685 "@FP16",
7686 "@pthreadpool",
7687 ],
7688)
7689
7690xnnpack_cc_library(
7691 name = "avx512skx_test_microkernels",
Marat Dukhanbb00b1d2020-08-10 11:37:23 -07007692 hdrs = INTERNAL_HDRS,
7693 copts = [
7694 "-UNDEBUG",
7695 "-DXNN_TEST_MODE=1",
7696 ],
7697 gcc_copts = xnnpack_gcc_std_copts(),
7698 gcc_x86_copts = [
7699 "-mavx512f",
7700 "-mavx512cd",
7701 "-mavx512bw",
7702 "-mavx512dq",
7703 "-mavx512vl",
7704 ],
7705 mingw_copts = ["-fno-asynchronous-unwind-tables"],
7706 msvc_copts = xnnpack_msvc_std_copts(),
7707 msvc_x86_32_copts = ["/arch:AVX512"],
7708 msvc_x86_64_copts = ["/arch:AVX512"],
7709 msys_copts = ["-fno-asynchronous-unwind-tables"],
Marat Dukhan2c724952021-07-27 18:46:30 -07007710 x86_srcs = ALL_AVX512SKX_MICROKERNEL_SRCS,
Marat Dukhanbb00b1d2020-08-10 11:37:23 -07007711 deps = [
7712 ":tables",
7713 "@FP16",
7714 "@pthreadpool",
7715 ],
7716)
7717
7718xnnpack_cc_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007719 name = "asm_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007720 hdrs = ["src/xnnpack/assembly.h"],
Marat Dukhandb3b0a72021-07-27 08:58:01 -07007721 aarch32_srcs = AARCH32_ASM_MICROKERNEL_SRCS,
Frank Barchard31bb45b2020-10-06 00:26:33 -07007722 aarch64_copts = ["-march=armv8.2-a+fp16+dotprod"],
Marat Dukhandb3b0a72021-07-27 08:58:01 -07007723 aarch64_srcs = AARCH64_ASM_MICROKERNEL_SRCS,
7724 wasm_srcs = WASM32_ASM_MICROKERNEL_SRCS,
7725 wasmsimd_srcs = WASM32_ASM_MICROKERNEL_SRCS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07007726)
7727
Marat Dukhan3b59de22020-06-03 20:15:19 -07007728xnnpack_cc_library(
7729 name = "logging_utils",
7730 srcs = LOGGING_SRCS,
7731 hdrs = INTERNAL_HDRS + LOGGING_HDRS,
7732 copts = LOGGING_COPTS + [
7733 "-Isrc",
7734 "-Iinclude",
7735 ] + select({
7736 ":debug_build": [],
7737 "//conditions:default": xnnpack_min_size_copts(),
7738 }),
7739 gcc_copts = xnnpack_gcc_std_copts(),
7740 msvc_copts = xnnpack_msvc_std_copts(),
7741 visibility = xnnpack_visibility(),
7742 deps = [
7743 "@FP16",
7744 "@clog",
7745 "@pthreadpool",
7746 ],
7747)
7748
Marat Dukhan08c4a432019-10-03 09:29:21 -07007749xnnpack_aggregate_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007750 name = "bench_microkernels",
Marat Dukhan6e8c0ce2021-04-13 14:35:08 -07007751 aarch32_ios_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007752 ":neon_bench_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007753 ":neonfp16_bench_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007754 ":neonfma_bench_microkernels",
7755 ":neonv8_bench_microkernels",
7756 ":asm_microkernels",
Marat Dukhan6e8c0ce2021-04-13 14:35:08 -07007757 ],
7758 aarch32_nonios_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007759 ":neon_bench_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007760 ":neonfp16_bench_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007761 ":neonfma_bench_microkernels",
7762 ":neonv8_bench_microkernels",
7763 ":neondot_bench_microkernels",
7764 ":asm_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007765 ],
7766 aarch64_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007767 ":neon_bench_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007768 ":neonfp16_bench_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007769 ":neonfma_bench_microkernels",
7770 ":neonv8_bench_microkernels",
7771 ":neonfp16arith_bench_microkernels",
7772 ":neondot_bench_microkernels",
7773 ":asm_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007774 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07007775 generic_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007776 ":scalar_bench_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007777 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07007778 wasm_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007779 ":wasm_bench_microkernels",
7780 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007781 ],
7782 wasmsimd_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007783 ":wasm_bench_microkernels",
7784 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007785 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07007786 x86_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007787 ":sse2_bench_microkernels",
7788 ":ssse3_bench_microkernels",
7789 ":sse41_bench_microkernels",
7790 ":avx_bench_microkernels",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07007791 ":f16c_bench_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007792 ":xop_bench_microkernels",
7793 ":fma3_bench_microkernels",
7794 ":avx2_bench_microkernels",
7795 ":avx512f_bench_microkernels",
7796 ":avx512skx_bench_microkernels",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007797 ],
7798)
7799
Marat Dukhan33fcf782020-05-24 14:27:15 -07007800xnnpack_aggregate_library(
Marat Dukhan2c724952021-07-27 18:46:30 -07007801 name = "prod_microkernels",
Marat Dukhan6e8c0ce2021-04-13 14:35:08 -07007802 aarch32_ios_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007803 ":neon_prod_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007804 ":neonfp16_prod_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007805 ":neonfma_prod_microkernels",
7806 ":neonv8_prod_microkernels",
7807 ":asm_microkernels",
Marat Dukhan6e8c0ce2021-04-13 14:35:08 -07007808 ],
7809 aarch32_nonios_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007810 ":neon_prod_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007811 ":neonfp16_prod_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007812 ":neonfma_prod_microkernels",
7813 ":neonv8_prod_microkernels",
7814 ":neondot_prod_microkernels",
7815 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007816 ],
7817 aarch64_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007818 ":neon_prod_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007819 ":neonfp16_prod_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007820 ":neonfma_prod_microkernels",
7821 ":neonv8_prod_microkernels",
7822 ":neonfp16arith_prod_microkernels",
7823 ":neondot_prod_microkernels",
7824 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007825 ],
7826 generic_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007827 ":scalar_prod_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007828 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07007829 wasm_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007830 ":wasm_prod_microkernels",
7831 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007832 ],
7833 wasmsimd_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007834 ":wasm_prod_microkernels",
7835 ":asm_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007836 ],
7837 x86_deps = [
Marat Dukhan2c724952021-07-27 18:46:30 -07007838 ":sse2_prod_microkernels",
7839 ":ssse3_prod_microkernels",
7840 ":sse41_prod_microkernels",
7841 ":avx_prod_microkernels",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07007842 ":f16c_prod_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007843 ":xop_prod_microkernels",
7844 ":fma3_prod_microkernels",
7845 ":avx2_prod_microkernels",
7846 ":avx512f_prod_microkernels",
7847 ":avx512skx_prod_microkernels",
7848 ],
7849)
7850
7851xnnpack_aggregate_library(
7852 name = "test_microkernels",
7853 aarch32_ios_deps = [
7854 ":neon_test_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007855 ":neonfp16_test_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007856 ":neonfma_test_microkernels",
7857 ":neonv8_test_microkernels",
7858 ":asm_microkernels",
7859 ],
7860 aarch32_nonios_deps = [
7861 ":neon_test_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007862 ":neonfp16_test_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007863 ":neonfma_test_microkernels",
7864 ":neonv8_test_microkernels",
7865 ":neondot_test_microkernels",
7866 ":asm_microkernels",
7867 ],
7868 aarch64_deps = [
7869 ":neon_test_microkernels",
Marat Dukhan8ff372c2021-09-28 14:43:17 -07007870 ":neonfp16_test_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007871 ":neonfma_test_microkernels",
7872 ":neonv8_test_microkernels",
7873 ":neonfp16arith_test_microkernels",
7874 ":neondot_test_microkernels",
7875 ":asm_microkernels",
7876 ],
7877 generic_deps = [
7878 ":scalar_test_microkernels",
7879 ],
7880 wasm_deps = [
7881 ":wasm_test_microkernels",
7882 ":asm_microkernels",
7883 ],
7884 wasmsimd_deps = [
7885 ":wasm_test_microkernels",
7886 ":asm_microkernels",
7887 ],
7888 x86_deps = [
7889 ":sse2_test_microkernels",
7890 ":ssse3_test_microkernels",
7891 ":sse41_test_microkernels",
7892 ":avx_test_microkernels",
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07007893 ":f16c_test_microkernels",
Marat Dukhan2c724952021-07-27 18:46:30 -07007894 ":xop_test_microkernels",
7895 ":fma3_test_microkernels",
7896 ":avx2_test_microkernels",
7897 ":avx512f_test_microkernels",
7898 ":avx512skx_test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07007899 ],
7900)
7901
Marat Dukhan08c4a432019-10-03 09:29:21 -07007902xnnpack_cc_library(
7903 name = "im2col",
7904 srcs = ["src/im2col.c"],
7905 hdrs = [
7906 "src/xnnpack/common.h",
7907 "src/xnnpack/im2col.h",
7908 ],
Marat Dukhan10a38082020-04-17 03:58:35 -07007909 gcc_copts = xnnpack_gcc_std_copts(),
7910 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07007911)
7912
7913xnnpack_cc_library(
7914 name = "indirection",
7915 srcs = ["src/indirection.c"],
7916 hdrs = INTERNAL_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007917 gcc_copts = xnnpack_gcc_std_copts(),
7918 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07007919 deps = [
7920 "@FP16",
7921 "@FXdiv",
7922 "@pthreadpool",
7923 ],
7924)
7925
7926xnnpack_cc_library(
Marat Dukhan33fcf782020-05-24 14:27:15 -07007927 name = "indirection_test_mode",
7928 srcs = ["src/indirection.c"],
7929 hdrs = INTERNAL_HDRS,
7930 copts = [
7931 "-UNDEBUG",
7932 "-DXNN_TEST_MODE=1",
7933 ],
7934 gcc_copts = xnnpack_gcc_std_copts(),
7935 msvc_copts = xnnpack_msvc_std_copts(),
7936 deps = [
7937 "@FP16",
7938 "@FXdiv",
7939 "@pthreadpool",
7940 ],
7941)
7942
7943xnnpack_cc_library(
Marat Dukhanab582382020-07-06 13:32:08 -07007944 name = "packing",
7945 srcs = ["src/packing.c"],
7946 hdrs = INTERNAL_HDRS,
7947 gcc_copts = xnnpack_gcc_std_copts(),
7948 msvc_copts = xnnpack_msvc_std_copts(),
7949 deps = [
7950 "@FP16",
7951 "@FXdiv",
7952 "@pthreadpool",
7953 ],
7954)
7955
7956xnnpack_cc_library(
7957 name = "packing_test_mode",
7958 srcs = ["src/packing.c"],
7959 hdrs = INTERNAL_HDRS,
7960 copts = [
7961 "-UNDEBUG",
7962 "-DXNN_TEST_MODE=1",
7963 ],
7964 gcc_copts = xnnpack_gcc_std_copts(),
7965 msvc_copts = xnnpack_msvc_std_copts(),
7966 deps = [
7967 "@FP16",
7968 "@FXdiv",
7969 "@pthreadpool",
7970 ],
7971)
7972
7973xnnpack_cc_library(
Marat Dukhan08c4a432019-10-03 09:29:21 -07007974 name = "operator_run",
7975 srcs = ["src/operator-run.c"],
Marat Dukhanc8e00eb2019-10-04 14:55:26 -07007976 hdrs = INTERNAL_HDRS + LOGGING_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07007977 copts = LOGGING_COPTS + select({
Marat Dukhan05702cf2020-03-26 15:41:33 -07007978 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
7979 "//conditions:default": [],
7980 }),
Marat Dukhan10a38082020-04-17 03:58:35 -07007981 gcc_copts = xnnpack_gcc_std_copts(),
7982 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07007983 deps = [
Marat Dukhan3b59de22020-06-03 20:15:19 -07007984 ":logging_utils",
Marat Dukhan08c4a432019-10-03 09:29:21 -07007985 "@FP16",
7986 "@FXdiv",
7987 "@clog",
7988 "@pthreadpool",
7989 ],
7990)
7991
Chao Mei6ddfc602020-05-13 22:29:36 -07007992xnnpack_cc_library(
Marat Dukhan33fcf782020-05-24 14:27:15 -07007993 name = "operator_run_test_mode",
7994 srcs = ["src/operator-run.c"],
7995 hdrs = INTERNAL_HDRS + LOGGING_HDRS,
7996 copts = LOGGING_COPTS + [
7997 "-UNDEBUG",
7998 "-DXNN_TEST_MODE=1",
7999 ] + select({
8000 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8001 "//conditions:default": [],
8002 }),
8003 gcc_copts = xnnpack_gcc_std_copts(),
8004 msvc_copts = xnnpack_msvc_std_copts(),
8005 deps = [
Marat Dukhan3b59de22020-06-03 20:15:19 -07008006 ":logging_utils",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008007 "@FP16",
8008 "@FXdiv",
8009 "@clog",
8010 "@pthreadpool",
8011 ],
8012)
8013
8014xnnpack_cc_library(
Chao Mei6ddfc602020-05-13 22:29:36 -07008015 name = "memory_planner",
8016 srcs = ["src/memory-planner.c"],
8017 hdrs = INTERNAL_HDRS,
8018 defines = select({
8019 ":xnn_enable_memopt_explicit_true": ["XNN_ENABLE_MEMOPT=1"],
8020 ":xnn_enable_memopt_explicit_false": ["XNN_ENABLE_MEMOPT=0"],
8021 "//conditions:default": ["XNN_ENABLE_MEMOPT=1"],
8022 }),
8023 gcc_copts = xnnpack_gcc_std_copts(),
8024 msvc_copts = xnnpack_msvc_std_copts(),
8025 deps = [
Marat Dukhan3b59de22020-06-03 20:15:19 -07008026 ":logging_utils",
Chao Mei6ddfc602020-05-13 22:29:36 -07008027 "@pthreadpool",
8028 ],
8029)
8030
Marat Dukhan33fcf782020-05-24 14:27:15 -07008031xnnpack_cc_library(
8032 name = "memory_planner_test_mode",
8033 srcs = ["src/memory-planner.c"],
8034 hdrs = INTERNAL_HDRS,
8035 copts = [
8036 "-UNDEBUG",
8037 "-DXNN_TEST_MODE=1",
8038 ],
8039 defines = select({
8040 ":xnn_enable_memopt_explicit_true": ["XNN_ENABLE_MEMOPT=1"],
8041 ":xnn_enable_memopt_explicit_false": ["XNN_ENABLE_MEMOPT=0"],
8042 "//conditions:default": ["XNN_ENABLE_MEMOPT=1"],
8043 }),
8044 gcc_copts = xnnpack_gcc_std_copts(),
8045 msvc_copts = xnnpack_msvc_std_copts(),
8046 deps = [
Marat Dukhan3b59de22020-06-03 20:15:19 -07008047 ":logging_utils",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008048 "@pthreadpool",
8049 ],
8050)
8051
Marat Dukhan08c4a432019-10-03 09:29:21 -07008052cc_library(
8053 name = "enable_assembly",
8054 defines = select({
8055 ":xnn_enable_assembly_explicit_true": ["XNN_ENABLE_ASSEMBLY=1"],
8056 ":xnn_enable_assembly_explicit_false": ["XNN_ENABLE_ASSEMBLY=0"],
Frank Barchard810171d2019-10-10 10:34:51 -07008057 "//conditions:default": ["XNN_ENABLE_ASSEMBLY=1"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008058 }),
8059)
8060
Marat Dukhan9de90e02020-06-18 16:04:12 -07008061cc_library(
8062 name = "enable_sparse",
8063 defines = select({
8064 ":xnn_enable_sparse_explicit_true": ["XNN_ENABLE_SPARSE=1"],
8065 ":xnn_enable_sparse_explicit_false": ["XNN_ENABLE_SPARSE=0"],
Marat Dukhanb36582b2020-12-08 11:16:28 -08008066 "//conditions:default": ["XNN_ENABLE_SPARSE=1"],
Marat Dukhan9de90e02020-06-18 16:04:12 -07008067 }),
8068)
8069
Marat Dukhancf056b22019-10-07 10:26:29 -07008070xnnpack_cc_library(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008071 name = "operators",
8072 srcs = OPERATOR_SRCS + [
Marat Dukhan496389f2021-04-07 15:47:12 -07008073 "src/allocator.c",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008074 "src/operator-delete.c",
Marat Dukhancf056b22019-10-07 10:26:29 -07008075 ],
8076 hdrs = INTERNAL_HDRS + LOGGING_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07008077 copts = LOGGING_COPTS + [
Marat Dukhan08c4a432019-10-03 09:29:21 -07008078 "-Isrc",
8079 "-Iinclude",
8080 ] + select({
8081 ":debug_build": [],
8082 "//conditions:default": xnnpack_min_size_copts(),
Marat Dukhan05702cf2020-03-26 15:41:33 -07008083 }) + select({
8084 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8085 "//conditions:default": [],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008086 }),
Marat Dukhan10a38082020-04-17 03:58:35 -07008087 gcc_copts = xnnpack_gcc_std_copts(),
8088 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008089 deps = [
Marat Dukhan08c4a432019-10-03 09:29:21 -07008090 ":indirection",
Marat Dukhan3b59de22020-06-03 20:15:19 -07008091 ":logging_utils",
Marat Dukhan1b1b0322021-09-27 14:23:23 -07008092 ":operator_run",
Marat Dukhanab582382020-07-06 13:32:08 -07008093 ":packing",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008094 "@FP16",
8095 "@FXdiv",
8096 "@clog",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008097 "@pthreadpool",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008098 ],
8099)
8100
Marat Dukhan10a38082020-04-17 03:58:35 -07008101xnnpack_cc_library(
Marat Dukhan33fcf782020-05-24 14:27:15 -07008102 name = "operators_test_mode",
8103 srcs = OPERATOR_SRCS + [
Marat Dukhan496389f2021-04-07 15:47:12 -07008104 "src/allocator.c",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008105 "src/operator-delete.c",
8106 ],
8107 hdrs = INTERNAL_HDRS + LOGGING_HDRS,
8108 copts = LOGGING_COPTS + [
8109 "-Isrc",
8110 "-Iinclude",
8111 "-UNDEBUG",
8112 "-DXNN_TEST_MODE=1",
8113 ] + select({
8114 ":debug_build": [],
8115 "//conditions:default": xnnpack_min_size_copts(),
8116 }) + select({
8117 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8118 "//conditions:default": [],
8119 }),
8120 gcc_copts = xnnpack_gcc_std_copts(),
8121 msvc_copts = xnnpack_msvc_std_copts(),
8122 deps = [
8123 ":indirection_test_mode",
Marat Dukhan3b59de22020-06-03 20:15:19 -07008124 ":logging_utils",
Marat Dukhan1b1b0322021-09-27 14:23:23 -07008125 ":operator_run_test_mode",
Marat Dukhanab582382020-07-06 13:32:08 -07008126 ":packing_test_mode",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008127 "@FP16",
8128 "@FXdiv",
8129 "@clog",
8130 "@pthreadpool",
8131 ],
8132)
8133
8134xnnpack_cc_library(
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008135 name = "XNNPACK",
8136 srcs = [
8137 "src/init.c",
Marat Dukhanccfdbd12020-02-03 14:27:45 -08008138 "src/runtime.c",
8139 "src/subgraph.c",
8140 "src/tensor.c",
Marat Dukhanf03da0d2020-06-10 16:00:20 -07008141 ] + SUBGRAPH_SRCS,
Marat Dukhan10a38082020-04-17 03:58:35 -07008142 hdrs = ["include/xnnpack.h"],
8143 copts = LOGGING_COPTS + [
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008144 "-Isrc",
8145 "-Iinclude",
8146 ] + select({
8147 ":debug_build": [],
8148 "//conditions:default": xnnpack_min_size_copts(),
Marat Dukhan05702cf2020-03-26 15:41:33 -07008149 }) + select({
8150 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8151 "//conditions:default": [],
Marat Dukhan1ce78ab2021-09-03 17:37:51 -07008152 }) + select({
8153 ":xnn_wasmsimd_version_m87": [
8154 "-DXNN_WASMSIMD_VERSION=87",
8155 ],
8156 ":xnn_wasmsimd_version_m88": [
8157 "-DXNN_WASMSIMD_VERSION=88",
8158 ],
8159 ":xnn_wasmsimd_version_m91": [
8160 "-DXNN_WASMSIMD_VERSION=91",
8161 ],
8162 "//conditions:default": [
8163 "-DXNN_WASMSIMD_VERSION=87",
8164 ],
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008165 }),
Marat Dukhan10a38082020-04-17 03:58:35 -07008166 gcc_copts = xnnpack_gcc_std_copts(),
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008167 includes = ["include"],
Marat Dukhan10a38082020-04-17 03:58:35 -07008168 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008169 visibility = xnnpack_visibility(),
8170 deps = [
8171 ":enable_assembly",
Marat Dukhan9de90e02020-06-18 16:04:12 -07008172 ":enable_sparse",
Marat Dukhan3b59de22020-06-03 20:15:19 -07008173 ":logging_utils",
Chao Mei6ddfc602020-05-13 22:29:36 -07008174 ":memory_planner",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008175 ":operators",
Marat Dukhan2c724952021-07-27 18:46:30 -07008176 ":prod_microkernels",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008177 "@clog",
Marat Dukhanab2946c2020-05-21 20:04:13 -07008178 "@FP16",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008179 "@pthreadpool",
Marat Dukhand343c222019-10-07 09:22:14 -07008180 ] + select({
8181 ":emscripten": [],
8182 "//conditions:default": ["@cpuinfo"],
8183 }),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008184)
8185
Marat Dukhan10a38082020-04-17 03:58:35 -07008186xnnpack_cc_library(
Marat Dukhan33fcf782020-05-24 14:27:15 -07008187 name = "XNNPACK_test_mode",
8188 srcs = [
8189 "src/init.c",
8190 "src/runtime.c",
8191 "src/subgraph.c",
8192 "src/tensor.c",
Marat Dukhanf03da0d2020-06-10 16:00:20 -07008193 ] + SUBGRAPH_SRCS,
Marat Dukhan33fcf782020-05-24 14:27:15 -07008194 hdrs = ["include/xnnpack.h"],
8195 copts = LOGGING_COPTS + [
8196 "-Isrc",
8197 "-Iinclude",
8198 "-UNDEBUG",
8199 "-DXNN_TEST_MODE=1",
8200 ] + select({
8201 ":debug_build": [],
8202 "//conditions:default": xnnpack_min_size_copts(),
8203 }) + select({
8204 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8205 "//conditions:default": [],
Marat Dukhan1ce78ab2021-09-03 17:37:51 -07008206 }) + select({
8207 ":xnn_wasmsimd_version_m87": [
8208 "-DXNN_WASMSIMD_VERSION=87",
8209 ],
8210 ":xnn_wasmsimd_version_m88": [
8211 "-DXNN_WASMSIMD_VERSION=88",
8212 ],
8213 ":xnn_wasmsimd_version_m91": [
8214 "-DXNN_WASMSIMD_VERSION=91",
8215 ],
8216 "//conditions:default": [
8217 "-DXNN_WASMSIMD_VERSION=87",
8218 ],
Marat Dukhan33fcf782020-05-24 14:27:15 -07008219 }),
8220 gcc_copts = xnnpack_gcc_std_copts(),
8221 includes = ["include"],
8222 msvc_copts = xnnpack_msvc_std_copts(),
8223 visibility = xnnpack_visibility(),
8224 deps = [
8225 ":enable_assembly",
Marat Dukhan9de90e02020-06-18 16:04:12 -07008226 ":enable_sparse",
Marat Dukhan3b59de22020-06-03 20:15:19 -07008227 ":logging_utils",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008228 ":memory_planner_test_mode",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008229 ":operators_test_mode",
Marat Dukhan2c724952021-07-27 18:46:30 -07008230 ":test_microkernels",
Marat Dukhan33fcf782020-05-24 14:27:15 -07008231 "@clog",
8232 "@FP16",
8233 "@pthreadpool",
8234 ] + select({
8235 ":emscripten": [],
8236 "//conditions:default": ["@cpuinfo"],
8237 }),
8238)
8239
Marat Dukhanf0cb70a2021-03-30 15:45:15 -07008240# Specialized XNNPACK version for TensorFlow Lite. Excludes operators currently
8241# not used by the TensorFlow Lite XNNPACK delegate to minimize code size.
Marat Dukhanae046f52020-06-15 13:16:14 -07008242xnnpack_cc_library(
Marat Dukhanf0cb70a2021-03-30 15:45:15 -07008243 name = "xnnpack_for_tflite",
8244 srcs = [
8245 "src/init.c",
8246 "src/runtime.c",
8247 "src/subgraph.c",
8248 "src/tensor.c",
8249 ] + SUBGRAPH_SRCS,
8250 hdrs = ["include/xnnpack.h"],
8251 copts = LOGGING_COPTS + [
8252 "-Isrc",
8253 "-Iinclude",
8254 ] + select({
8255 ":debug_build": [],
8256 "//conditions:default": xnnpack_min_size_copts(),
8257 }) + select({
8258 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8259 "//conditions:default": [],
8260 }),
8261 defines = [
Marat Dukhanf0cb70a2021-03-30 15:45:15 -07008262 "XNN_NO_F16_OPERATORS",
8263 "XNN_NO_X16_OPERATORS",
Marat Dukhanb939cdb2021-03-30 18:51:51 -07008264 ] + select({
8265 ":xnn_enable_qs8_explicit_true": [],
Marat Dukhan5e353862021-06-15 09:03:25 -07008266 ":xnn_enable_qs8_explicit_false": [
8267 "XNN_NO_QC8_OPERATORS",
8268 "XNN_NO_QS8_OPERATORS",
Marat Dukhan0d00baa2021-08-16 23:59:07 -07008269 "XNN_NO_S8_OPERATORS",
Marat Dukhan5e353862021-06-15 09:03:25 -07008270 ],
Marat Dukhan6507b172021-08-19 03:23:40 -07008271 ":emscripten": [],
Marat Dukhan5e353862021-06-15 09:03:25 -07008272 "//conditions:default": [
8273 "XNN_NO_QC8_OPERATORS",
8274 "XNN_NO_QS8_OPERATORS",
Marat Dukhan0d00baa2021-08-16 23:59:07 -07008275 "XNN_NO_S8_OPERATORS",
Marat Dukhan5e353862021-06-15 09:03:25 -07008276 ],
Marat Dukhan8c8c1592021-07-13 13:59:02 -07008277 }) + select({
8278 ":xnn_enable_qu8_explicit_true": [],
8279 ":xnn_enable_qu8_explicit_false": [
8280 "XNN_NO_QU8_OPERATORS",
Marat Dukhan0d00baa2021-08-16 23:59:07 -07008281 "XNN_NO_U8_OPERATORS",
Marat Dukhan8c8c1592021-07-13 13:59:02 -07008282 ],
Marat Dukhan6507b172021-08-19 03:23:40 -07008283 ":emscripten": [],
Marat Dukhan8c8c1592021-07-13 13:59:02 -07008284 "//conditions:default": [
8285 "XNN_NO_QU8_OPERATORS",
Marat Dukhan0d00baa2021-08-16 23:59:07 -07008286 "XNN_NO_U8_OPERATORS",
Marat Dukhan8c8c1592021-07-13 13:59:02 -07008287 ],
Marat Dukhan189c1d02021-09-03 15:39:54 -07008288 }) + select({
8289 ":xnn_wasmsimd_version_m87": [
8290 "XNN_WASMSIMD_VERSION=87",
8291 ],
8292 ":xnn_wasmsimd_version_m88": [
8293 "XNN_WASMSIMD_VERSION=88",
8294 ],
8295 ":xnn_wasmsimd_version_m91": [
8296 "XNN_WASMSIMD_VERSION=91",
8297 ],
8298 "//conditions:default": [
8299 "XNN_WASMSIMD_VERSION=87",
8300 ],
Marat Dukhanb939cdb2021-03-30 18:51:51 -07008301 }),
Marat Dukhanf0cb70a2021-03-30 15:45:15 -07008302 gcc_copts = xnnpack_gcc_std_copts(),
8303 includes = ["include"],
8304 msvc_copts = xnnpack_msvc_std_copts(),
8305 visibility = xnnpack_visibility(),
8306 deps = [
8307 ":enable_assembly",
8308 ":enable_sparse",
8309 ":logging_utils",
8310 ":memory_planner",
8311 ":operator_run",
8312 ":operators",
Marat Dukhan2c724952021-07-27 18:46:30 -07008313 ":prod_microkernels",
Marat Dukhanf0cb70a2021-03-30 15:45:15 -07008314 "@clog",
8315 "@FP16",
8316 "@pthreadpool",
8317 ] + select({
8318 ":emscripten": [],
8319 "//conditions:default": ["@cpuinfo"],
8320 }),
8321)
8322
8323# Specialized XNNPACK version for TensorFlow.js. Excludes operators currently
8324# not used by the TensorFlow.js WebAssembly backend to minimize code size.
8325xnnpack_cc_library(
8326 name = "xnnpack_for_tfjs",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008327 srcs = [
8328 "src/init.c",
8329 ],
Marat Dukhan10a38082020-04-17 03:58:35 -07008330 hdrs = ["include/xnnpack.h"],
8331 copts = LOGGING_COPTS + [
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008332 "-Isrc",
8333 "-Iinclude",
8334 ] + select({
8335 ":debug_build": [],
8336 "//conditions:default": xnnpack_min_size_copts(),
Marat Dukhan05702cf2020-03-26 15:41:33 -07008337 }) + select({
8338 ":xnn_enable_hmp_explicit_false": ["-DXNN_MAX_UARCH_TYPES=1"],
8339 "//conditions:default": [],
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008340 }),
8341 defines = [
Marat Dukhan16f1e1a2020-08-04 16:38:22 -07008342 "XNN_NO_QS8_OPERATORS",
Marat Dukhan08b7a972020-07-14 18:17:29 -07008343 "XNN_NO_QU8_OPERATORS",
Marat Dukhan23147532021-08-16 07:26:56 -07008344 "XNN_NO_S8_OPERATORS",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008345 "XNN_NO_U8_OPERATORS",
8346 "XNN_NO_X8_OPERATORS",
Marat Dukhanefc47b82019-11-18 09:25:38 -08008347 "XNN_NO_NCHW_OPERATORS",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008348 ],
Marat Dukhan10a38082020-04-17 03:58:35 -07008349 gcc_copts = xnnpack_gcc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008350 includes = ["include"],
Marat Dukhan10a38082020-04-17 03:58:35 -07008351 msvc_copts = xnnpack_msvc_std_copts(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008352 visibility = xnnpack_visibility(),
8353 deps = [
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008354 ":enable_assembly",
Marat Dukhan3b59de22020-06-03 20:15:19 -07008355 ":logging_utils",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008356 ":operator_run",
8357 ":operators",
Marat Dukhan2c724952021-07-27 18:46:30 -07008358 ":prod_microkernels",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008359 "@clog",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008360 "@pthreadpool",
Marat Dukhan8fe54e42019-10-10 14:12:59 -07008361 ] + select({
8362 ":emscripten": [],
8363 "//conditions:default": ["@cpuinfo"],
8364 }),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008365)
8366
Marat Dukhancf056b22019-10-07 10:26:29 -07008367xnnpack_cc_library(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008368 name = "bench_utils",
8369 srcs = ["bench/utils.cc"],
8370 hdrs = ["bench/utils.h"],
Marat Dukhanbad48fe2019-11-04 10:35:22 -08008371 deps = [
8372 "@com_google_benchmark//:benchmark",
8373 "@cpuinfo",
8374 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008375)
8376
Frank Barchard7e955972019-10-11 10:34:25 -07008377######################### Benchmarks for micro-kernels #########################
Marat Dukhan08c4a432019-10-03 09:29:21 -07008378
8379xnnpack_benchmark(
Marat Dukhan0744fa02021-07-26 22:56:27 -07008380 name = "qs8_dwconv_bench",
8381 srcs = [
8382 "bench/dwconv.h",
8383 "bench/qs8-dwconv.cc",
8384 "src/xnnpack/AlignedAllocator.h",
8385 ] + MICROKERNEL_BENCHMARK_HDRS,
8386 deps = MICROKERNEL_BENCHMARK_DEPS + [
8387 ":indirection",
8388 ":packing",
8389 ],
8390)
8391
8392xnnpack_benchmark(
Marat Dukhan595e1702020-07-31 10:12:52 -07008393 name = "qs8_gemm_bench",
8394 srcs = [
8395 "bench/gemm.h",
8396 "bench/qs8-gemm.cc",
8397 "src/xnnpack/AlignedAllocator.h",
8398 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Frank Barchard31328cb2020-10-12 11:55:18 -07008399 copts = xnnpack_optional_ruy_copts() + xnnpack_optional_gemmlowp_copts(),
8400 deps = MICROKERNEL_BENCHMARK_DEPS + [":packing"] + xnnpack_optional_ruy_deps() + xnnpack_optional_gemmlowp_deps(),
Marat Dukhan595e1702020-07-31 10:12:52 -07008401)
8402
8403xnnpack_benchmark(
Marat Dukhan56bdd4a2020-08-03 19:47:04 -07008404 name = "qs8_requantization_bench",
8405 srcs = [
8406 "bench/qs8-requantization.cc",
Marat Dukhan56bdd4a2020-08-03 19:47:04 -07008407 "src/xnnpack/AlignedAllocator.h",
Frank Barchard04336c12020-10-22 16:48:55 -07008408 "src/xnnpack/requantization-stubs.h",
Marat Dukhan56bdd4a2020-08-03 19:47:04 -07008409 ] + MICROKERNEL_BENCHMARK_HDRS,
8410 deps = MICROKERNEL_BENCHMARK_DEPS,
8411)
8412
8413xnnpack_benchmark(
Marat Dukhan83a8d2f2021-07-29 16:41:19 -07008414 name = "qs8_vadd_bench",
8415 srcs = [
8416 "bench/qs8-vadd.cc",
8417 "src/xnnpack/AlignedAllocator.h",
8418 ] + MICROKERNEL_BENCHMARK_HDRS,
8419 deps = MICROKERNEL_BENCHMARK_DEPS,
8420)
8421
8422xnnpack_benchmark(
8423 name = "qs8_vaddc_bench",
8424 srcs = [
8425 "bench/qs8-vaddc.cc",
8426 "src/xnnpack/AlignedAllocator.h",
8427 ] + MICROKERNEL_BENCHMARK_HDRS,
8428 deps = MICROKERNEL_BENCHMARK_DEPS,
8429)
8430
8431xnnpack_benchmark(
Marat Dukhan795e5ab2021-08-02 19:07:52 -07008432 name = "qs8_vmul_bench",
8433 srcs = [
8434 "bench/qs8-vmul.cc",
8435 "src/xnnpack/AlignedAllocator.h",
8436 ] + MICROKERNEL_BENCHMARK_HDRS,
8437 deps = MICROKERNEL_BENCHMARK_DEPS,
8438)
8439
8440xnnpack_benchmark(
Marat Dukhan8b024c92021-08-03 00:05:14 -07008441 name = "qs8_vmulc_bench",
8442 srcs = [
8443 "bench/qs8-vmulc.cc",
8444 "src/xnnpack/AlignedAllocator.h",
8445 ] + MICROKERNEL_BENCHMARK_HDRS,
8446 deps = MICROKERNEL_BENCHMARK_DEPS,
8447)
8448
8449xnnpack_benchmark(
Marat Dukhan08b7a972020-07-14 18:17:29 -07008450 name = "qu8_gemm_bench",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008451 srcs = [
8452 "bench/gemm.h",
Marat Dukhan08b7a972020-07-14 18:17:29 -07008453 "bench/qu8-gemm.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008454 "src/xnnpack/AlignedAllocator.h",
8455 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07008456 copts = xnnpack_optional_ruy_copts() + xnnpack_optional_gemmlowp_copts(),
Marat Dukhanab582382020-07-06 13:32:08 -07008457 deps = MICROKERNEL_BENCHMARK_DEPS + [":packing"] + xnnpack_optional_ruy_deps() + xnnpack_optional_gemmlowp_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008458)
8459
8460xnnpack_benchmark(
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07008461 name = "qu8_requantization_bench",
8462 srcs = [
8463 "bench/qu8-requantization.cc",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07008464 "src/xnnpack/AlignedAllocator.h",
Frank Barchard04336c12020-10-22 16:48:55 -07008465 "src/xnnpack/requantization-stubs.h",
Marat Dukhan5b69f8b2020-07-24 15:26:48 -07008466 ] + MICROKERNEL_BENCHMARK_HDRS,
8467 deps = MICROKERNEL_BENCHMARK_DEPS,
8468)
8469
8470xnnpack_benchmark(
Marat Dukhan1ef9de82021-07-29 17:15:33 -07008471 name = "qu8_vadd_bench",
8472 srcs = [
8473 "bench/qu8-vadd.cc",
8474 "src/xnnpack/AlignedAllocator.h",
8475 ] + MICROKERNEL_BENCHMARK_HDRS,
8476 deps = MICROKERNEL_BENCHMARK_DEPS,
8477)
8478
8479xnnpack_benchmark(
8480 name = "qu8_vaddc_bench",
8481 srcs = [
8482 "bench/qu8-vaddc.cc",
8483 "src/xnnpack/AlignedAllocator.h",
8484 ] + MICROKERNEL_BENCHMARK_HDRS,
8485 deps = MICROKERNEL_BENCHMARK_DEPS,
8486)
8487
8488xnnpack_benchmark(
Marat Dukhan795e5ab2021-08-02 19:07:52 -07008489 name = "qu8_vmul_bench",
8490 srcs = [
8491 "bench/qu8-vmul.cc",
8492 "src/xnnpack/AlignedAllocator.h",
8493 ] + MICROKERNEL_BENCHMARK_HDRS,
8494 deps = MICROKERNEL_BENCHMARK_DEPS,
8495)
8496
8497xnnpack_benchmark(
Marat Dukhan8b024c92021-08-03 00:05:14 -07008498 name = "qu8_vmulc_bench",
8499 srcs = [
8500 "bench/qu8-vmulc.cc",
8501 "src/xnnpack/AlignedAllocator.h",
8502 ] + MICROKERNEL_BENCHMARK_HDRS,
8503 deps = MICROKERNEL_BENCHMARK_DEPS,
8504)
8505
8506xnnpack_benchmark(
Frank Barchard40d20fe2020-05-05 00:37:45 -07008507 name = "f16_igemm_bench",
8508 srcs = [
8509 "bench/f16-igemm.cc",
8510 "bench/conv.h",
Frank Barchard40d20fe2020-05-05 00:37:45 -07008511 "src/xnnpack/AlignedAllocator.h",
8512 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008513 deps = MICROKERNEL_BENCHMARK_DEPS + [
8514 ":indirection",
8515 ":packing",
8516 ],
Frank Barchard40d20fe2020-05-05 00:37:45 -07008517)
8518
8519xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008520 name = "f16_gemm_bench",
8521 srcs = [
8522 "bench/f16-gemm.cc",
8523 "bench/gemm.h",
8524 "src/xnnpack/AlignedAllocator.h",
8525 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008526 deps = MICROKERNEL_BENCHMARK_DEPS + [
8527 ":packing",
8528 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008529)
8530
8531xnnpack_benchmark(
Marat Dukhanbdb56f52020-02-05 21:42:49 -08008532 name = "f16_spmm_bench",
8533 srcs = [
8534 "bench/f16-spmm.cc",
Marat Dukhan1631e3e2020-12-06 19:29:31 -08008535 "bench/spmm.h",
Marat Dukhanbdb56f52020-02-05 21:42:49 -08008536 "src/xnnpack/AlignedAllocator.h",
8537 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanbdb56f52020-02-05 21:42:49 -08008538 deps = MICROKERNEL_BENCHMARK_DEPS,
8539)
8540
8541xnnpack_benchmark(
Marat Dukhan6674d692021-05-05 22:27:00 -07008542 name = "f16_vrelu_bench",
8543 srcs = [
8544 "bench/f16-vrelu.cc",
8545 "src/xnnpack/AlignedAllocator.h",
8546 ] + MICROKERNEL_BENCHMARK_HDRS,
8547 deps = MICROKERNEL_BENCHMARK_DEPS,
8548)
8549
8550xnnpack_benchmark(
Marat Dukhan434352f2021-10-16 18:28:55 -07008551 name = "f16_f32_vcvt_bench",
8552 srcs = [
8553 "bench/f16-f32-vcvt.cc",
8554 "src/xnnpack/AlignedAllocator.h",
8555 ] + MICROKERNEL_BENCHMARK_HDRS,
8556 deps = MICROKERNEL_BENCHMARK_DEPS,
8557)
8558
8559xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008560 name = "f32_igemm_bench",
8561 srcs = [
8562 "bench/f32-igemm.cc",
8563 "bench/conv.h",
8564 "src/xnnpack/AlignedAllocator.h",
8565 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008566 deps = MICROKERNEL_BENCHMARK_DEPS + [
8567 ":indirection",
8568 ":packing",
8569 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008570)
8571
8572xnnpack_benchmark(
8573 name = "f32_conv_hwc_bench",
8574 srcs = [
8575 "bench/f32-conv-hwc.cc",
8576 "bench/dconv.h",
8577 "src/xnnpack/AlignedAllocator.h",
8578 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008579 deps = MICROKERNEL_BENCHMARK_DEPS + [
8580 ":packing",
8581 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008582)
8583
8584xnnpack_benchmark(
Marat Dukhan1f29b802020-05-15 23:46:39 -07008585 name = "f32_conv_hwc2chw_bench",
Erich Elsen563df5f2019-10-23 08:02:21 -07008586 srcs = [
Marat Dukhan1f29b802020-05-15 23:46:39 -07008587 "bench/f32-conv-hwc2chw.cc",
Erich Elsen563df5f2019-10-23 08:02:21 -07008588 "bench/dconv.h",
8589 "src/xnnpack/AlignedAllocator.h",
8590 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008591 deps = MICROKERNEL_BENCHMARK_DEPS + [
8592 ":packing",
8593 ],
Erich Elsen563df5f2019-10-23 08:02:21 -07008594)
8595
8596xnnpack_benchmark(
Frank Barchard5a599a62020-06-04 20:12:44 -07008597 name = "f16_dwconv_bench",
8598 srcs = [
8599 "bench/f16-dwconv.cc",
8600 "bench/dwconv.h",
Frank Barchard5a599a62020-06-04 20:12:44 -07008601 "src/xnnpack/AlignedAllocator.h",
8602 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008603 deps = MICROKERNEL_BENCHMARK_DEPS + [
8604 ":indirection",
8605 ":packing",
8606 ],
Frank Barchard5a599a62020-06-04 20:12:44 -07008607)
8608
8609xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008610 name = "f32_dwconv_bench",
8611 srcs = [
8612 "bench/f32-dwconv.cc",
8613 "bench/dwconv.h",
8614 "src/xnnpack/AlignedAllocator.h",
8615 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008616 deps = MICROKERNEL_BENCHMARK_DEPS + [
8617 ":indirection",
8618 ":packing",
8619 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008620)
8621
8622xnnpack_benchmark(
Marat Dukhanbf715f92020-10-23 20:17:00 -07008623 name = "f32_dwconv2d_chw_bench",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008624 srcs = [
Marat Dukhanbf715f92020-10-23 20:17:00 -07008625 "bench/f32-dwconv2d-chw.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008626 "bench/dwconv.h",
8627 "src/xnnpack/AlignedAllocator.h",
8628 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008629 deps = MICROKERNEL_BENCHMARK_DEPS + [
8630 ":indirection",
8631 ":packing",
8632 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008633)
8634
8635xnnpack_benchmark(
Marat Dukhand77f77d2021-10-24 15:39:59 -07008636 name = "f32_f16_vcvt_bench",
8637 srcs = [
8638 "bench/f32-f16-vcvt.cc",
8639 "src/xnnpack/AlignedAllocator.h",
8640 ] + MICROKERNEL_BENCHMARK_HDRS,
8641 deps = MICROKERNEL_BENCHMARK_DEPS,
8642)
8643
8644xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008645 name = "f32_gemm_bench",
8646 srcs = [
8647 "bench/f32-gemm.cc",
8648 "bench/gemm.h",
8649 "src/xnnpack/AlignedAllocator.h",
8650 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07008651 copts = xnnpack_optional_ruy_copts(),
Marat Dukhanab582382020-07-06 13:32:08 -07008652 deps = MICROKERNEL_BENCHMARK_DEPS + [":packing"] + xnnpack_optional_ruy_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008653)
8654
8655xnnpack_benchmark(
Marat Dukhan563eee12021-12-02 14:44:25 -08008656 name = "f32_qs8_vcvt_bench",
8657 srcs = [
8658 "bench/f32-qs8-vcvt.cc",
8659 "src/xnnpack/AlignedAllocator.h",
8660 ] + MICROKERNEL_BENCHMARK_HDRS,
8661 deps = MICROKERNEL_BENCHMARK_DEPS,
8662)
8663
8664xnnpack_benchmark(
8665 name = "f32_qu8_vcvt_bench",
8666 srcs = [
8667 "bench/f32-qu8-vcvt.cc",
8668 "src/xnnpack/AlignedAllocator.h",
8669 ] + MICROKERNEL_BENCHMARK_HDRS,
8670 deps = MICROKERNEL_BENCHMARK_DEPS,
8671)
8672
8673xnnpack_benchmark(
Marat Dukhan4c4eb002019-12-08 21:27:49 -08008674 name = "f32_raddexpminusmax_bench",
8675 srcs = [
8676 "bench/f32-raddexpminusmax.cc",
8677 "src/xnnpack/AlignedAllocator.h",
8678 ] + MICROKERNEL_BENCHMARK_HDRS,
8679 deps = MICROKERNEL_BENCHMARK_DEPS,
8680)
8681
8682xnnpack_benchmark(
8683 name = "f32_raddextexp_bench",
8684 srcs = [
8685 "bench/f32-raddextexp.cc",
8686 "src/xnnpack/AlignedAllocator.h",
8687 ] + MICROKERNEL_BENCHMARK_HDRS,
8688 deps = MICROKERNEL_BENCHMARK_DEPS,
8689)
8690
8691xnnpack_benchmark(
8692 name = "f32_raddstoreexpminusmax_bench",
8693 srcs = [
8694 "bench/f32-raddstoreexpminusmax.cc",
8695 "src/xnnpack/AlignedAllocator.h",
8696 ] + MICROKERNEL_BENCHMARK_HDRS,
8697 deps = MICROKERNEL_BENCHMARK_DEPS,
8698)
8699
8700xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008701 name = "f32_rmax_bench",
8702 srcs = [
8703 "bench/f32-rmax.cc",
8704 "src/xnnpack/AlignedAllocator.h",
8705 ] + MICROKERNEL_BENCHMARK_HDRS,
8706 deps = MICROKERNEL_BENCHMARK_DEPS,
8707)
8708
8709xnnpack_benchmark(
8710 name = "f32_spmm_bench",
8711 srcs = [
8712 "bench/f32-spmm.cc",
Marat Dukhan1631e3e2020-12-06 19:29:31 -08008713 "bench/spmm.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07008714 "src/xnnpack/AlignedAllocator.h",
8715 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07008716 deps = MICROKERNEL_BENCHMARK_DEPS,
8717)
8718
8719xnnpack_benchmark(
Marat Dukhanfd8e6892020-01-27 15:25:25 -08008720 name = "f32_softmax_bench",
Marat Dukhan4a4a7fa2019-10-21 13:46:14 -07008721 srcs = [
Marat Dukhanfd8e6892020-01-27 15:25:25 -08008722 "bench/f32-softmax.cc",
Marat Dukhan4a4a7fa2019-10-21 13:46:14 -07008723 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhan10a38082020-04-17 03:58:35 -07008724 copts = xnnpack_optional_dnnl_copts(),
Marat Dukhan8d3c6932020-03-06 20:27:27 -08008725 deps = MICROKERNEL_BENCHMARK_DEPS + xnnpack_optional_dnnl_deps(),
Marat Dukhan4a4a7fa2019-10-21 13:46:14 -07008726)
8727
8728xnnpack_benchmark(
Marat Dukhaned6baaf2020-12-01 15:07:08 -08008729 name = "f32_velu_bench",
8730 srcs = [
8731 "bench/f32-velu.cc",
8732 "src/xnnpack/AlignedAllocator.h",
8733 ] + MICROKERNEL_BENCHMARK_HDRS,
8734 deps = MICROKERNEL_BENCHMARK_DEPS,
8735)
8736
8737xnnpack_benchmark(
Marat Dukhan6674d692021-05-05 22:27:00 -07008738 name = "f32_vhswish_bench",
8739 srcs = [
8740 "bench/f32-vhswish.cc",
8741 "src/xnnpack/AlignedAllocator.h",
8742 ] + MICROKERNEL_BENCHMARK_HDRS,
8743 deps = MICROKERNEL_BENCHMARK_DEPS,
8744)
8745
8746xnnpack_benchmark(
Marat Dukhan7c74aff2021-08-07 15:44:27 -07008747 name = "f32_vlrelu_bench",
8748 srcs = [
8749 "bench/f32-vlrelu.cc",
8750 "src/xnnpack/AlignedAllocator.h",
8751 ] + MICROKERNEL_BENCHMARK_HDRS,
8752 deps = MICROKERNEL_BENCHMARK_DEPS,
8753)
8754
8755xnnpack_benchmark(
Marat Dukhan6674d692021-05-05 22:27:00 -07008756 name = "f32_vrelu_bench",
8757 srcs = [
8758 "bench/f32-vrelu.cc",
8759 "src/xnnpack/AlignedAllocator.h",
8760 ] + MICROKERNEL_BENCHMARK_HDRS,
8761 deps = MICROKERNEL_BENCHMARK_DEPS,
8762)
8763
8764xnnpack_benchmark(
Marat Dukhan4c4eb002019-12-08 21:27:49 -08008765 name = "f32_vscaleexpminusmax_bench",
8766 srcs = [
8767 "bench/f32-vscaleexpminusmax.cc",
8768 "src/xnnpack/AlignedAllocator.h",
8769 ] + MICROKERNEL_BENCHMARK_HDRS,
8770 deps = MICROKERNEL_BENCHMARK_DEPS,
8771)
8772
8773xnnpack_benchmark(
8774 name = "f32_vscaleextexp_bench",
8775 srcs = [
8776 "bench/f32-vscaleextexp.cc",
8777 "src/xnnpack/AlignedAllocator.h",
8778 ] + MICROKERNEL_BENCHMARK_HDRS,
8779 deps = MICROKERNEL_BENCHMARK_DEPS,
8780)
8781
8782xnnpack_benchmark(
Marat Dukhan6674d692021-05-05 22:27:00 -07008783 name = "f32_vsigmoid_bench",
8784 srcs = [
8785 "bench/f32-vsigmoid.cc",
8786 "src/xnnpack/AlignedAllocator.h",
8787 ] + MICROKERNEL_BENCHMARK_HDRS,
8788 deps = MICROKERNEL_BENCHMARK_DEPS,
8789)
8790
8791xnnpack_benchmark(
Marat Dukhanf4db2f32020-06-30 10:55:30 -07008792 name = "f32_vsqrt_bench",
8793 srcs = [
8794 "bench/f32-vsqrt.cc",
8795 "src/xnnpack/AlignedAllocator.h",
8796 ] + MICROKERNEL_BENCHMARK_HDRS,
8797 deps = MICROKERNEL_BENCHMARK_DEPS,
8798)
8799
8800xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008801 name = "f32_im2col_gemm_bench",
8802 srcs = [
8803 "bench/f32-im2col-gemm.cc",
8804 "bench/conv.h",
8805 "src/xnnpack/AlignedAllocator.h",
8806 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07008807 deps = MICROKERNEL_BENCHMARK_DEPS + [
8808 ":im2col",
8809 ":packing",
8810 ],
Marat Dukhan08c4a432019-10-03 09:29:21 -07008811)
8812
Marat Dukhanfe7acb62020-03-09 19:30:05 -07008813xnnpack_benchmark(
Marat Dukhanffbf96a2020-05-14 02:59:08 -07008814 name = "rounding_bench",
8815 srcs = [
8816 "bench/rounding.cc",
Marat Dukhanffbf96a2020-05-14 02:59:08 -07008817 "src/xnnpack/AlignedAllocator.h",
Frank Barchard04336c12020-10-22 16:48:55 -07008818 "src/xnnpack/math-stubs.h",
Marat Dukhanffbf96a2020-05-14 02:59:08 -07008819 ] + MICROKERNEL_BENCHMARK_HDRS,
8820 deps = MICROKERNEL_BENCHMARK_DEPS,
8821)
8822
Marat Dukhan54074372021-09-08 23:28:46 -07008823xnnpack_benchmark(
8824 name = "x8_lut_bench",
8825 srcs = [
8826 "bench/x8-lut.cc",
8827 "src/xnnpack/AlignedAllocator.h",
8828 ] + MICROKERNEL_BENCHMARK_HDRS,
8829 deps = MICROKERNEL_BENCHMARK_DEPS,
8830)
8831
Marat Dukhan08c4a432019-10-03 09:29:21 -07008832########################### Benchmarks for operators ###########################
8833
8834xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008835 name = "average_pooling_bench",
8836 srcs = ["bench/average-pooling.cc"],
Marat Dukhan7a16d8b2020-03-11 04:22:44 -07008837 copts = xnnpack_optional_tflite_copts(),
Marat Dukhan8ea0b072020-04-23 16:12:18 -07008838 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008839 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008840)
8841
8842xnnpack_benchmark(
Marat Dukhan87727142020-06-24 15:24:10 -07008843 name = "bankers_rounding_bench",
8844 srcs = ["bench/bankers-rounding.cc"],
8845 copts = xnnpack_optional_tflite_copts(),
8846 tags = ["nowin32"],
8847 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8848)
8849
8850xnnpack_benchmark(
8851 name = "ceiling_bench",
8852 srcs = ["bench/ceiling.cc"],
8853 copts = xnnpack_optional_tflite_copts(),
8854 tags = ["nowin32"],
8855 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8856)
8857
8858xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008859 name = "channel_shuffle_bench",
8860 srcs = ["bench/channel-shuffle.cc"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008861 deps = OPERATOR_BENCHMARK_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07008862)
8863
8864xnnpack_benchmark(
8865 name = "convolution_bench",
8866 srcs = ["bench/convolution.cc"],
8867 copts = xnnpack_optional_tflite_copts() + xnnpack_optional_armcl_copts(),
Marat Dukhan8ea0b072020-04-23 16:12:18 -07008868 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008869 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps() + xnnpack_optional_armcl_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008870)
8871
8872xnnpack_benchmark(
8873 name = "deconvolution_bench",
8874 srcs = ["bench/deconvolution.cc"],
8875 copts = xnnpack_optional_tflite_copts(),
Marat Dukhan8ea0b072020-04-23 16:12:18 -07008876 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008877 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008878)
8879
8880xnnpack_benchmark(
Marat Dukhanb6bd4bc2020-12-01 17:01:40 -08008881 name = "elu_bench",
8882 srcs = ["bench/elu.cc"],
8883 copts = xnnpack_optional_tflite_copts(),
8884 tags = ["nowin32"],
8885 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8886)
8887
8888xnnpack_benchmark(
Marat Dukhan87727142020-06-24 15:24:10 -07008889 name = "floor_bench",
8890 srcs = ["bench/floor.cc"],
8891 copts = xnnpack_optional_tflite_copts(),
8892 tags = ["nowin32"],
8893 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8894)
8895
8896xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008897 name = "global_average_pooling_bench",
8898 srcs = ["bench/global-average-pooling.cc"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008899 deps = OPERATOR_BENCHMARK_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07008900)
8901
8902xnnpack_benchmark(
Marat Dukhanad352602020-06-25 21:50:54 -07008903 name = "hardswish_bench",
8904 srcs = ["bench/hardswish.cc"],
8905 copts = xnnpack_optional_tflite_copts(),
8906 tags = ["nowin32"],
8907 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8908)
8909
8910xnnpack_benchmark(
Marat Dukhan08c4a432019-10-03 09:29:21 -07008911 name = "max_pooling_bench",
8912 srcs = ["bench/max-pooling.cc"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008913 deps = OPERATOR_BENCHMARK_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -07008914)
8915
8916xnnpack_benchmark(
8917 name = "sigmoid_bench",
8918 srcs = ["bench/sigmoid.cc"],
Marat Dukhanc3b9e862019-11-17 13:18:54 -08008919 copts = xnnpack_optional_tflite_copts(),
Marat Dukhanca2ba702020-04-24 01:31:47 -07008920 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008921 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008922)
8923
8924xnnpack_benchmark(
Marat Dukhan95b22432019-10-30 16:30:14 -07008925 name = "prelu_bench",
8926 srcs = ["bench/prelu.cc"],
8927 copts = xnnpack_optional_tflite_copts(),
Marat Dukhan8ea0b072020-04-23 16:12:18 -07008928 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008929 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
Marat Dukhan95b22432019-10-30 16:30:14 -07008930)
8931
8932xnnpack_benchmark(
Marat Dukhanfd8e6892020-01-27 15:25:25 -08008933 name = "softmax_bench",
8934 srcs = ["bench/softmax.cc"],
Marat Dukhan9c0db962020-01-28 12:30:14 -08008935 copts = xnnpack_optional_tflite_copts(),
Marat Dukhanca2ba702020-04-24 01:31:47 -07008936 tags = ["nowin32"],
Marat Dukhan1b354632020-03-23 12:50:22 -07008937 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
Marat Dukhan08c4a432019-10-03 09:29:21 -07008938)
8939
Marat Dukhan87727142020-06-24 15:24:10 -07008940xnnpack_benchmark(
Marat Dukhan6804bbd2020-06-30 19:26:11 -07008941 name = "square_root_bench",
8942 srcs = ["bench/square-root.cc"],
8943 copts = xnnpack_optional_tflite_copts(),
8944 tags = ["nowin32"],
8945 deps = OPERATOR_BENCHMARK_DEPS + xnnpack_optional_tflite_deps(),
8946)
8947
8948xnnpack_benchmark(
Marat Dukhan87727142020-06-24 15:24:10 -07008949 name = "truncation_bench",
8950 srcs = ["bench/truncation.cc"],
8951 deps = OPERATOR_BENCHMARK_DEPS,
8952)
8953
Marat Dukhanc068bb62019-10-04 13:24:39 -07008954############################# End-to-end benchmarks ############################
8955
8956cc_library(
Marat Dukhan270a2c42020-06-26 16:45:52 -07008957 name = "fp32_mobilenet_v1",
8958 srcs = ["models/fp32-mobilenet-v1.cc"],
Marat Dukhanc068bb62019-10-04 13:24:39 -07008959 hdrs = ["models/models.h"],
Marat Dukhana84e40b2019-12-11 15:38:03 -08008960 copts = xnnpack_std_cxxopts(),
Marat Dukhanc068bb62019-10-04 13:24:39 -07008961 linkstatic = True,
8962 deps = [
8963 ":XNNPACK",
8964 "@pthreadpool",
8965 ],
8966)
8967
8968cc_library(
Marat Dukhan4cea2322021-03-09 09:35:36 -08008969 name = "fp32_sparse_mobilenet_v1",
8970 srcs = ["models/fp32-sparse-mobilenet-v1.cc"],
8971 hdrs = ["models/models.h"],
8972 copts = xnnpack_std_cxxopts(),
8973 linkstatic = True,
8974 deps = [
8975 ":XNNPACK",
8976 "@pthreadpool",
8977 ],
8978)
8979
8980cc_library(
Marat Dukhan270a2c42020-06-26 16:45:52 -07008981 name = "fp16_mobilenet_v1",
8982 srcs = ["models/fp16-mobilenet-v1.cc"],
8983 hdrs = ["models/models.h"],
8984 copts = xnnpack_std_cxxopts(),
8985 linkstatic = True,
8986 deps = [
8987 ":XNNPACK",
8988 "@FP16",
8989 "@pthreadpool",
8990 ],
8991)
8992
8993cc_library(
Marat Dukhane252f922021-08-31 08:57:41 -07008994 name = "qc8_mobilenet_v1",
8995 srcs = ["models/qc8-mobilenet-v1.cc"],
8996 hdrs = ["models/models.h"],
8997 copts = xnnpack_std_cxxopts(),
8998 linkstatic = True,
8999 deps = [
9000 ":XNNPACK",
9001 "@pthreadpool",
9002 ],
9003)
9004
9005cc_library(
9006 name = "qc8_mobilenet_v2",
9007 srcs = ["models/qc8-mobilenet-v2.cc"],
9008 hdrs = ["models/models.h"],
9009 copts = xnnpack_std_cxxopts(),
9010 linkstatic = True,
9011 deps = [
9012 ":XNNPACK",
9013 "@pthreadpool",
9014 ],
9015)
9016
9017cc_library(
Marat Dukhan0743cdf2020-08-04 18:52:07 -07009018 name = "qs8_mobilenet_v1",
9019 srcs = ["models/qs8-mobilenet-v1.cc"],
9020 hdrs = ["models/models.h"],
9021 copts = xnnpack_std_cxxopts(),
9022 linkstatic = True,
9023 deps = [
9024 ":XNNPACK",
9025 "@pthreadpool",
9026 ],
9027)
9028
9029cc_library(
Marat Dukhan70a96182020-09-03 17:13:58 -07009030 name = "qs8_mobilenet_v2",
9031 srcs = ["models/qs8-mobilenet-v2.cc"],
9032 hdrs = ["models/models.h"],
9033 copts = xnnpack_std_cxxopts(),
9034 linkstatic = True,
9035 deps = [
9036 ":XNNPACK",
9037 "@pthreadpool",
9038 ],
9039)
9040
9041cc_library(
Marat Dukhan12a23bb2021-03-08 08:13:21 -08009042 name = "qu8_mobilenet_v1",
9043 srcs = ["models/qu8-mobilenet-v1.cc"],
9044 hdrs = ["models/models.h"],
9045 copts = xnnpack_std_cxxopts(),
9046 linkstatic = True,
9047 deps = [
9048 ":XNNPACK",
9049 "@pthreadpool",
9050 ],
9051)
9052
9053cc_library(
Marat Dukhan036b2b12021-07-21 01:12:58 -07009054 name = "qu8_mobilenet_v2",
9055 srcs = ["models/qu8-mobilenet-v2.cc"],
9056 hdrs = ["models/models.h"],
9057 copts = xnnpack_std_cxxopts(),
9058 linkstatic = True,
9059 deps = [
9060 ":XNNPACK",
9061 "@pthreadpool",
9062 ],
9063)
9064
9065cc_library(
Marat Dukhan270a2c42020-06-26 16:45:52 -07009066 name = "fp32_mobilenet_v2",
9067 srcs = ["models/fp32-mobilenet-v2.cc"],
Marat Dukhanc068bb62019-10-04 13:24:39 -07009068 hdrs = ["models/models.h"],
Marat Dukhana84e40b2019-12-11 15:38:03 -08009069 copts = xnnpack_std_cxxopts(),
Marat Dukhanc068bb62019-10-04 13:24:39 -07009070 linkstatic = True,
9071 deps = [
9072 ":XNNPACK",
9073 "@pthreadpool",
9074 ],
9075)
9076
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009077cc_library(
Marat Dukhan4cea2322021-03-09 09:35:36 -08009078 name = "fp32_sparse_mobilenet_v2",
9079 srcs = ["models/fp32-sparse-mobilenet-v2.cc"],
9080 hdrs = ["models/models.h"],
9081 copts = xnnpack_std_cxxopts(),
9082 linkstatic = True,
9083 deps = [
9084 ":XNNPACK",
9085 "@pthreadpool",
9086 ],
9087)
9088
9089cc_library(
Marat Dukhan270a2c42020-06-26 16:45:52 -07009090 name = "fp16_mobilenet_v2",
9091 srcs = ["models/fp16-mobilenet-v2.cc"],
9092 hdrs = ["models/models.h"],
9093 copts = xnnpack_std_cxxopts(),
9094 linkstatic = True,
9095 deps = [
9096 ":XNNPACK",
9097 "@FP16",
9098 "@pthreadpool",
9099 ],
9100)
9101
9102cc_library(
9103 name = "fp32_mobilenet_v3_large",
9104 srcs = ["models/fp32-mobilenet-v3-large.cc"],
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009105 hdrs = ["models/models.h"],
Marat Dukhana84e40b2019-12-11 15:38:03 -08009106 copts = xnnpack_std_cxxopts(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009107 linkstatic = True,
9108 deps = [
9109 ":XNNPACK",
9110 "@pthreadpool",
9111 ],
9112)
9113
9114cc_library(
Marat Dukhan4cea2322021-03-09 09:35:36 -08009115 name = "fp32_sparse_mobilenet_v3_large",
9116 srcs = ["models/fp32-sparse-mobilenet-v3-large.cc"],
9117 hdrs = ["models/models.h"],
9118 copts = xnnpack_std_cxxopts(),
9119 linkstatic = True,
9120 deps = [
9121 ":XNNPACK",
9122 "@pthreadpool",
9123 ],
9124)
9125
9126cc_library(
Marat Dukhan66f3ccd2020-09-14 16:09:38 -07009127 name = "fp16_mobilenet_v3_large",
9128 srcs = ["models/fp16-mobilenet-v3-large.cc"],
9129 hdrs = ["models/models.h"],
9130 copts = xnnpack_std_cxxopts(),
9131 linkstatic = True,
9132 deps = [
9133 ":XNNPACK",
9134 "@FP16",
9135 "@pthreadpool",
9136 ],
9137)
9138
9139cc_library(
Marat Dukhan270a2c42020-06-26 16:45:52 -07009140 name = "fp32_mobilenet_v3_small",
9141 srcs = ["models/fp32-mobilenet-v3-small.cc"],
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009142 hdrs = ["models/models.h"],
Marat Dukhana84e40b2019-12-11 15:38:03 -08009143 copts = xnnpack_std_cxxopts(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009144 linkstatic = True,
9145 deps = [
9146 ":XNNPACK",
9147 "@pthreadpool",
9148 ],
9149)
9150
Marat Dukhan66f3ccd2020-09-14 16:09:38 -07009151cc_library(
Marat Dukhan4cea2322021-03-09 09:35:36 -08009152 name = "fp32_sparse_mobilenet_v3_small",
9153 srcs = ["models/fp32-sparse-mobilenet-v3-small.cc"],
9154 hdrs = ["models/models.h"],
9155 copts = xnnpack_std_cxxopts(),
9156 linkstatic = True,
9157 deps = [
9158 ":XNNPACK",
9159 "@pthreadpool",
9160 ],
9161)
9162
9163cc_library(
Marat Dukhan66f3ccd2020-09-14 16:09:38 -07009164 name = "fp16_mobilenet_v3_small",
9165 srcs = ["models/fp16-mobilenet-v3-small.cc"],
9166 hdrs = ["models/models.h"],
9167 copts = xnnpack_std_cxxopts(),
9168 linkstatic = True,
9169 deps = [
9170 ":XNNPACK",
9171 "@FP16",
9172 "@pthreadpool",
9173 ],
9174)
9175
Marat Dukhanc068bb62019-10-04 13:24:39 -07009176xnnpack_benchmark(
Marat Dukhanef4416e2019-10-31 13:44:40 -07009177 name = "f32_dwconv_e2e_bench",
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009178 srcs = [
9179 "bench/f32-dwconv-e2e.cc",
9180 "bench/end2end.h",
9181 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhanef4416e2019-10-31 13:44:40 -07009182 deps = MICROKERNEL_BENCHMARK_DEPS + [
9183 ":XNNPACK",
Marat Dukhan270a2c42020-06-26 16:45:52 -07009184 ":fp32_mobilenet_v1",
9185 ":fp32_mobilenet_v2",
9186 ":fp32_mobilenet_v3_large",
9187 ":fp32_mobilenet_v3_small",
Marat Dukhanef4416e2019-10-31 13:44:40 -07009188 ],
9189)
9190
9191xnnpack_benchmark(
Marat Dukhan5f18d262019-10-31 10:24:14 -07009192 name = "f32_gemm_e2e_bench",
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009193 srcs = [
9194 "bench/f32-gemm-e2e.cc",
9195 "bench/end2end.h",
9196 ] + MICROKERNEL_BENCHMARK_HDRS,
Marat Dukhan5f18d262019-10-31 10:24:14 -07009197 deps = MICROKERNEL_BENCHMARK_DEPS + [
9198 ":XNNPACK",
Marat Dukhan270a2c42020-06-26 16:45:52 -07009199 ":fp32_mobilenet_v1",
9200 ":fp32_mobilenet_v2",
9201 ":fp32_mobilenet_v3_large",
9202 ":fp32_mobilenet_v3_small",
Marat Dukhan5f18d262019-10-31 10:24:14 -07009203 ],
9204)
9205
9206xnnpack_benchmark(
Marat Dukhanbbfc6d32021-07-26 18:31:02 -07009207 name = "qs8_dwconv_e2e_bench",
9208 srcs = [
9209 "bench/qs8-dwconv-e2e.cc",
9210 "bench/end2end.h",
9211 ] + MICROKERNEL_BENCHMARK_HDRS,
9212 deps = MICROKERNEL_BENCHMARK_DEPS + [
9213 ":XNNPACK",
9214 ":qs8_mobilenet_v1",
9215 ":qs8_mobilenet_v2",
9216 ],
9217)
9218
9219xnnpack_benchmark(
Frank Barcharddc909cb2021-02-08 13:59:31 -08009220 name = "qs8_gemm_e2e_bench",
9221 srcs = [
9222 "bench/qs8-gemm-e2e.cc",
9223 "bench/end2end.h",
9224 ] + MICROKERNEL_BENCHMARK_HDRS,
9225 deps = MICROKERNEL_BENCHMARK_DEPS + [
9226 ":XNNPACK",
9227 ":qs8_mobilenet_v1",
9228 ":qs8_mobilenet_v2",
9229 ],
9230)
9231
9232xnnpack_benchmark(
Frank Barchard9098aba2021-08-12 12:20:03 -07009233 name = "qu8_gemm_e2e_bench",
9234 srcs = [
9235 "bench/qu8-gemm-e2e.cc",
9236 "bench/end2end.h",
9237 ] + MICROKERNEL_BENCHMARK_HDRS,
9238 deps = MICROKERNEL_BENCHMARK_DEPS + [
9239 ":XNNPACK",
9240 ":qu8_mobilenet_v1",
9241 ":qu8_mobilenet_v2",
9242 ],
9243)
9244
9245xnnpack_benchmark(
Marat Dukhan6084fb82021-07-27 07:45:02 -07009246 name = "qu8_dwconv_e2e_bench",
9247 srcs = [
9248 "bench/qu8-dwconv-e2e.cc",
9249 "bench/end2end.h",
9250 ] + MICROKERNEL_BENCHMARK_HDRS,
9251 deps = MICROKERNEL_BENCHMARK_DEPS + [
9252 ":XNNPACK",
9253 ":qu8_mobilenet_v1",
9254 ":qu8_mobilenet_v2",
9255 ],
9256)
9257
9258xnnpack_benchmark(
Marat Dukhanc068bb62019-10-04 13:24:39 -07009259 name = "end2end_bench",
9260 srcs = ["bench/end2end.cc"],
9261 deps = [
9262 ":XNNPACK",
Frank Barchardc712fa42019-10-31 14:00:21 -07009263 ":bench_utils",
Marat Dukhan270a2c42020-06-26 16:45:52 -07009264 ":fp16_mobilenet_v1",
9265 ":fp16_mobilenet_v2",
Marat Dukhan66f3ccd2020-09-14 16:09:38 -07009266 ":fp16_mobilenet_v3_large",
9267 ":fp16_mobilenet_v3_small",
Marat Dukhan270a2c42020-06-26 16:45:52 -07009268 ":fp32_mobilenet_v1",
9269 ":fp32_mobilenet_v2",
9270 ":fp32_mobilenet_v3_large",
9271 ":fp32_mobilenet_v3_small",
Marat Dukhan4cea2322021-03-09 09:35:36 -08009272 ":fp32_sparse_mobilenet_v1",
9273 ":fp32_sparse_mobilenet_v2",
9274 ":fp32_sparse_mobilenet_v3_large",
9275 ":fp32_sparse_mobilenet_v3_small",
Marat Dukhane252f922021-08-31 08:57:41 -07009276 ":qc8_mobilenet_v1",
9277 ":qc8_mobilenet_v2",
Marat Dukhan0743cdf2020-08-04 18:52:07 -07009278 ":qs8_mobilenet_v1",
Marat Dukhan70a96182020-09-03 17:13:58 -07009279 ":qs8_mobilenet_v2",
Marat Dukhan12a23bb2021-03-08 08:13:21 -08009280 ":qu8_mobilenet_v1",
Marat Dukhan036b2b12021-07-21 01:12:58 -07009281 ":qu8_mobilenet_v2",
Marat Dukhanc068bb62019-10-04 13:24:39 -07009282 "@pthreadpool",
9283 ],
9284)
9285
Marat Dukhan6adff4e2019-10-14 18:32:07 -07009286#################### Accuracy evaluation for math functions ####################
9287
9288xnnpack_benchmark(
Marat Dukhancf67ec62020-12-14 09:56:37 -08009289 name = "f32_exp_ulp_eval",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07009290 srcs = [
Marat Dukhancf67ec62020-12-14 09:56:37 -08009291 "eval/f32-exp-ulp.cc",
Marat Dukhan6adff4e2019-10-14 18:32:07 -07009292 "src/xnnpack/AlignedAllocator.h",
9293 ] + ACCURACY_EVAL_HDRS,
Marat Dukhan3a305212020-12-06 19:24:27 -08009294 deps = ACCURACY_EVAL_DEPS + [
9295 ":bench_utils",
9296 "@cpuinfo",
9297 ],
Marat Dukhan6adff4e2019-10-14 18:32:07 -07009298)
9299
Marat Dukhan515c9772019-10-17 18:07:57 -07009300xnnpack_benchmark(
Marat Dukhancf67ec62020-12-14 09:56:37 -08009301 name = "f32_expminus_ulp_eval",
Marat Dukhan515c9772019-10-17 18:07:57 -07009302 srcs = [
Marat Dukhancf67ec62020-12-14 09:56:37 -08009303 "eval/f32-expminus-ulp.cc",
Marat Dukhan515c9772019-10-17 18:07:57 -07009304 "src/xnnpack/AlignedAllocator.h",
9305 ] + ACCURACY_EVAL_HDRS,
Marat Dukhan3a305212020-12-06 19:24:27 -08009306 deps = ACCURACY_EVAL_DEPS + [
9307 ":bench_utils",
9308 "@cpuinfo",
9309 ],
Marat Dukhan515c9772019-10-17 18:07:57 -07009310)
9311
Marat Dukhan98ba4412019-10-23 02:14:28 -07009312xnnpack_benchmark(
Marat Dukhancf67ec62020-12-14 09:56:37 -08009313 name = "f32_expm1minus_ulp_eval",
Marat Dukhana438aca2020-11-20 15:45:01 -08009314 srcs = [
Marat Dukhancf67ec62020-12-14 09:56:37 -08009315 "eval/f32-expm1minus-ulp.cc",
Marat Dukhana438aca2020-11-20 15:45:01 -08009316 "src/xnnpack/AlignedAllocator.h",
9317 ] + ACCURACY_EVAL_HDRS,
Marat Dukhande390d42020-11-29 19:32:18 -08009318 deps = ACCURACY_EVAL_DEPS + [
9319 ":bench_utils",
Marat Dukhan3a305212020-12-06 19:24:27 -08009320 "@cpuinfo",
Marat Dukhande390d42020-11-29 19:32:18 -08009321 ],
Marat Dukhana438aca2020-11-20 15:45:01 -08009322)
9323
9324xnnpack_benchmark(
Marat Dukhancf67ec62020-12-14 09:56:37 -08009325 name = "f32_extexp_ulp_eval",
Marat Dukhan98ba4412019-10-23 02:14:28 -07009326 srcs = [
Marat Dukhancf67ec62020-12-14 09:56:37 -08009327 "eval/f32-extexp-ulp.cc",
Marat Dukhan98ba4412019-10-23 02:14:28 -07009328 "src/xnnpack/AlignedAllocator.h",
9329 ] + ACCURACY_EVAL_HDRS,
Marat Dukhan3a305212020-12-06 19:24:27 -08009330 deps = ACCURACY_EVAL_DEPS + [
9331 ":bench_utils",
9332 "@cpuinfo",
9333 ],
Marat Dukhan98ba4412019-10-23 02:14:28 -07009334)
9335
Marat Dukhanf44f0222020-12-14 11:53:27 -08009336xnnpack_benchmark(
9337 name = "f32_sigmoid_ulp_eval",
9338 srcs = [
9339 "eval/f32-sigmoid-ulp.cc",
9340 "src/xnnpack/AlignedAllocator.h",
9341 ] + ACCURACY_EVAL_HDRS,
9342 deps = ACCURACY_EVAL_DEPS + [
9343 ":bench_utils",
9344 "@cpuinfo",
9345 ],
9346)
9347
9348xnnpack_benchmark(
9349 name = "f32_sqrt_ulp_eval",
9350 srcs = [
9351 "eval/f32-sqrt-ulp.cc",
9352 "src/xnnpack/AlignedAllocator.h",
9353 ] + ACCURACY_EVAL_HDRS,
9354 deps = ACCURACY_EVAL_DEPS + [
9355 ":bench_utils",
9356 "@cpuinfo",
9357 ],
9358)
9359
9360################### Accuracy verification for math functions ##################
9361
9362xnnpack_unit_test(
Marat Dukhan3ed866b2021-09-29 08:23:33 -07009363 name = "f16_f32_cvt_eval",
9364 srcs = [
9365 "eval/f16-f32-cvt.cc",
9366 "src/xnnpack/AlignedAllocator.h",
9367 "src/xnnpack/math-stubs.h",
9368 ] + MICROKERNEL_TEST_HDRS,
9369 automatic = False,
9370 deps = MICROKERNEL_TEST_DEPS,
9371)
9372
9373xnnpack_unit_test(
Marat Dukhan582e1842021-10-25 17:18:36 -07009374 name = "f32_f16_cvt_eval",
9375 srcs = [
9376 "eval/f32-f16-cvt.cc",
9377 "src/xnnpack/AlignedAllocator.h",
9378 "src/xnnpack/math-stubs.h",
9379 ] + MICROKERNEL_TEST_HDRS,
9380 automatic = False,
9381 deps = MICROKERNEL_TEST_DEPS,
9382)
9383
9384xnnpack_unit_test(
Marat Dukhand24301d2021-12-02 00:13:45 -08009385 name = "f32_qs8_cvt_eval",
9386 srcs = [
9387 "eval/f32-qs8-cvt.cc",
9388 "src/xnnpack/AlignedAllocator.h",
9389 "src/xnnpack/math-stubs.h",
9390 ] + MICROKERNEL_TEST_HDRS,
9391 automatic = False,
9392 deps = MICROKERNEL_TEST_DEPS,
9393)
9394
9395xnnpack_unit_test(
9396 name = "f32_qu8_cvt_eval",
9397 srcs = [
9398 "eval/f32-qu8-cvt.cc",
9399 "src/xnnpack/AlignedAllocator.h",
9400 "src/xnnpack/math-stubs.h",
9401 ] + MICROKERNEL_TEST_HDRS,
9402 automatic = False,
9403 deps = MICROKERNEL_TEST_DEPS,
9404)
9405
9406xnnpack_unit_test(
Marat Dukhanf7291fc2020-12-15 11:02:50 -08009407 name = "f32_exp_eval",
9408 srcs = [
9409 "eval/f32-exp.cc",
9410 "src/xnnpack/AlignedAllocator.h",
9411 "src/xnnpack/math-stubs.h",
9412 ] + MICROKERNEL_TEST_HDRS,
9413 automatic = False,
9414 deps = MICROKERNEL_TEST_DEPS,
9415)
9416
9417xnnpack_unit_test(
Marat Dukhanf44f0222020-12-14 11:53:27 -08009418 name = "f32_expm1minus_eval",
9419 srcs = [
9420 "eval/f32-expm1minus.cc",
9421 "src/xnnpack/AlignedAllocator.h",
9422 "src/xnnpack/math-stubs.h",
9423 ] + MICROKERNEL_TEST_HDRS,
9424 automatic = False,
9425 deps = MICROKERNEL_TEST_DEPS,
9426)
9427
Marat Dukhan8853b822020-05-07 12:19:01 -07009428xnnpack_unit_test(
Marat Dukhand28a5a22020-12-14 15:27:22 -08009429 name = "f32_expminus_eval",
9430 srcs = [
9431 "eval/f32-expminus.cc",
9432 "src/xnnpack/AlignedAllocator.h",
9433 "src/xnnpack/math-stubs.h",
9434 ] + MICROKERNEL_TEST_HDRS,
9435 automatic = False,
9436 deps = MICROKERNEL_TEST_DEPS,
9437)
9438
9439xnnpack_unit_test(
Marat Dukhan8853b822020-05-07 12:19:01 -07009440 name = "f32_roundne_eval",
9441 srcs = [
9442 "eval/f32-roundne.cc",
9443 "src/xnnpack/AlignedAllocator.h",
9444 "src/xnnpack/math-stubs.h",
9445 ] + MICROKERNEL_TEST_HDRS,
Marat Dukhan22eed3d2020-05-11 20:13:37 -07009446 automatic = False,
Marat Dukhan8853b822020-05-07 12:19:01 -07009447 deps = MICROKERNEL_TEST_DEPS,
9448)
9449
Marat Dukhan2dbb9442020-05-12 20:43:43 -07009450xnnpack_unit_test(
Marat Dukhanc9852ba2020-05-13 17:21:29 -07009451 name = "f32_roundd_eval",
9452 srcs = [
9453 "eval/f32-roundd.cc",
9454 "src/xnnpack/AlignedAllocator.h",
9455 "src/xnnpack/math-stubs.h",
9456 ] + MICROKERNEL_TEST_HDRS,
9457 automatic = False,
9458 deps = MICROKERNEL_TEST_DEPS,
9459)
9460
9461xnnpack_unit_test(
9462 name = "f32_roundu_eval",
9463 srcs = [
9464 "eval/f32-roundu.cc",
9465 "src/xnnpack/AlignedAllocator.h",
9466 "src/xnnpack/math-stubs.h",
9467 ] + MICROKERNEL_TEST_HDRS,
9468 automatic = False,
9469 deps = MICROKERNEL_TEST_DEPS,
9470)
9471
9472xnnpack_unit_test(
Marat Dukhan2dbb9442020-05-12 20:43:43 -07009473 name = "f32_roundz_eval",
9474 srcs = [
9475 "eval/f32-roundz.cc",
9476 "src/xnnpack/AlignedAllocator.h",
9477 "src/xnnpack/math-stubs.h",
9478 ] + MICROKERNEL_TEST_HDRS,
Marat Dukhanc9852ba2020-05-13 17:21:29 -07009479 automatic = False,
Marat Dukhan2dbb9442020-05-12 20:43:43 -07009480 deps = MICROKERNEL_TEST_DEPS,
9481)
9482
Marat Dukhan08c4a432019-10-03 09:29:21 -07009483######################### Unit tests for micro-kernels #########################
9484
9485xnnpack_unit_test(
Marat Dukhanf1a6ed32021-09-26 13:40:19 -07009486 name = "f16_f32_vcvt_test",
9487 srcs = [
9488 "test/f16-f32-vcvt.cc",
9489 "test/vcvt-microkernel-tester.h",
9490 ] + MICROKERNEL_TEST_HDRS,
9491 deps = MICROKERNEL_TEST_DEPS,
9492)
9493
9494xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -07009495 name = "f16_dwconv_minmax_test",
9496 srcs = [
9497 "test/f16-dwconv-minmax.cc",
9498 "test/dwconv-microkernel-tester.h",
9499 "src/xnnpack/AlignedAllocator.h",
9500 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
9501 deps = MICROKERNEL_TEST_DEPS + [":packing"],
9502)
9503
9504xnnpack_unit_test(
9505 name = "f16_gavgpool_minmax_test",
9506 srcs = [
9507 "test/f16-gavgpool-minmax.cc",
9508 "test/gavgpool-microkernel-tester.h",
9509 "src/xnnpack/AlignedAllocator.h",
9510 ] + MICROKERNEL_TEST_HDRS,
9511 deps = MICROKERNEL_TEST_DEPS,
9512)
9513
9514xnnpack_unit_test(
Marat Dukhande06f492020-04-09 00:19:31 -07009515 name = "f16_gemm_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009516 srcs = [
Marat Dukhande06f492020-04-09 00:19:31 -07009517 "test/f16-gemm-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009518 "test/gemm-microkernel-tester.h",
9519 "src/xnnpack/AlignedAllocator.h",
9520 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009521 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009522)
9523
9524xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -07009525 name = "f16_igemm_minmax_test",
9526 srcs = [
9527 "test/f16-igemm-minmax.cc",
9528 "test/gemm-microkernel-tester.h",
9529 "src/xnnpack/AlignedAllocator.h",
9530 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
9531 deps = MICROKERNEL_TEST_DEPS + [":packing"],
9532)
9533
9534xnnpack_unit_test(
Marat Dukhan355ab432020-04-09 19:01:52 -07009535 name = "f16_spmm_minmax_test",
Marat Dukhanbdb56f52020-02-05 21:42:49 -08009536 srcs = [
Marat Dukhan355ab432020-04-09 19:01:52 -07009537 "test/f16-spmm-minmax.cc",
Marat Dukhanbdb56f52020-02-05 21:42:49 -08009538 "test/spmm-microkernel-tester.h",
9539 "src/xnnpack/AlignedAllocator.h",
9540 ] + MICROKERNEL_TEST_HDRS,
9541 deps = MICROKERNEL_TEST_DEPS,
9542)
9543
9544xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -07009545 name = "f16_vadd_minmax_test",
9546 srcs = [
9547 "test/f16-vadd-minmax.cc",
9548 "test/vbinary-microkernel-tester.h",
9549 ] + MICROKERNEL_TEST_HDRS,
9550 deps = MICROKERNEL_TEST_DEPS,
9551)
9552
9553xnnpack_unit_test(
9554 name = "f16_vaddc_minmax_test",
9555 srcs = [
9556 "test/f16-vaddc-minmax.cc",
9557 "test/vbinaryc-microkernel-tester.h",
9558 ] + MICROKERNEL_TEST_HDRS,
9559 deps = MICROKERNEL_TEST_DEPS,
9560)
9561
9562xnnpack_unit_test(
9563 name = "f16_vclamp_test",
9564 srcs = [
9565 "test/f16-vclamp.cc",
Marat Dukhana6c05162021-05-13 16:52:02 -07009566 "test/vunary-microkernel-tester.h",
Marat Dukhan6674d692021-05-05 22:27:00 -07009567 ] + MICROKERNEL_TEST_HDRS,
9568 deps = MICROKERNEL_TEST_DEPS,
9569)
9570
9571xnnpack_unit_test(
9572 name = "f16_vdiv_minmax_test",
9573 srcs = [
9574 "test/f16-vdiv-minmax.cc",
9575 "test/vbinary-microkernel-tester.h",
9576 ] + MICROKERNEL_TEST_HDRS,
9577 deps = MICROKERNEL_TEST_DEPS,
9578)
9579
9580xnnpack_unit_test(
9581 name = "f16_vdivc_minmax_test",
9582 srcs = [
9583 "test/f16-vdivc-minmax.cc",
9584 "test/vbinaryc-microkernel-tester.h",
9585 ] + MICROKERNEL_TEST_HDRS,
9586 deps = MICROKERNEL_TEST_DEPS,
9587)
9588
9589xnnpack_unit_test(
9590 name = "f16_vrdivc_minmax_test",
9591 srcs = [
9592 "test/f16-vrdivc-minmax.cc",
9593 "test/vbinaryc-microkernel-tester.h",
9594 ] + MICROKERNEL_TEST_HDRS,
9595 deps = MICROKERNEL_TEST_DEPS,
9596)
9597
9598xnnpack_unit_test(
9599 name = "f16_vhswish_test",
9600 srcs = [
9601 "test/f16-vhswish.cc",
Marat Dukhana6c05162021-05-13 16:52:02 -07009602 "test/vunary-microkernel-tester.h",
Marat Dukhan6674d692021-05-05 22:27:00 -07009603 ] + MICROKERNEL_TEST_HDRS,
9604 deps = MICROKERNEL_TEST_DEPS,
9605)
9606
9607xnnpack_unit_test(
9608 name = "f16_vmax_test",
9609 srcs = [
9610 "test/f16-vmax.cc",
9611 "test/vbinary-microkernel-tester.h",
9612 ] + MICROKERNEL_TEST_HDRS,
9613 deps = MICROKERNEL_TEST_DEPS,
9614)
9615
9616xnnpack_unit_test(
9617 name = "f16_vmaxc_test",
9618 srcs = [
9619 "test/f16-vmaxc.cc",
9620 "test/vbinaryc-microkernel-tester.h",
9621 ] + MICROKERNEL_TEST_HDRS,
9622 deps = MICROKERNEL_TEST_DEPS,
9623)
9624
9625xnnpack_unit_test(
9626 name = "f16_vmin_test",
9627 srcs = [
9628 "test/f16-vmin.cc",
9629 "test/vbinary-microkernel-tester.h",
9630 ] + MICROKERNEL_TEST_HDRS,
9631 deps = MICROKERNEL_TEST_DEPS,
9632)
9633
9634xnnpack_unit_test(
9635 name = "f16_vminc_test",
9636 srcs = [
9637 "test/f16-vminc.cc",
9638 "test/vbinaryc-microkernel-tester.h",
9639 ] + MICROKERNEL_TEST_HDRS,
9640 deps = MICROKERNEL_TEST_DEPS,
9641)
9642
9643xnnpack_unit_test(
9644 name = "f16_vmul_minmax_test",
9645 srcs = [
9646 "test/f16-vmul-minmax.cc",
9647 "test/vbinary-microkernel-tester.h",
9648 ] + MICROKERNEL_TEST_HDRS,
9649 deps = MICROKERNEL_TEST_DEPS,
9650)
9651
9652xnnpack_unit_test(
9653 name = "f16_vmulc_minmax_test",
9654 srcs = [
9655 "test/f16-vmulc-minmax.cc",
9656 "test/vbinaryc-microkernel-tester.h",
9657 ] + MICROKERNEL_TEST_HDRS,
9658 deps = MICROKERNEL_TEST_DEPS,
9659)
9660
9661xnnpack_unit_test(
9662 name = "f16_vmulcaddc_minmax_test",
9663 srcs = [
9664 "test/f16-vmulcaddc-minmax.cc",
9665 "test/vmulcaddc-microkernel-tester.h",
9666 "src/xnnpack/AlignedAllocator.h",
9667 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
9668 deps = MICROKERNEL_TEST_DEPS + [":packing"],
9669)
9670
9671xnnpack_unit_test(
9672 name = "f16_vsub_minmax_test",
9673 srcs = [
9674 "test/f16-vsub-minmax.cc",
9675 "test/vbinary-microkernel-tester.h",
9676 ] + MICROKERNEL_TEST_HDRS,
9677 deps = MICROKERNEL_TEST_DEPS,
9678)
9679
9680xnnpack_unit_test(
9681 name = "f16_vsubc_minmax_test",
9682 srcs = [
9683 "test/f16-vsubc-minmax.cc",
9684 "test/vbinaryc-microkernel-tester.h",
9685 ] + MICROKERNEL_TEST_HDRS,
9686 deps = MICROKERNEL_TEST_DEPS,
9687)
9688
9689xnnpack_unit_test(
9690 name = "f16_vrsubc_minmax_test",
9691 srcs = [
9692 "test/f16-vrsubc-minmax.cc",
9693 "test/vbinaryc-microkernel-tester.h",
9694 ] + MICROKERNEL_TEST_HDRS,
9695 deps = MICROKERNEL_TEST_DEPS,
9696)
9697
9698xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -07009699 name = "f32_argmaxpool_test",
9700 srcs = [
9701 "test/f32-argmaxpool.cc",
9702 "test/argmaxpool-microkernel-tester.h",
9703 "src/xnnpack/AlignedAllocator.h",
9704 ] + MICROKERNEL_TEST_HDRS,
9705 deps = MICROKERNEL_TEST_DEPS,
9706)
9707
9708xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -07009709 name = "f32_avgpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009710 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -07009711 "test/f32-avgpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009712 "test/avgpool-microkernel-tester.h",
9713 "src/xnnpack/AlignedAllocator.h",
9714 ] + MICROKERNEL_TEST_HDRS,
9715 deps = MICROKERNEL_TEST_DEPS,
9716)
9717
9718xnnpack_unit_test(
Marat Dukhan660fd192020-03-10 04:55:30 -07009719 name = "f32_ibilinear_test",
Marat Dukhan35dacfb2019-11-07 19:18:16 -08009720 srcs = [
Marat Dukhan660fd192020-03-10 04:55:30 -07009721 "test/f32-ibilinear.cc",
9722 "test/ibilinear-microkernel-tester.h",
Marat Dukhan35dacfb2019-11-07 19:18:16 -08009723 "src/xnnpack/AlignedAllocator.h",
9724 ] + MICROKERNEL_TEST_HDRS,
9725 deps = MICROKERNEL_TEST_DEPS,
9726)
9727
9728xnnpack_unit_test(
XNNPACK Team21432672020-10-19 19:58:48 -07009729 name = "f32_ibilinear_chw_test",
9730 srcs = [
9731 "test/f32-ibilinear-chw.cc",
XNNPACK Team6be46b22020-10-22 23:34:54 -07009732 "test/ibilinear-microkernel-tester.h",
XNNPACK Team21432672020-10-19 19:58:48 -07009733 "src/xnnpack/AlignedAllocator.h",
9734 ] + MICROKERNEL_TEST_HDRS,
9735 deps = MICROKERNEL_TEST_DEPS,
9736)
9737
9738xnnpack_unit_test(
Marat Dukhan163a7e62020-04-09 04:19:26 -07009739 name = "f32_igemm_test",
9740 srcs = [
9741 "test/f32-igemm.cc",
9742 "test/gemm-microkernel-tester.h",
9743 "src/xnnpack/AlignedAllocator.h",
9744 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009745 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan163a7e62020-04-09 04:19:26 -07009746)
9747
9748xnnpack_unit_test(
Marat Dukhan467f6362020-05-22 23:21:55 -07009749 name = "f32_igemm_relu_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009750 srcs = [
Marat Dukhan467f6362020-05-22 23:21:55 -07009751 "test/f32-igemm-relu.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009752 "test/gemm-microkernel-tester.h",
9753 "src/xnnpack/AlignedAllocator.h",
9754 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009755 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009756)
9757
9758xnnpack_unit_test(
Marat Dukhane207b7b2020-05-28 16:27:42 -07009759 name = "f32_igemm_minmax_test",
9760 srcs = [
9761 "test/f32-igemm-minmax.cc",
9762 "test/gemm-microkernel-tester.h",
9763 "src/xnnpack/AlignedAllocator.h",
9764 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009765 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhane207b7b2020-05-28 16:27:42 -07009766)
9767
9768xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -07009769 name = "f32_conv_hwc_test",
9770 srcs = [
9771 "test/f32-conv-hwc.cc",
9772 "test/conv-hwc-microkernel-tester.h",
9773 "src/xnnpack/AlignedAllocator.h",
9774 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009775 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009776)
9777
9778xnnpack_unit_test(
Marat Dukhan1f29b802020-05-15 23:46:39 -07009779 name = "f32_conv_hwc2chw_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009780 srcs = [
Marat Dukhan1f29b802020-05-15 23:46:39 -07009781 "test/f32-conv-hwc2chw.cc",
9782 "test/conv-hwc2chw-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009783 "src/xnnpack/AlignedAllocator.h",
9784 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009785 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009786)
9787
9788xnnpack_unit_test(
Marat Dukhan163a7e62020-04-09 04:19:26 -07009789 name = "f32_dwconv_test",
9790 srcs = [
9791 "test/f32-dwconv.cc",
9792 "test/dwconv-microkernel-tester.h",
9793 "src/xnnpack/AlignedAllocator.h",
9794 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009795 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan163a7e62020-04-09 04:19:26 -07009796)
9797
9798xnnpack_unit_test(
Marat Dukhan1c587112020-04-08 20:04:28 -07009799 name = "f32_dwconv_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009800 srcs = [
Marat Dukhan1c587112020-04-08 20:04:28 -07009801 "test/f32-dwconv-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009802 "test/dwconv-microkernel-tester.h",
9803 "src/xnnpack/AlignedAllocator.h",
9804 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009805 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009806)
9807
9808xnnpack_unit_test(
Marat Dukhanbf715f92020-10-23 20:17:00 -07009809 name = "f32_dwconv2d_chw_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009810 srcs = [
Marat Dukhanbf715f92020-10-23 20:17:00 -07009811 "test/f32-dwconv2d-chw.cc",
9812 "test/dwconv2d-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009813 "src/xnnpack/AlignedAllocator.h",
9814 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009815 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009816)
9817
9818xnnpack_unit_test(
Marat Dukhand77f77d2021-10-24 15:39:59 -07009819 name = "f32_f16_vcvt_test",
9820 srcs = [
9821 "test/f32-f16-vcvt.cc",
9822 "test/vcvt-microkernel-tester.h",
9823 ] + MICROKERNEL_TEST_HDRS,
9824 deps = MICROKERNEL_TEST_DEPS,
9825)
9826
9827xnnpack_unit_test(
Marat Dukhanc5aa2422021-12-01 00:15:19 -08009828 name = "f32_qs8_vcvt_test",
9829 srcs = [
9830 "test/f32-qs8-vcvt.cc",
9831 "test/vcvt-microkernel-tester.h",
9832 ] + MICROKERNEL_TEST_HDRS,
9833 deps = MICROKERNEL_TEST_DEPS,
9834)
9835
9836xnnpack_unit_test(
9837 name = "f32_qu8_vcvt_test",
9838 srcs = [
9839 "test/f32-qu8-vcvt.cc",
9840 "test/vcvt-microkernel-tester.h",
9841 ] + MICROKERNEL_TEST_HDRS,
9842 deps = MICROKERNEL_TEST_DEPS,
9843)
9844
9845xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -07009846 name = "f32_gavgpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009847 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -07009848 "test/f32-gavgpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009849 "test/gavgpool-microkernel-tester.h",
9850 "src/xnnpack/AlignedAllocator.h",
9851 ] + MICROKERNEL_TEST_HDRS,
9852 deps = MICROKERNEL_TEST_DEPS,
9853)
9854
9855xnnpack_unit_test(
Marat Dukhan1f29b802020-05-15 23:46:39 -07009856 name = "f32_gavgpool_cw_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009857 srcs = [
Marat Dukhan1f29b802020-05-15 23:46:39 -07009858 "test/f32-gavgpool-cw.cc",
9859 "test/gavgpool-cw-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009860 "src/xnnpack/AlignedAllocator.h",
9861 ] + MICROKERNEL_TEST_HDRS,
9862 deps = MICROKERNEL_TEST_DEPS,
9863)
9864
9865xnnpack_unit_test(
Marat Dukhan163a7e62020-04-09 04:19:26 -07009866 name = "f32_gemm_test",
9867 srcs = [
9868 "test/f32-gemm.cc",
9869 "test/gemm-microkernel-tester.h",
9870 "src/xnnpack/AlignedAllocator.h",
9871 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009872 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan163a7e62020-04-09 04:19:26 -07009873)
9874
9875xnnpack_unit_test(
Marat Dukhan467f6362020-05-22 23:21:55 -07009876 name = "f32_gemm_relu_test",
9877 srcs = [
9878 "test/f32-gemm-relu.cc",
9879 "test/gemm-microkernel-tester.h",
9880 "src/xnnpack/AlignedAllocator.h",
9881 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009882 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan467f6362020-05-22 23:21:55 -07009883)
9884
9885xnnpack_unit_test(
Marat Dukhan1c587112020-04-08 20:04:28 -07009886 name = "f32_gemm_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009887 srcs = [
Marat Dukhan1c587112020-04-08 20:04:28 -07009888 "test/f32-gemm-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009889 "test/gemm-microkernel-tester.h",
9890 "src/xnnpack/AlignedAllocator.h",
9891 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009892 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009893)
9894
9895xnnpack_unit_test(
Marat Dukhan1c587112020-04-08 20:04:28 -07009896 name = "f32_gemminc_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009897 srcs = [
Marat Dukhan1c587112020-04-08 20:04:28 -07009898 "test/f32-gemminc-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009899 "test/gemm-microkernel-tester.h",
9900 "src/xnnpack/AlignedAllocator.h",
9901 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009902 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009903)
9904
9905xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -07009906 name = "f32_vhswish_test",
Frank Barchardb1966592020-05-12 13:47:06 -07009907 srcs = [
Marat Dukhan6674d692021-05-05 22:27:00 -07009908 "test/f32-vhswish.cc",
Marat Dukhan949b6e72021-05-13 11:21:06 -07009909 "test/vunary-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009910 ] + MICROKERNEL_TEST_HDRS,
9911 deps = MICROKERNEL_TEST_DEPS,
9912)
9913
9914xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -07009915 name = "f32_maxpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009916 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -07009917 "test/f32-maxpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009918 "test/maxpool-microkernel-tester.h",
9919 ] + MICROKERNEL_TEST_HDRS,
9920 deps = MICROKERNEL_TEST_DEPS,
9921)
9922
9923xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -07009924 name = "f32_pavgpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009925 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -07009926 "test/f32-pavgpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009927 "test/avgpool-microkernel-tester.h",
9928 "src/xnnpack/AlignedAllocator.h",
9929 ] + MICROKERNEL_TEST_HDRS,
9930 deps = MICROKERNEL_TEST_DEPS,
9931)
9932
9933xnnpack_unit_test(
Marat Dukhan1c587112020-04-08 20:04:28 -07009934 name = "f32_ppmm_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009935 srcs = [
Marat Dukhan1c587112020-04-08 20:04:28 -07009936 "test/f32-ppmm-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -07009937 "test/gemm-microkernel-tester.h",
9938 "src/xnnpack/AlignedAllocator.h",
9939 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -07009940 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -07009941)
9942
9943xnnpack_unit_test(
Frank Barchardb1966592020-05-12 13:47:06 -07009944 name = "f16_prelu_test",
9945 srcs = [
9946 "test/f16-prelu.cc",
9947 "test/prelu-microkernel-tester.h",
9948 "src/xnnpack/AlignedAllocator.h",
9949 ] + MICROKERNEL_TEST_HDRS,
9950 deps = MICROKERNEL_TEST_DEPS,
9951)
9952
9953xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -07009954 name = "f32_prelu_test",
9955 srcs = [
9956 "test/f32-prelu.cc",
9957 "test/prelu-microkernel-tester.h",
9958 "src/xnnpack/AlignedAllocator.h",
9959 ] + MICROKERNEL_TEST_HDRS,
9960 deps = MICROKERNEL_TEST_DEPS,
9961)
9962
9963xnnpack_unit_test(
Marat Dukhan97579532019-10-18 16:40:39 -07009964 name = "f32_raddexpminusmax_test",
9965 srcs = [
9966 "test/f32-raddexpminusmax.cc",
9967 "test/raddexpminusmax-microkernel-tester.h",
9968 ] + MICROKERNEL_TEST_HDRS,
9969 deps = MICROKERNEL_TEST_DEPS,
9970)
9971
9972xnnpack_unit_test(
Marat Dukhan6f8d4d32019-10-25 17:07:09 -07009973 name = "f32_raddextexp_test",
9974 srcs = [
9975 "test/f32-raddextexp.cc",
9976 "test/raddextexp-microkernel-tester.h",
9977 ] + MICROKERNEL_TEST_HDRS,
9978 deps = MICROKERNEL_TEST_DEPS,
9979)
9980
9981xnnpack_unit_test(
Marat Dukhan97579532019-10-18 16:40:39 -07009982 name = "f32_raddstoreexpminusmax_test",
9983 srcs = [
9984 "test/f32-raddstoreexpminusmax.cc",
9985 "test/raddstoreexpminusmax-microkernel-tester.h",
9986 ] + MICROKERNEL_TEST_HDRS,
9987 deps = MICROKERNEL_TEST_DEPS,
9988)
9989
9990xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -07009991 name = "f32_rmax_test",
9992 srcs = [
9993 "test/f32-rmax.cc",
9994 "test/rmax-microkernel-tester.h",
9995 ] + MICROKERNEL_TEST_HDRS,
9996 deps = MICROKERNEL_TEST_DEPS,
9997)
9998
9999xnnpack_unit_test(
Marat Dukhan355ab432020-04-09 19:01:52 -070010000 name = "f32_spmm_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010001 srcs = [
Marat Dukhan355ab432020-04-09 19:01:52 -070010002 "test/f32-spmm-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010003 "test/spmm-microkernel-tester.h",
10004 "src/xnnpack/AlignedAllocator.h",
10005 ] + MICROKERNEL_TEST_HDRS,
10006 deps = MICROKERNEL_TEST_DEPS,
10007)
10008
10009xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070010010 name = "f32_vabs_test",
10011 srcs = [
10012 "test/f32-vabs.cc",
10013 "test/vunary-microkernel-tester.h",
10014 ] + MICROKERNEL_TEST_HDRS,
10015 deps = MICROKERNEL_TEST_DEPS,
10016)
10017
10018xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010019 name = "f32_vadd_test",
10020 srcs = [
10021 "test/f32-vadd.cc",
10022 "test/vbinary-microkernel-tester.h",
10023 ] + MICROKERNEL_TEST_HDRS,
10024 deps = MICROKERNEL_TEST_DEPS,
10025)
10026
10027xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010028 name = "f32_vadd_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010029 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010030 "test/f32-vadd-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010031 "test/vbinary-microkernel-tester.h",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010032 ] + MICROKERNEL_TEST_HDRS,
10033 deps = MICROKERNEL_TEST_DEPS,
10034)
10035
10036xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010037 name = "f32_vadd_relu_test",
10038 srcs = [
10039 "test/f32-vadd-relu.cc",
10040 "test/vbinary-microkernel-tester.h",
10041 ] + MICROKERNEL_TEST_HDRS,
10042 deps = MICROKERNEL_TEST_DEPS,
10043)
10044
10045xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010046 name = "f32_vaddc_test",
10047 srcs = [
10048 "test/f32-vaddc.cc",
10049 "test/vbinaryc-microkernel-tester.h",
10050 ] + MICROKERNEL_TEST_HDRS,
10051 deps = MICROKERNEL_TEST_DEPS,
10052)
10053
10054xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010055 name = "f32_vaddc_minmax_test",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010056 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010057 "test/f32-vaddc-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010058 "test/vbinaryc-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010059 ] + MICROKERNEL_TEST_HDRS,
10060 deps = MICROKERNEL_TEST_DEPS,
10061)
10062
10063xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010064 name = "f32_vaddc_relu_test",
10065 srcs = [
10066 "test/f32-vaddc-relu.cc",
10067 "test/vbinaryc-microkernel-tester.h",
10068 ] + MICROKERNEL_TEST_HDRS,
10069 deps = MICROKERNEL_TEST_DEPS,
10070)
10071
10072xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -070010073 name = "f32_vclamp_test",
10074 srcs = [
10075 "test/f32-vclamp.cc",
Marat Dukhan60d3f242021-05-13 11:59:02 -070010076 "test/vunary-microkernel-tester.h",
Marat Dukhan6674d692021-05-05 22:27:00 -070010077 ] + MICROKERNEL_TEST_HDRS,
10078 deps = MICROKERNEL_TEST_DEPS,
10079)
10080
10081xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010082 name = "f32_vdiv_test",
10083 srcs = [
10084 "test/f32-vdiv.cc",
10085 "test/vbinary-microkernel-tester.h",
10086 ] + MICROKERNEL_TEST_HDRS,
10087 deps = MICROKERNEL_TEST_DEPS,
10088)
10089
10090xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010091 name = "f32_vdiv_minmax_test",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010092 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010093 "test/f32-vdiv-minmax.cc",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010094 "test/vbinary-microkernel-tester.h",
10095 ] + MICROKERNEL_TEST_HDRS,
10096 deps = MICROKERNEL_TEST_DEPS,
10097)
10098
10099xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010100 name = "f32_vdiv_relu_test",
10101 srcs = [
10102 "test/f32-vdiv-relu.cc",
10103 "test/vbinary-microkernel-tester.h",
10104 ] + MICROKERNEL_TEST_HDRS,
10105 deps = MICROKERNEL_TEST_DEPS,
10106)
10107
10108xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010109 name = "f32_vdivc_test",
10110 srcs = [
10111 "test/f32-vdivc.cc",
10112 "test/vbinaryc-microkernel-tester.h",
10113 ] + MICROKERNEL_TEST_HDRS,
10114 deps = MICROKERNEL_TEST_DEPS,
10115)
10116
10117xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010118 name = "f32_vdivc_minmax_test",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010119 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010120 "test/f32-vdivc-minmax.cc",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010121 "test/vbinaryc-microkernel-tester.h",
10122 ] + MICROKERNEL_TEST_HDRS,
10123 deps = MICROKERNEL_TEST_DEPS,
10124)
10125
10126xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010127 name = "f32_vdivc_relu_test",
10128 srcs = [
10129 "test/f32-vdivc-relu.cc",
10130 "test/vbinaryc-microkernel-tester.h",
10131 ] + MICROKERNEL_TEST_HDRS,
10132 deps = MICROKERNEL_TEST_DEPS,
10133)
10134
10135xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010136 name = "f32_vrdivc_test",
10137 srcs = [
10138 "test/f32-vrdivc.cc",
10139 "test/vbinaryc-microkernel-tester.h",
10140 ] + MICROKERNEL_TEST_HDRS,
10141 deps = MICROKERNEL_TEST_DEPS,
10142)
10143
10144xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010145 name = "f32_vrdivc_minmax_test",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010146 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010147 "test/f32-vrdivc-minmax.cc",
Marat Dukhan77ca6302019-12-06 12:48:15 -080010148 "test/vbinaryc-microkernel-tester.h",
10149 ] + MICROKERNEL_TEST_HDRS,
10150 deps = MICROKERNEL_TEST_DEPS,
10151)
10152
10153xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010154 name = "f32_vrdivc_relu_test",
10155 srcs = [
10156 "test/f32-vrdivc-relu.cc",
10157 "test/vbinaryc-microkernel-tester.h",
10158 ] + MICROKERNEL_TEST_HDRS,
10159 deps = MICROKERNEL_TEST_DEPS,
10160)
10161
10162xnnpack_unit_test(
Marat Dukhaned6baaf2020-12-01 15:07:08 -080010163 name = "f32_velu_test",
10164 srcs = [
10165 "test/f32-velu.cc",
10166 "test/vunary-microkernel-tester.h",
10167 ] + MICROKERNEL_TEST_HDRS,
10168 deps = MICROKERNEL_TEST_DEPS,
10169)
10170
10171xnnpack_unit_test(
Marat Dukhan403b7d42019-12-05 12:49:11 -080010172 name = "f32_vmax_test",
10173 srcs = [
10174 "test/f32-vmax.cc",
10175 "test/vbinary-microkernel-tester.h",
10176 ] + MICROKERNEL_TEST_HDRS,
10177 deps = MICROKERNEL_TEST_DEPS,
10178)
10179
10180xnnpack_unit_test(
10181 name = "f32_vmaxc_test",
10182 srcs = [
10183 "test/f32-vmaxc.cc",
10184 "test/vbinaryc-microkernel-tester.h",
10185 ] + MICROKERNEL_TEST_HDRS,
10186 deps = MICROKERNEL_TEST_DEPS,
10187)
10188
10189xnnpack_unit_test(
10190 name = "f32_vmin_test",
10191 srcs = [
10192 "test/f32-vmin.cc",
10193 "test/vbinary-microkernel-tester.h",
10194 ] + MICROKERNEL_TEST_HDRS,
10195 deps = MICROKERNEL_TEST_DEPS,
10196)
10197
10198xnnpack_unit_test(
10199 name = "f32_vminc_test",
10200 srcs = [
10201 "test/f32-vminc.cc",
10202 "test/vbinaryc-microkernel-tester.h",
10203 ] + MICROKERNEL_TEST_HDRS,
10204 deps = MICROKERNEL_TEST_DEPS,
10205)
10206
10207xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010208 name = "f32_vmul_test",
10209 srcs = [
10210 "test/f32-vmul.cc",
10211 "test/vbinary-microkernel-tester.h",
10212 ] + MICROKERNEL_TEST_HDRS,
10213 deps = MICROKERNEL_TEST_DEPS,
10214)
10215
10216xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010217 name = "f32_vmul_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010218 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010219 "test/f32-vmul-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010220 "test/vbinary-microkernel-tester.h",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010221 ] + MICROKERNEL_TEST_HDRS,
10222 deps = MICROKERNEL_TEST_DEPS,
10223)
10224
10225xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010226 name = "f32_vmul_relu_test",
10227 srcs = [
10228 "test/f32-vmul-relu.cc",
10229 "test/vbinary-microkernel-tester.h",
10230 ] + MICROKERNEL_TEST_HDRS,
10231 deps = MICROKERNEL_TEST_DEPS,
10232)
10233
10234xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010235 name = "f32_vmulc_test",
10236 srcs = [
10237 "test/f32-vmulc.cc",
10238 "test/vbinaryc-microkernel-tester.h",
10239 ] + MICROKERNEL_TEST_HDRS,
10240 deps = MICROKERNEL_TEST_DEPS,
10241)
10242
10243xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010244 name = "f32_vmulc_minmax_test",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010245 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010246 "test/f32-vmulc-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010247 "test/vbinaryc-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010248 ] + MICROKERNEL_TEST_HDRS,
10249 deps = MICROKERNEL_TEST_DEPS,
10250)
10251
10252xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010253 name = "f32_vmulc_relu_test",
10254 srcs = [
10255 "test/f32-vmulc-relu.cc",
10256 "test/vbinaryc-microkernel-tester.h",
10257 ] + MICROKERNEL_TEST_HDRS,
10258 deps = MICROKERNEL_TEST_DEPS,
10259)
10260
10261xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -070010262 name = "f32_vmulcaddc_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010263 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -070010264 "test/f32-vmulcaddc-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010265 "test/vmulcaddc-microkernel-tester.h",
10266 "src/xnnpack/AlignedAllocator.h",
10267 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -070010268 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -070010269)
10270
10271xnnpack_unit_test(
Marat Dukhan8cc7efe2020-06-10 16:24:27 -070010272 name = "f32_vlrelu_test",
10273 srcs = [
10274 "test/f32-vlrelu.cc",
10275 "test/vunary-microkernel-tester.h",
10276 ] + MICROKERNEL_TEST_HDRS,
10277 deps = MICROKERNEL_TEST_DEPS,
10278)
10279
10280xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070010281 name = "f32_vneg_test",
10282 srcs = [
10283 "test/f32-vneg.cc",
10284 "test/vunary-microkernel-tester.h",
10285 ] + MICROKERNEL_TEST_HDRS,
10286 deps = MICROKERNEL_TEST_DEPS,
10287)
10288
10289xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -070010290 name = "f32_vrelu_test",
10291 srcs = [
10292 "test/f32-vrelu.cc",
10293 "test/vunary-microkernel-tester.h",
10294 ] + MICROKERNEL_TEST_HDRS,
10295 deps = MICROKERNEL_TEST_DEPS,
10296)
10297
10298xnnpack_unit_test(
Marat Dukhaneecf8fd2020-06-09 08:59:37 -070010299 name = "f32_vrndne_test",
10300 srcs = [
10301 "test/f32-vrndne.cc",
10302 "test/vunary-microkernel-tester.h",
10303 ] + MICROKERNEL_TEST_HDRS,
10304 deps = MICROKERNEL_TEST_DEPS,
10305)
10306
10307xnnpack_unit_test(
10308 name = "f32_vrndz_test",
10309 srcs = [
10310 "test/f32-vrndz.cc",
10311 "test/vunary-microkernel-tester.h",
10312 ] + MICROKERNEL_TEST_HDRS,
10313 deps = MICROKERNEL_TEST_DEPS,
10314)
10315
10316xnnpack_unit_test(
10317 name = "f32_vrndu_test",
10318 srcs = [
10319 "test/f32-vrndu.cc",
10320 "test/vunary-microkernel-tester.h",
10321 ] + MICROKERNEL_TEST_HDRS,
10322 deps = MICROKERNEL_TEST_DEPS,
10323)
10324
10325xnnpack_unit_test(
10326 name = "f32_vrndd_test",
10327 srcs = [
10328 "test/f32-vrndd.cc",
10329 "test/vunary-microkernel-tester.h",
10330 ] + MICROKERNEL_TEST_HDRS,
10331 deps = MICROKERNEL_TEST_DEPS,
10332)
10333
10334xnnpack_unit_test(
Marat Dukhan05ac8e32019-10-21 15:39:33 -070010335 name = "f32_vscale_test",
10336 srcs = [
10337 "test/f32-vscale.cc",
10338 "test/vscale-microkernel-tester.h",
10339 ] + MICROKERNEL_TEST_HDRS,
10340 deps = MICROKERNEL_TEST_DEPS,
10341)
10342
10343xnnpack_unit_test(
Marat Dukhan97579532019-10-18 16:40:39 -070010344 name = "f32_vscaleexpminusmax_test",
10345 srcs = [
10346 "test/f32-vscaleexpminusmax.cc",
10347 "test/vscaleexpminusmax-microkernel-tester.h",
10348 ] + MICROKERNEL_TEST_HDRS,
10349 deps = MICROKERNEL_TEST_DEPS,
10350)
10351
10352xnnpack_unit_test(
Marat Dukhan6f8d4d32019-10-25 17:07:09 -070010353 name = "f32_vscaleextexp_test",
10354 srcs = [
10355 "test/f32-vscaleextexp.cc",
10356 "test/vscaleextexp-microkernel-tester.h",
10357 ] + MICROKERNEL_TEST_HDRS,
10358 deps = MICROKERNEL_TEST_DEPS,
10359)
10360
10361xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -070010362 name = "f32_vsigmoid_test",
10363 srcs = [
10364 "test/f32-vsigmoid.cc",
10365 "test/vunary-microkernel-tester.h",
10366 ] + MICROKERNEL_TEST_HDRS,
10367 deps = MICROKERNEL_TEST_DEPS,
10368)
10369
10370xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070010371 name = "f32_vsqr_test",
10372 srcs = [
10373 "test/f32-vsqr.cc",
10374 "test/vunary-microkernel-tester.h",
10375 ] + MICROKERNEL_TEST_HDRS,
10376 deps = MICROKERNEL_TEST_DEPS,
10377)
10378
10379xnnpack_unit_test(
Marat Dukhan13bafb02020-06-05 00:43:11 -070010380 name = "f32_vsqrdiff_test",
10381 srcs = [
10382 "test/f32-vsqrdiff.cc",
10383 "test/vbinary-microkernel-tester.h",
10384 ] + MICROKERNEL_TEST_HDRS,
10385 deps = MICROKERNEL_TEST_DEPS,
10386)
10387
10388xnnpack_unit_test(
10389 name = "f32_vsqrdiffc_test",
10390 srcs = [
10391 "test/f32-vsqrdiffc.cc",
10392 "test/vbinaryc-microkernel-tester.h",
10393 ] + MICROKERNEL_TEST_HDRS,
10394 deps = MICROKERNEL_TEST_DEPS,
10395)
10396
10397xnnpack_unit_test(
Marat Dukhanf4db2f32020-06-30 10:55:30 -070010398 name = "f32_vsqrt_test",
10399 srcs = [
10400 "test/f32-vsqrt.cc",
10401 "test/vunary-microkernel-tester.h",
10402 ] + MICROKERNEL_TEST_HDRS,
10403 deps = MICROKERNEL_TEST_DEPS,
10404)
10405
10406xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010407 name = "f32_vsub_test",
10408 srcs = [
10409 "test/f32-vsub.cc",
10410 "test/vbinary-microkernel-tester.h",
10411 ] + MICROKERNEL_TEST_HDRS,
10412 deps = MICROKERNEL_TEST_DEPS,
10413)
10414
10415xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010416 name = "f32_vsub_minmax_test",
Marat Dukhan97579532019-10-18 16:40:39 -070010417 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010418 "test/f32-vsub-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010419 "test/vbinary-microkernel-tester.h",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010420 ] + MICROKERNEL_TEST_HDRS,
10421 deps = MICROKERNEL_TEST_DEPS,
10422)
10423
10424xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010425 name = "f32_vsub_relu_test",
10426 srcs = [
10427 "test/f32-vsub-relu.cc",
10428 "test/vbinary-microkernel-tester.h",
10429 ] + MICROKERNEL_TEST_HDRS,
10430 deps = MICROKERNEL_TEST_DEPS,
10431)
10432
10433xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010434 name = "f32_vsubc_test",
10435 srcs = [
10436 "test/f32-vsubc.cc",
10437 "test/vbinaryc-microkernel-tester.h",
10438 ] + MICROKERNEL_TEST_HDRS,
10439 deps = MICROKERNEL_TEST_DEPS,
10440)
10441
10442xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010443 name = "f32_vsubc_minmax_test",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010444 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010445 "test/f32-vsubc-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010446 "test/vbinaryc-microkernel-tester.h",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010447 ] + MICROKERNEL_TEST_HDRS,
10448 deps = MICROKERNEL_TEST_DEPS,
10449)
10450
10451xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010452 name = "f32_vsubc_relu_test",
10453 srcs = [
10454 "test/f32-vsubc-relu.cc",
10455 "test/vbinaryc-microkernel-tester.h",
10456 ] + MICROKERNEL_TEST_HDRS,
10457 deps = MICROKERNEL_TEST_DEPS,
10458)
10459
10460xnnpack_unit_test(
Frank Barchardd5b9f1c2020-07-01 15:00:19 -070010461 name = "f32_vrsubc_test",
10462 srcs = [
10463 "test/f32-vrsubc.cc",
10464 "test/vbinaryc-microkernel-tester.h",
10465 ] + MICROKERNEL_TEST_HDRS,
10466 deps = MICROKERNEL_TEST_DEPS,
10467)
10468
10469xnnpack_unit_test(
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010470 name = "f32_vrsubc_minmax_test",
Marat Dukhanc07cb7f2019-11-14 15:32:05 -080010471 srcs = [
Marat Dukhan91cd2b72020-04-09 23:57:31 -070010472 "test/f32-vrsubc-minmax.cc",
Marat Dukhan1e782c42019-11-21 17:02:40 -080010473 "test/vbinaryc-microkernel-tester.h",
Marat Dukhan97579532019-10-18 16:40:39 -070010474 ] + MICROKERNEL_TEST_HDRS,
10475 deps = MICROKERNEL_TEST_DEPS,
10476)
10477
10478xnnpack_unit_test(
Frank Barchard674778d2020-08-08 10:17:25 -070010479 name = "f32_vrsubc_relu_test",
10480 srcs = [
10481 "test/f32-vrsubc-relu.cc",
10482 "test/vbinaryc-microkernel-tester.h",
10483 ] + MICROKERNEL_TEST_HDRS,
10484 deps = MICROKERNEL_TEST_DEPS,
10485)
10486
10487xnnpack_unit_test(
Marat Dukhan82286892021-06-04 17:27:27 -070010488 name = "qc8_dwconv_minmax_fp32_test",
10489 timeout = "moderate",
10490 srcs = [
10491 "test/qc8-dwconv-minmax-fp32.cc",
10492 "test/dwconv-microkernel-tester.h",
10493 "src/xnnpack/AlignedAllocator.h",
10494 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010495 shard_count = 10,
Marat Dukhan82286892021-06-04 17:27:27 -070010496 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10497)
10498
10499xnnpack_unit_test(
Marat Dukhan0b043742021-06-02 18:29:11 -070010500 name = "qc8_gemm_minmax_fp32_test",
10501 timeout = "moderate",
10502 srcs = [
10503 "test/qc8-gemm-minmax-fp32.cc",
10504 "test/gemm-microkernel-tester.h",
10505 "src/xnnpack/AlignedAllocator.h",
10506 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010507 shard_count = 10,
Marat Dukhan0b043742021-06-02 18:29:11 -070010508 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10509)
10510
10511xnnpack_unit_test(
Marat Dukhane06c8132021-06-03 08:59:11 -070010512 name = "qc8_igemm_minmax_fp32_test",
10513 timeout = "moderate",
10514 srcs = [
10515 "test/qc8-igemm-minmax-fp32.cc",
10516 "test/gemm-microkernel-tester.h",
10517 "src/xnnpack/AlignedAllocator.h",
10518 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010519 shard_count = 10,
Marat Dukhane06c8132021-06-03 08:59:11 -070010520 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10521)
10522
10523xnnpack_unit_test(
Marat Dukhanbe18f5c2021-07-16 18:46:39 -070010524 name = "qs8_dwconv_minmax_fp32_test",
10525 srcs = [
10526 "test/qs8-dwconv-minmax-fp32.cc",
10527 "test/dwconv-microkernel-tester.h",
10528 "src/xnnpack/AlignedAllocator.h",
10529 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010530 shard_count = 10,
Marat Dukhanbe18f5c2021-07-16 18:46:39 -070010531 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10532)
10533
10534xnnpack_unit_test(
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010535 name = "qs8_dwconv_minmax_gemmlowp_test",
Marat Dukhanf62bbdc2020-08-04 13:59:04 -070010536 srcs = [
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010537 "test/qs8-dwconv-minmax-gemmlowp.cc",
Marat Dukhanf62bbdc2020-08-04 13:59:04 -070010538 "test/dwconv-microkernel-tester.h",
10539 "src/xnnpack/AlignedAllocator.h",
10540 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10541 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10542)
10543
10544xnnpack_unit_test(
Marat Dukhanbe18f5c2021-07-16 18:46:39 -070010545 name = "qs8_dwconv_minmax_rndnu_test",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010546 srcs = [
Marat Dukhanbe18f5c2021-07-16 18:46:39 -070010547 "test/qs8-dwconv-minmax-rndnu.cc",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010548 "test/dwconv-microkernel-tester.h",
10549 "src/xnnpack/AlignedAllocator.h",
10550 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10551 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10552)
10553
10554xnnpack_unit_test(
Marat Dukhan4ed53f42020-08-06 01:12:55 -070010555 name = "qs8_gavgpool_minmax_test",
10556 srcs = [
10557 "test/qs8-gavgpool-minmax.cc",
10558 "test/gavgpool-microkernel-tester.h",
10559 "src/xnnpack/AlignedAllocator.h",
10560 ] + MICROKERNEL_TEST_HDRS,
10561 deps = MICROKERNEL_TEST_DEPS,
10562)
10563
10564xnnpack_unit_test(
Marat Dukhane903dff2021-07-16 19:43:41 -070010565 name = "qs8_gemm_minmax_fp32_test",
10566 timeout = "moderate",
10567 srcs = [
10568 "test/qs8-gemm-minmax-fp32.cc",
10569 "test/gemm-microkernel-tester.h",
10570 "src/xnnpack/AlignedAllocator.h",
10571 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010572 shard_count = 10,
Marat Dukhane903dff2021-07-16 19:43:41 -070010573 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10574)
10575
10576xnnpack_unit_test(
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010577 name = "qs8_gemm_minmax_gemmlowp_test",
Marat Dukhan56fdb252021-05-24 13:44:00 -070010578 timeout = "moderate",
Marat Dukhan595e1702020-07-31 10:12:52 -070010579 srcs = [
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010580 "test/qs8-gemm-minmax-gemmlowp.cc",
Marat Dukhan595e1702020-07-31 10:12:52 -070010581 "test/gemm-microkernel-tester.h",
10582 "src/xnnpack/AlignedAllocator.h",
10583 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10584 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10585)
10586
10587xnnpack_unit_test(
Marat Dukhane903dff2021-07-16 19:43:41 -070010588 name = "qs8_gemm_minmax_rndnu_test",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010589 timeout = "moderate",
10590 srcs = [
Marat Dukhane903dff2021-07-16 19:43:41 -070010591 "test/qs8-gemm-minmax-rndnu.cc",
10592 "test/gemm-microkernel-tester.h",
10593 "src/xnnpack/AlignedAllocator.h",
10594 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10595 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10596)
10597
10598xnnpack_unit_test(
10599 name = "qs8_igemm_minmax_fp32_test",
10600 timeout = "moderate",
10601 srcs = [
10602 "test/qs8-igemm-minmax-fp32.cc",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010603 "test/gemm-microkernel-tester.h",
10604 "src/xnnpack/AlignedAllocator.h",
10605 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010606 shard_count = 10,
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010607 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10608)
10609
10610xnnpack_unit_test(
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010611 name = "qs8_igemm_minmax_gemmlowp_test",
Marat Dukhan56fdb252021-05-24 13:44:00 -070010612 timeout = "moderate",
Marat Dukhanf9480682020-07-31 14:50:24 -070010613 srcs = [
Marat Dukhanb07c26a2021-05-24 19:44:51 -070010614 "test/qs8-igemm-minmax-gemmlowp.cc",
Marat Dukhanf9480682020-07-31 14:50:24 -070010615 "test/gemm-microkernel-tester.h",
10616 "src/xnnpack/AlignedAllocator.h",
10617 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10618 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10619)
10620
10621xnnpack_unit_test(
Marat Dukhane903dff2021-07-16 19:43:41 -070010622 name = "qs8_igemm_minmax_rndnu_test",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010623 timeout = "moderate",
10624 srcs = [
Marat Dukhane903dff2021-07-16 19:43:41 -070010625 "test/qs8-igemm-minmax-rndnu.cc",
Marat Dukhan9b474cf2021-05-25 16:37:48 -070010626 "test/gemm-microkernel-tester.h",
10627 "src/xnnpack/AlignedAllocator.h",
10628 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10629 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10630)
10631
10632xnnpack_unit_test(
Marat Dukhanf9480682020-07-31 14:50:24 -070010633 name = "qs8_requantization_test",
10634 srcs = [
10635 "src/xnnpack/requantization-stubs.h",
10636 "test/qs8-requantization.cc",
10637 "test/requantization-tester.h",
10638 ] + MICROKERNEL_TEST_HDRS,
10639 deps = MICROKERNEL_TEST_DEPS,
10640)
10641
10642xnnpack_unit_test(
Marat Dukhand9f3ad42020-08-10 12:30:58 -070010643 name = "qs8_vadd_minmax_test",
10644 srcs = [
10645 "test/qs8-vadd-minmax.cc",
10646 "test/vadd-microkernel-tester.h",
10647 ] + MICROKERNEL_TEST_HDRS,
10648 deps = MICROKERNEL_TEST_DEPS,
10649)
10650
10651xnnpack_unit_test(
Marat Dukhan0270d9f2020-08-11 00:56:46 -070010652 name = "qs8_vaddc_minmax_test",
10653 srcs = [
10654 "test/qs8-vaddc-minmax.cc",
10655 "test/vaddc-microkernel-tester.h",
10656 ] + MICROKERNEL_TEST_HDRS,
10657 deps = MICROKERNEL_TEST_DEPS,
10658)
10659
10660xnnpack_unit_test(
Marat Dukhana212eac2021-08-02 09:58:04 -070010661 name = "qs8_vmul_minmax_fp32_test",
10662 srcs = [
10663 "test/qs8-vmul-minmax-fp32.cc",
10664 "test/vmul-microkernel-tester.h",
10665 ] + MICROKERNEL_TEST_HDRS,
10666 deps = MICROKERNEL_TEST_DEPS,
10667)
10668
10669xnnpack_unit_test(
10670 name = "qs8_vmulc_minmax_fp32_test",
10671 srcs = [
10672 "test/qs8-vmulc-minmax-fp32.cc",
10673 "test/vmulc-microkernel-tester.h",
10674 ] + MICROKERNEL_TEST_HDRS,
10675 deps = MICROKERNEL_TEST_DEPS,
10676)
10677
10678xnnpack_unit_test(
Marat Dukhan08b7a972020-07-14 18:17:29 -070010679 name = "qu8_avgpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010680 srcs = [
Marat Dukhan08b7a972020-07-14 18:17:29 -070010681 "test/qu8-avgpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010682 "test/avgpool-microkernel-tester.h",
10683 "src/xnnpack/AlignedAllocator.h",
10684 ] + MICROKERNEL_TEST_HDRS,
10685 deps = MICROKERNEL_TEST_DEPS,
10686)
10687
10688xnnpack_unit_test(
Marat Dukhan3c35f7a2021-07-08 18:55:42 -070010689 name = "qu8_dwconv_minmax_fp32_test",
10690 srcs = [
10691 "test/qu8-dwconv-minmax-fp32.cc",
10692 "test/dwconv-microkernel-tester.h",
10693 "src/xnnpack/AlignedAllocator.h",
10694 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10695 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10696)
10697
10698xnnpack_unit_test(
Marat Dukhan73a899a2021-07-27 00:10:38 -070010699 name = "qu8_dwconv_minmax_rndnu_test",
10700 srcs = [
10701 "test/qu8-dwconv-minmax-rndnu.cc",
10702 "test/dwconv-microkernel-tester.h",
10703 "src/xnnpack/AlignedAllocator.h",
10704 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10705 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10706)
10707
10708xnnpack_unit_test(
Marat Dukhan08b7a972020-07-14 18:17:29 -070010709 name = "qu8_gavgpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010710 srcs = [
Marat Dukhan08b7a972020-07-14 18:17:29 -070010711 "test/qu8-gavgpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010712 "test/gavgpool-microkernel-tester.h",
10713 "src/xnnpack/AlignedAllocator.h",
10714 ] + MICROKERNEL_TEST_HDRS,
10715 deps = MICROKERNEL_TEST_DEPS,
10716)
10717
10718xnnpack_unit_test(
Marat Dukhanef47f8d2021-07-02 15:08:32 -070010719 name = "qu8_gemm_minmax_fp32_test",
10720 srcs = [
10721 "test/qu8-gemm-minmax-fp32.cc",
10722 "test/gemm-microkernel-tester.h",
10723 "src/xnnpack/AlignedAllocator.h",
10724 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010725 shard_count = 10,
Marat Dukhanef47f8d2021-07-02 15:08:32 -070010726 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10727)
10728
10729xnnpack_unit_test(
Marat Dukhanc2e8f662021-07-01 17:06:34 -070010730 name = "qu8_gemm_minmax_gemmlowp_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010731 srcs = [
Marat Dukhanc2e8f662021-07-01 17:06:34 -070010732 "test/qu8-gemm-minmax-gemmlowp.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010733 "test/gemm-microkernel-tester.h",
10734 "src/xnnpack/AlignedAllocator.h",
10735 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Marat Dukhanab582382020-07-06 13:32:08 -070010736 deps = MICROKERNEL_TEST_DEPS + [":packing"],
Marat Dukhan08c4a432019-10-03 09:29:21 -070010737)
10738
10739xnnpack_unit_test(
Marat Dukhan173661d2021-07-26 23:47:08 -070010740 name = "qu8_gemm_minmax_rndnu_test",
10741 srcs = [
10742 "test/qu8-gemm-minmax-rndnu.cc",
10743 "test/gemm-microkernel-tester.h",
10744 "src/xnnpack/AlignedAllocator.h",
10745 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10746 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10747)
10748
10749xnnpack_unit_test(
10750 name = "qu8_igemm_minmax_fp32_test",
10751 srcs = [
10752 "test/qu8-igemm-minmax-fp32.cc",
10753 "test/gemm-microkernel-tester.h",
10754 "src/xnnpack/AlignedAllocator.h",
10755 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080010756 shard_count = 10,
Marat Dukhan173661d2021-07-26 23:47:08 -070010757 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10758)
10759
10760xnnpack_unit_test(
10761 name = "qu8_igemm_minmax_gemmlowp_test",
10762 srcs = [
10763 "test/qu8-igemm-minmax-gemmlowp.cc",
10764 "test/gemm-microkernel-tester.h",
10765 "src/xnnpack/AlignedAllocator.h",
10766 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10767 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10768)
10769
10770xnnpack_unit_test(
10771 name = "qu8_igemm_minmax_rndnu_test",
10772 srcs = [
10773 "test/qu8-igemm-minmax-rndnu.cc",
10774 "test/gemm-microkernel-tester.h",
10775 "src/xnnpack/AlignedAllocator.h",
10776 ] + WEIGHTS_PACK_HDRS + MICROKERNEL_TEST_HDRS,
10777 deps = MICROKERNEL_TEST_DEPS + [":packing"],
10778)
10779
10780xnnpack_unit_test(
Marat Dukhan5b69f8b2020-07-24 15:26:48 -070010781 name = "qu8_requantization_test",
10782 srcs = [
10783 "src/xnnpack/requantization-stubs.h",
10784 "test/qu8-requantization.cc",
10785 "test/requantization-tester.h",
10786 ] + MICROKERNEL_TEST_HDRS,
10787 deps = MICROKERNEL_TEST_DEPS,
10788)
10789
10790xnnpack_unit_test(
Marat Dukhan08b7a972020-07-14 18:17:29 -070010791 name = "qu8_vadd_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010792 srcs = [
Marat Dukhan08b7a972020-07-14 18:17:29 -070010793 "test/qu8-vadd-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010794 "test/vadd-microkernel-tester.h",
10795 ] + MICROKERNEL_TEST_HDRS,
10796 deps = MICROKERNEL_TEST_DEPS,
10797)
10798
10799xnnpack_unit_test(
Marat Dukhan76e78c82021-07-20 21:11:23 -070010800 name = "qu8_vaddc_minmax_test",
10801 srcs = [
10802 "test/qu8-vaddc-minmax.cc",
10803 "test/vaddc-microkernel-tester.h",
10804 ] + MICROKERNEL_TEST_HDRS,
10805 deps = MICROKERNEL_TEST_DEPS,
10806)
10807
10808xnnpack_unit_test(
Marat Dukhana212eac2021-08-02 09:58:04 -070010809 name = "qu8_vmul_minmax_fp32_test",
10810 srcs = [
10811 "test/qu8-vmul-minmax-fp32.cc",
10812 "test/vmul-microkernel-tester.h",
10813 ] + MICROKERNEL_TEST_HDRS,
10814 deps = MICROKERNEL_TEST_DEPS,
10815)
10816
10817xnnpack_unit_test(
10818 name = "qu8_vmulc_minmax_fp32_test",
10819 srcs = [
10820 "test/qu8-vmulc-minmax-fp32.cc",
10821 "test/vmulc-microkernel-tester.h",
10822 ] + MICROKERNEL_TEST_HDRS,
10823 deps = MICROKERNEL_TEST_DEPS,
10824)
10825
10826xnnpack_unit_test(
Marat Dukhancdb42a52021-11-22 20:09:32 -080010827 name = "s8_ibilinear_test",
10828 srcs = [
10829 "test/s8-ibilinear.cc",
10830 "test/ibilinear-microkernel-tester.h",
10831 "src/xnnpack/AlignedAllocator.h",
10832 ] + MICROKERNEL_TEST_HDRS,
10833 deps = MICROKERNEL_TEST_DEPS,
10834)
10835
10836xnnpack_unit_test(
Marat Dukhan23147532021-08-16 07:26:56 -070010837 name = "s8_maxpool_minmax_test",
10838 srcs = [
10839 "test/s8-maxpool-minmax.cc",
10840 "test/maxpool-microkernel-tester.h",
10841 ] + MICROKERNEL_TEST_HDRS,
10842 deps = MICROKERNEL_TEST_DEPS,
10843)
10844
10845xnnpack_unit_test(
Marat Dukhane79acb72021-08-16 19:03:53 -070010846 name = "s8_vclamp_test",
10847 srcs = [
10848 "test/s8-vclamp.cc",
10849 "test/vunary-microkernel-tester.h",
10850 ] + MICROKERNEL_TEST_HDRS,
10851 deps = MICROKERNEL_TEST_DEPS,
10852)
10853
10854xnnpack_unit_test(
Marat Dukhancdb42a52021-11-22 20:09:32 -080010855 name = "u8_ibilinear_test",
10856 srcs = [
10857 "test/u8-ibilinear.cc",
10858 "test/ibilinear-microkernel-tester.h",
10859 "src/xnnpack/AlignedAllocator.h",
10860 ] + MICROKERNEL_TEST_HDRS,
10861 deps = MICROKERNEL_TEST_DEPS,
10862)
10863
10864xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -070010865 name = "u8_lut32norm_test",
10866 srcs = [
10867 "test/u8-lut32norm.cc",
10868 "test/lut-norm-microkernel-tester.h",
10869 ] + MICROKERNEL_TEST_HDRS,
10870 deps = MICROKERNEL_TEST_DEPS,
10871)
10872
10873xnnpack_unit_test(
Marat Dukhan99936602020-04-11 16:47:01 -070010874 name = "u8_maxpool_minmax_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010875 srcs = [
Marat Dukhan99936602020-04-11 16:47:01 -070010876 "test/u8-maxpool-minmax.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010877 "test/maxpool-microkernel-tester.h",
10878 ] + MICROKERNEL_TEST_HDRS,
10879 deps = MICROKERNEL_TEST_DEPS,
10880)
10881
10882xnnpack_unit_test(
10883 name = "u8_rmax_test",
10884 srcs = [
10885 "test/u8-rmax.cc",
10886 "test/rmax-microkernel-tester.h",
10887 ] + MICROKERNEL_TEST_HDRS,
10888 deps = MICROKERNEL_TEST_DEPS,
10889)
10890
10891xnnpack_unit_test(
Marat Dukhan6674d692021-05-05 22:27:00 -070010892 name = "u8_vclamp_test",
10893 srcs = [
10894 "test/u8-vclamp.cc",
Marat Dukhana6c05162021-05-13 16:52:02 -070010895 "test/vunary-microkernel-tester.h",
Marat Dukhan6674d692021-05-05 22:27:00 -070010896 ] + MICROKERNEL_TEST_HDRS,
10897 deps = MICROKERNEL_TEST_DEPS,
10898)
10899
10900xnnpack_unit_test(
Marat Dukhan933051b2021-08-07 16:26:15 -070010901 name = "x8_lut_test",
Yury Kartynnike7841862020-11-04 18:22:18 -080010902 srcs = [
Marat Dukhan933051b2021-08-07 16:26:15 -070010903 "test/x8-lut.cc",
10904 "test/lut-microkernel-tester.h",
Yury Kartynnike7841862020-11-04 18:22:18 -080010905 ] + MICROKERNEL_TEST_HDRS,
10906 deps = MICROKERNEL_TEST_DEPS,
10907)
10908
10909xnnpack_unit_test(
Marat Dukhan933051b2021-08-07 16:26:15 -070010910 name = "x8_zip_test",
Marat Dukhan3bb3bfc2020-05-19 17:42:46 -070010911 srcs = [
Marat Dukhan933051b2021-08-07 16:26:15 -070010912 "test/x8-zip.cc",
10913 "test/zip-microkernel-tester.h",
10914 ] + MICROKERNEL_TEST_HDRS,
10915 deps = MICROKERNEL_TEST_DEPS,
10916)
10917
10918xnnpack_unit_test(
10919 name = "x32_depthtospace2d_chw2hwc_test",
10920 srcs = [
10921 "test/x32-depthtospace2d-chw2hwc.cc",
10922 "test/depthtospace-microkernel-tester.h",
Marat Dukhan3bb3bfc2020-05-19 17:42:46 -070010923 ] + MICROKERNEL_TEST_HDRS,
10924 deps = MICROKERNEL_TEST_DEPS,
10925)
10926
10927xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -070010928 name = "x32_packx_test",
10929 srcs = [
10930 "test/x32-packx.cc",
10931 "test/pack-microkernel-tester.h",
10932 "src/xnnpack/AlignedAllocator.h",
10933 ] + MICROKERNEL_TEST_HDRS,
10934 deps = MICROKERNEL_TEST_DEPS,
10935)
10936
10937xnnpack_unit_test(
Marat Dukhan08c4a432019-10-03 09:29:21 -070010938 name = "x32_unpool_test",
10939 srcs = [
10940 "test/x32-unpool.cc",
10941 "test/unpool-microkernel-tester.h",
10942 ] + MICROKERNEL_TEST_HDRS,
10943 deps = MICROKERNEL_TEST_DEPS,
10944)
10945
10946xnnpack_unit_test(
10947 name = "x32_zip_test",
10948 srcs = [
10949 "test/x32-zip.cc",
10950 "test/zip-microkernel-tester.h",
10951 ] + MICROKERNEL_TEST_HDRS,
10952 deps = MICROKERNEL_TEST_DEPS,
10953)
10954
10955xnnpack_unit_test(
Marat Dukhan933051b2021-08-07 16:26:15 -070010956 name = "xx_fill_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010957 srcs = [
Marat Dukhan933051b2021-08-07 16:26:15 -070010958 "test/xx-fill.cc",
10959 "test/fill-microkernel-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070010960 ] + MICROKERNEL_TEST_HDRS,
10961 deps = MICROKERNEL_TEST_DEPS,
10962)
10963
Marat Dukhan0461f2d2021-08-08 12:36:29 -070010964xnnpack_unit_test(
10965 name = "xx_pad_test",
10966 srcs = [
10967 "test/xx-pad.cc",
10968 "test/pad-microkernel-tester.h",
10969 ] + MICROKERNEL_TEST_HDRS,
10970 deps = MICROKERNEL_TEST_DEPS,
10971)
10972
Marat Dukhan20c3b922020-03-10 03:45:06 -070010973########################## Size tests for the library #########################
Marat Dukhan08c4a432019-10-03 09:29:21 -070010974
10975xnnpack_binary(
Marat Dukhan20c3b922020-03-10 03:45:06 -070010976 name = "operator_size_test",
10977 srcs = ["test/operator-size.c"],
Marat Dukhanf0cb70a2021-03-30 15:45:15 -070010978 deps = [":xnnpack_for_tfjs"],
Marat Dukhan08c4a432019-10-03 09:29:21 -070010979)
10980
Marat Dukhan20c3b922020-03-10 03:45:06 -070010981xnnpack_binary(
10982 name = "subgraph_size_test",
10983 srcs = ["test/subgraph-size.c"],
10984 deps = [":XNNPACK"],
10985)
10986
10987########################### Unit tests for operators ##########################
Marat Dukhan08c4a432019-10-03 09:29:21 -070010988
10989xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070010990 name = "abs_nc_test",
10991 srcs = [
10992 "test/abs-nc.cc",
10993 "test/abs-operator-tester.h",
10994 ],
10995 deps = OPERATOR_TEST_DEPS,
10996)
10997
10998xnnpack_unit_test(
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080010999 name = "add_nd_test",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -080011000 timeout = "moderate",
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080011001 srcs = [
11002 "test/add-nd.cc",
11003 "test/binary-elementwise-operator-tester.h",
11004 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011005 deps = OPERATOR_TEST_DEPS,
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080011006)
11007
11008xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011009 name = "argmax_pooling_nhwc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011010 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011011 "test/argmax-pooling-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011012 "test/argmax-pooling-operator-tester.h",
11013 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011014 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011015)
11016
11017xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011018 name = "average_pooling_nhwc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011019 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011020 "test/average-pooling-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011021 "test/average-pooling-operator-tester.h",
11022 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011023 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011024)
11025
11026xnnpack_unit_test(
Marat Dukhan64e52512020-06-09 13:41:16 -070011027 name = "bankers_rounding_nc_test",
11028 srcs = [
11029 "test/bankers-rounding-nc.cc",
11030 "test/bankers-rounding-operator-tester.h",
11031 ],
11032 deps = OPERATOR_TEST_DEPS,
11033)
11034
11035xnnpack_unit_test(
11036 name = "ceiling_nc_test",
11037 srcs = [
11038 "test/ceiling-nc.cc",
11039 "test/ceiling-operator-tester.h",
11040 ],
11041 deps = OPERATOR_TEST_DEPS,
11042)
11043
11044xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011045 name = "channel_shuffle_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011046 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011047 "test/channel-shuffle-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011048 "test/channel-shuffle-operator-tester.h",
11049 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011050 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011051)
11052
11053xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011054 name = "clamp_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011055 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011056 "test/clamp-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011057 "test/clamp-operator-tester.h",
11058 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011059 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011060)
11061
11062xnnpack_unit_test(
Marat Dukhan065b11e2020-05-22 09:49:41 -070011063 name = "constant_pad_nd_test",
11064 srcs = [
11065 "test/constant-pad-nd.cc",
11066 "test/constant-pad-operator-tester.h",
11067 ],
11068 deps = OPERATOR_TEST_DEPS,
11069)
11070
11071xnnpack_unit_test(
Marat Dukhanaf2ba002021-10-24 14:21:41 -070011072 name = "convert_nc_test",
11073 srcs = [
11074 "test/convert-nc.cc",
11075 "test/convert-operator-tester.h",
11076 ],
11077 deps = OPERATOR_TEST_DEPS,
11078)
11079
11080xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011081 name = "convolution_nhwc_test",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -080011082 timeout = "moderate",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011083 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011084 "test/convolution-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011085 "test/convolution-operator-tester.h",
11086 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011087 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011088)
11089
11090xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011091 name = "convolution_nchw_test",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -080011092 timeout = "moderate",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011093 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011094 "test/convolution-nchw.cc",
11095 "test/convolution-operator-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011096 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011097 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011098)
11099
11100xnnpack_unit_test(
Marat Dukhan4e21b272020-06-04 18:45:01 -070011101 name = "copy_nc_test",
11102 srcs = [
11103 "test/copy-nc.cc",
11104 "test/copy-operator-tester.h",
11105 ],
11106 deps = OPERATOR_TEST_DEPS,
11107)
11108
11109xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011110 name = "deconvolution_nhwc_test",
Artsiom Ablavatskic1aa2972020-12-08 11:23:34 -080011111 timeout = "moderate",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011112 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011113 "test/deconvolution-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011114 "test/deconvolution-operator-tester.h",
11115 ] + OPERATOR_TEST_PARAMS_HDRS,
Alan Kelly66210582021-11-23 00:57:36 -080011116 shard_count = 10,
Marat Dukhan1b354632020-03-23 12:50:22 -070011117 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011118)
11119
11120xnnpack_unit_test(
Marat Dukhan188d1042020-11-24 23:39:40 -080011121 name = "depth_to_space_nchw2nhwc_test",
Artsiom Ablavatski0f1dc182020-11-05 19:21:50 -080011122 srcs = [
Marat Dukhan188d1042020-11-24 23:39:40 -080011123 "test/depth-to-space-nchw2nhwc.cc",
Artsiom Ablavatski0f1dc182020-11-05 19:21:50 -080011124 "test/depth-to-space-operator-tester.h",
11125 ] + OPERATOR_TEST_PARAMS_HDRS,
11126 deps = OPERATOR_TEST_DEPS,
11127)
11128
11129xnnpack_unit_test(
Marat Dukhan0e521172020-11-25 13:10:04 -080011130 name = "depth_to_space_nhwc_test",
11131 srcs = [
11132 "test/depth-to-space-nhwc.cc",
11133 "test/depth-to-space-operator-tester.h",
11134 ] + OPERATOR_TEST_PARAMS_HDRS,
11135 deps = OPERATOR_TEST_DEPS,
11136)
11137
11138xnnpack_unit_test(
Marat Dukhan69180502019-12-06 15:00:31 -080011139 name = "divide_nd_test",
11140 srcs = [
11141 "test/binary-elementwise-operator-tester.h",
11142 "test/divide-nd.cc",
11143 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011144 deps = OPERATOR_TEST_DEPS,
Marat Dukhan69180502019-12-06 15:00:31 -080011145)
11146
11147xnnpack_unit_test(
Marat Dukhanb6bd4bc2020-12-01 17:01:40 -080011148 name = "elu_nc_test",
11149 srcs = [
11150 "test/elu-nc.cc",
11151 "test/elu-operator-tester.h",
11152 ],
11153 deps = OPERATOR_TEST_DEPS,
11154)
11155
11156xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011157 name = "fully_connected_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011158 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011159 "test/fully-connected-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011160 "test/fully-connected-operator-tester.h",
11161 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011162 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011163)
11164
11165xnnpack_unit_test(
Marat Dukhan64e52512020-06-09 13:41:16 -070011166 name = "floor_nc_test",
11167 srcs = [
11168 "test/floor-nc.cc",
11169 "test/floor-operator-tester.h",
11170 ],
11171 deps = OPERATOR_TEST_DEPS,
11172)
11173
11174xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011175 name = "global_average_pooling_nwc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011176 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011177 "test/global-average-pooling-nwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011178 "test/global-average-pooling-operator-tester.h",
Marat Dukhanef61d022020-06-19 13:54:49 -070011179 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011180 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011181)
11182
11183xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011184 name = "global_average_pooling_ncw_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011185 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011186 "test/global-average-pooling-ncw.cc",
11187 "test/global-average-pooling-operator-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011188 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011189 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011190)
11191
11192xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011193 name = "hardswish_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011194 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011195 "test/hardswish-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011196 "test/hardswish-operator-tester.h",
11197 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011198 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011199)
11200
11201xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011202 name = "leaky_relu_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011203 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011204 "test/leaky-relu-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011205 "test/leaky-relu-operator-tester.h",
11206 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011207 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011208)
11209
11210xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011211 name = "max_pooling_nhwc_test",
Artsiom Ablavatski2202c812021-01-22 14:16:43 -080011212 timeout = "moderate",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011213 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011214 "test/max-pooling-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011215 "test/max-pooling-operator-tester.h",
11216 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011217 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011218)
11219
11220xnnpack_unit_test(
Marat Dukhan79e7f842019-12-05 14:35:50 -080011221 name = "maximum_nd_test",
11222 srcs = [
11223 "test/binary-elementwise-operator-tester.h",
11224 "test/maximum-nd.cc",
11225 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011226 deps = OPERATOR_TEST_DEPS,
Marat Dukhan79e7f842019-12-05 14:35:50 -080011227)
11228
11229xnnpack_unit_test(
11230 name = "minimum_nd_test",
11231 srcs = [
11232 "test/binary-elementwise-operator-tester.h",
11233 "test/minimum-nd.cc",
11234 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011235 deps = OPERATOR_TEST_DEPS,
Marat Dukhan79e7f842019-12-05 14:35:50 -080011236)
11237
11238xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011239 name = "multiply_nd_test",
Marat Dukhancf557d42021-08-10 23:28:38 -070011240 timeout = "moderate",
Marat Dukhanca2733c2019-11-15 23:21:17 -080011241 srcs = [
Marat Dukhanb1a0fc32019-12-02 19:32:02 -080011242 "test/binary-elementwise-operator-tester.h",
Marat Dukhanefc47b82019-11-18 09:25:38 -080011243 "test/multiply-nd.cc",
Marat Dukhanca2733c2019-11-15 23:21:17 -080011244 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011245 deps = OPERATOR_TEST_DEPS,
Marat Dukhanca2733c2019-11-15 23:21:17 -080011246)
11247
11248xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070011249 name = "negate_nc_test",
11250 srcs = [
11251 "test/negate-nc.cc",
11252 "test/negate-operator-tester.h",
11253 ],
11254 deps = OPERATOR_TEST_DEPS,
11255)
11256
11257xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011258 name = "prelu_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011259 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011260 "test/prelu-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011261 "test/prelu-operator-tester.h",
11262 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011263 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011264)
11265
11266xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011267 name = "resize_bilinear_nhwc_test",
Marat Dukhan69722492019-11-11 19:55:50 -080011268 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011269 "test/resize-bilinear-nhwc.cc",
Marat Dukhan69722492019-11-11 19:55:50 -080011270 "test/resize-bilinear-operator-tester.h",
11271 ] + OPERATOR_TEST_PARAMS_HDRS,
Marat Dukhan1b354632020-03-23 12:50:22 -070011272 deps = OPERATOR_TEST_DEPS,
Marat Dukhan69722492019-11-11 19:55:50 -080011273)
11274
11275xnnpack_unit_test(
Artsiom Ablavatski97918102020-10-27 15:52:59 -070011276 name = "resize_bilinear_nchw_test",
11277 srcs = [
11278 "test/resize-bilinear-nchw.cc",
11279 "test/resize-bilinear-operator-tester.h",
11280 ] + OPERATOR_TEST_PARAMS_HDRS,
11281 deps = OPERATOR_TEST_DEPS,
11282)
11283
11284xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011285 name = "sigmoid_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011286 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011287 "test/sigmoid-nc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011288 "test/sigmoid-operator-tester.h",
11289 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011290 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011291)
11292
11293xnnpack_unit_test(
Marat Dukhanfd8e6892020-01-27 15:25:25 -080011294 name = "softmax_nc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011295 srcs = [
Marat Dukhanfd8e6892020-01-27 15:25:25 -080011296 "test/softmax-nc.cc",
11297 "test/softmax-operator-tester.h",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011298 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011299 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011300)
11301
11302xnnpack_unit_test(
Marat Dukhan5020b962020-06-08 13:30:10 -070011303 name = "square_nc_test",
11304 srcs = [
11305 "test/square-nc.cc",
11306 "test/square-operator-tester.h",
11307 ],
11308 deps = OPERATOR_TEST_DEPS,
11309)
11310
11311xnnpack_unit_test(
Marat Dukhan6804bbd2020-06-30 19:26:11 -070011312 name = "square_root_nc_test",
11313 srcs = [
11314 "test/square-root-nc.cc",
11315 "test/square-root-operator-tester.h",
11316 ],
11317 deps = OPERATOR_TEST_DEPS,
11318)
11319
11320xnnpack_unit_test(
Marat Dukhanf7399262020-06-05 10:58:44 -070011321 name = "squared_difference_nd_test",
11322 srcs = [
11323 "test/binary-elementwise-operator-tester.h",
11324 "test/squared-difference-nd.cc",
11325 ],
11326 deps = OPERATOR_TEST_DEPS,
11327)
11328
11329xnnpack_unit_test(
Marat Dukhan05f3f6d2019-12-03 15:13:53 -080011330 name = "subtract_nd_test",
11331 srcs = [
11332 "test/binary-elementwise-operator-tester.h",
11333 "test/subtract-nd.cc",
11334 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011335 deps = OPERATOR_TEST_DEPS,
Marat Dukhan05f3f6d2019-12-03 15:13:53 -080011336)
11337
11338xnnpack_unit_test(
Marat Dukhan5de7bc02021-09-09 19:04:01 -070011339 name = "tanh_nc_test",
11340 srcs = [
11341 "test/tanh-nc.cc",
11342 "test/tanh-operator-tester.h",
11343 ],
11344 deps = OPERATOR_TEST_DEPS,
11345)
11346
11347xnnpack_unit_test(
Marat Dukhan64e52512020-06-09 13:41:16 -070011348 name = "truncation_nc_test",
11349 srcs = [
11350 "test/truncation-nc.cc",
11351 "test/truncation-operator-tester.h",
11352 ],
11353 deps = OPERATOR_TEST_DEPS,
11354)
11355
11356xnnpack_unit_test(
Marat Dukhanefc47b82019-11-18 09:25:38 -080011357 name = "unpooling_nhwc_test",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011358 srcs = [
Marat Dukhanefc47b82019-11-18 09:25:38 -080011359 "test/unpooling-nhwc.cc",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011360 "test/unpooling-operator-tester.h",
11361 ],
Marat Dukhan1b354632020-03-23 12:50:22 -070011362 deps = OPERATOR_TEST_DEPS,
Marat Dukhan08c4a432019-10-03 09:29:21 -070011363)
11364
Chao Mei6ddfc602020-05-13 22:29:36 -070011365############################### Misc unit tests ###############################
11366
11367xnnpack_unit_test(
11368 name = "memory_planner_test",
11369 srcs = [
11370 "test/memory-planner-test.cc",
11371 ],
11372 deps = [
11373 ":XNNPACK",
11374 ":memory_planner",
11375 ],
11376)
11377
XNNPACK Teamab8c4c82020-10-09 08:05:51 -070011378xnnpack_unit_test(
11379 name = "subgraph_nchw_test",
11380 srcs = [
11381 "src/xnnpack/subgraph.h",
11382 "test/subgraph-nchw.cc",
11383 "test/subgraph-tester.h",
11384 ],
11385 deps = [
11386 ":XNNPACK",
11387 ],
11388)
11389
Marat Dukhan08c4a432019-10-03 09:29:21 -070011390############################# Build configurations #############################
11391
Marat Dukhanb8642352019-10-30 15:43:02 -070011392# Enables usage of assembly kernels.
Marat Dukhan08c4a432019-10-03 09:29:21 -070011393config_setting(
Marat Dukhanb8642352019-10-30 15:43:02 -070011394 name = "xnn_enable_assembly_explicit_true",
11395 define_values = {"xnn_enable_assembly": "true"},
11396)
11397
11398# Disables usage of assembly kernels.
11399config_setting(
11400 name = "xnn_enable_assembly_explicit_false",
11401 define_values = {"xnn_enable_assembly": "false"},
11402)
11403
Marat Dukhan9de90e02020-06-18 16:04:12 -070011404# Enables usage of sparse inference.
11405config_setting(
11406 name = "xnn_enable_sparse_explicit_true",
11407 define_values = {"xnn_enable_sparse": "true"},
11408)
11409
11410# Disables usage of sparse inference.
11411config_setting(
11412 name = "xnn_enable_sparse_explicit_false",
11413 define_values = {"xnn_enable_sparse": "false"},
11414)
11415
Marat Dukhan05702cf2020-03-26 15:41:33 -070011416# Disables usage of HMP-aware optimizations.
11417config_setting(
11418 name = "xnn_enable_hmp_explicit_false",
11419 define_values = {"xnn_enable_hmp": "false"},
11420)
11421
Chao Mei6ddfc602020-05-13 22:29:36 -070011422# Enable usage of optimized memory allocation
11423config_setting(
11424 name = "xnn_enable_memopt_explicit_true",
Marat Dukhan03f46212021-03-30 21:29:49 -070011425 define_values = {"xnn_enable_memopt": "true"},
Chao Mei6ddfc602020-05-13 22:29:36 -070011426)
11427
11428# Disable usage of optimized memory allocation
11429config_setting(
11430 name = "xnn_enable_memopt_explicit_false",
Marat Dukhan03f46212021-03-30 21:29:49 -070011431 define_values = {"xnn_enable_memopt": "false"},
Chao Mei6ddfc602020-05-13 22:29:36 -070011432)
11433
Marat Dukhanb939cdb2021-03-30 18:51:51 -070011434# Enable QS8 inference in TFLite-specific version
11435config_setting(
11436 name = "xnn_enable_qs8_explicit_true",
11437 define_values = {"xnn_enable_qs8": "true"},
11438)
11439
11440# Disable QS8 inference in TFLite-specific version
11441config_setting(
11442 name = "xnn_enable_qs8_explicit_false",
11443 define_values = {"xnn_enable_qs8": "false"},
11444)
11445
Marat Dukhan8c8c1592021-07-13 13:59:02 -070011446# Enable QU8 inference in TFLite-specific version
11447config_setting(
11448 name = "xnn_enable_qu8_explicit_true",
11449 define_values = {"xnn_enable_qu8": "true"},
11450)
11451
11452# Disable QU8 inference in TFLite-specific version
11453config_setting(
11454 name = "xnn_enable_qu8_explicit_false",
11455 define_values = {"xnn_enable_qu8": "false"},
11456)
11457
Marat Dukhan189c1d02021-09-03 15:39:54 -070011458# Target Chrome M87 instructions in WAsm SIMD build
11459config_setting(
11460 name = "xnn_wasmsimd_version_m87",
11461 define_values = {"xnn_wasmsimd_version": "m87"},
11462)
11463
11464# Target Chrome M88 instructions in WAsm SIMD build
11465config_setting(
11466 name = "xnn_wasmsimd_version_m88",
11467 define_values = {"xnn_wasmsimd_version": "m88"},
11468)
11469
11470# Target Chrome M91 instructions in WAsm SIMD build
11471config_setting(
11472 name = "xnn_wasmsimd_version_m91",
11473 define_values = {"xnn_wasmsimd_version": "m91"},
11474)
11475
Marat Dukhanb8642352019-10-30 15:43:02 -070011476# Builds with -c dbg
11477config_setting(
11478 name = "debug_build",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011479 values = {
Marat Dukhanb8642352019-10-30 15:43:02 -070011480 "compilation_mode": "dbg",
11481 },
11482)
11483
11484# Builds with -c opt
11485config_setting(
11486 name = "optimized_build",
11487 values = {
11488 "compilation_mode": "opt",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011489 },
11490)
11491
11492config_setting(
Marat Dukhan52e44432021-08-20 11:58:11 -070011493 name = "linux_arm64",
11494 values = {"cpu": "aarch64"},
11495)
11496
11497config_setting(
Marat Dukhanb8642352019-10-30 15:43:02 -070011498 name = "linux_k8",
11499 values = {"cpu": "k8"},
11500)
11501
11502config_setting(
Marat Dukhan582094e2020-04-30 17:21:25 -070011503 name = "linux_arm",
11504 values = {"cpu": "arm"},
Marat Dukhan4e45e662019-10-03 15:40:24 -070011505)
11506
11507config_setting(
Marat Dukhanf0bd4de2020-06-15 15:53:19 -070011508 name = "linux_armeabi",
11509 values = {"cpu": "armeabi"},
11510)
11511
11512config_setting(
Terry Heo68eef3f2020-04-13 22:53:52 -070011513 name = "linux_armhf",
11514 values = {"cpu": "armhf"},
11515)
11516
11517config_setting(
Marat Dukhana720e932020-06-10 13:01:11 -070011518 name = "linux_armv7a",
11519 values = {"cpu": "armv7a"},
11520)
11521
11522config_setting(
Marat Dukhan08c4a432019-10-03 09:29:21 -070011523 name = "android",
11524 values = {"crosstool_top": "//external:android/crosstool"},
11525)
11526
11527config_setting(
11528 name = "android_armv7",
11529 values = {
11530 "crosstool_top": "//external:android/crosstool",
11531 "cpu": "armeabi-v7a",
11532 },
11533)
11534
11535config_setting(
11536 name = "android_arm64",
11537 values = {
11538 "crosstool_top": "//external:android/crosstool",
11539 "cpu": "arm64-v8a",
11540 },
11541)
11542
11543config_setting(
11544 name = "android_x86",
11545 values = {
11546 "crosstool_top": "//external:android/crosstool",
11547 "cpu": "x86",
11548 },
11549)
11550
11551config_setting(
11552 name = "android_x86_64",
11553 values = {
11554 "crosstool_top": "//external:android/crosstool",
11555 "cpu": "x86_64",
11556 },
11557)
11558
11559config_setting(
Marat Dukhan10a38082020-04-17 03:58:35 -070011560 name = "windows_x86_64",
11561 values = {"cpu": "x64_windows"},
Marat Dukhan9fe932e2020-04-11 17:14:15 -070011562)
11563
11564config_setting(
Marat Dukhan10a38082020-04-17 03:58:35 -070011565 name = "windows_x86_64_clang",
11566 values = {
11567 "compiler": "clang-cl",
11568 "cpu": "x64_windows",
11569 },
11570)
11571
11572config_setting(
11573 name = "windows_x86_64_mingw",
11574 values = {
11575 "compiler": "mingw-gcc",
11576 "cpu": "x64_windows",
11577 },
11578)
11579
11580config_setting(
11581 name = "windows_x86_64_msys",
11582 values = {
11583 "compiler": "msys-gcc",
11584 "cpu": "x64_windows",
11585 },
Marat Dukhan9fe932e2020-04-11 17:14:15 -070011586)
11587
11588config_setting(
Marat Dukhan885ca242019-10-07 09:17:32 -070011589 name = "macos_x86_64",
11590 values = {
11591 "apple_platform_type": "macos",
11592 "cpu": "darwin",
11593 },
11594)
11595
11596config_setting(
Simon Maurerae33ab82021-03-03 23:38:22 +010011597 name = "macos_arm64",
11598 values = {
11599 "apple_platform_type": "macos",
11600 "cpu": "darwin_arm64",
11601 },
11602)
11603
11604config_setting(
Marat Dukhan08c4a432019-10-03 09:29:21 -070011605 name = "emscripten",
XNNPACK Team3bfbdaf2021-03-29 15:26:23 -070011606 values = {"crosstool_top": "@emsdk//emscripten_toolchain:everything"},
Marat Dukhan08c4a432019-10-03 09:29:21 -070011607)
11608
11609config_setting(
11610 name = "emscripten_wasm",
11611 values = {
XNNPACK Team3bfbdaf2021-03-29 15:26:23 -070011612 "crosstool_top": "@emsdk//emscripten_toolchain:everything",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011613 "cpu": "wasm",
11614 },
11615)
11616
11617config_setting(
11618 name = "emscripten_wasmsimd",
11619 values = {
XNNPACK Team3bfbdaf2021-03-29 15:26:23 -070011620 "crosstool_top": "@emsdk//emscripten_toolchain:everything",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011621 "cpu": "wasm",
Marat Dukhan81c62602020-05-29 13:22:49 -070011622 "copt": "-msimd128",
Marat Dukhan08c4a432019-10-03 09:29:21 -070011623 },
11624)
11625
11626config_setting(
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011627 name = "ios_armv7",
11628 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011629 "apple_platform_type": "ios",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011630 "cpu": "ios_armv7",
11631 },
11632)
11633
11634config_setting(
11635 name = "ios_arm64",
11636 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011637 "apple_platform_type": "ios",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011638 "cpu": "ios_arm64",
11639 },
11640)
11641
11642config_setting(
11643 name = "ios_arm64e",
11644 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011645 "apple_platform_type": "ios",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011646 "cpu": "ios_arm64e",
11647 },
11648)
11649
11650config_setting(
11651 name = "ios_x86",
11652 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011653 "apple_platform_type": "ios",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011654 "cpu": "ios_i386",
11655 },
11656)
11657
11658config_setting(
11659 name = "ios_x86_64",
11660 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011661 "apple_platform_type": "ios",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011662 "cpu": "ios_x86_64",
11663 },
11664)
11665
11666config_setting(
11667 name = "watchos_armv7k",
11668 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011669 "apple_platform_type": "watchos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011670 "cpu": "watchos_armv7k",
11671 },
11672)
11673
11674config_setting(
11675 name = "watchos_arm64_32",
11676 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011677 "apple_platform_type": "watchos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011678 "cpu": "watchos_arm64_32",
11679 },
11680)
11681
11682config_setting(
11683 name = "watchos_x86",
11684 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011685 "apple_platform_type": "watchos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011686 "cpu": "watchos_i386",
11687 },
11688)
11689
11690config_setting(
11691 name = "watchos_x86_64",
11692 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011693 "apple_platform_type": "watchos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011694 "cpu": "watchos_x86_64",
11695 },
11696)
11697
11698config_setting(
11699 name = "tvos_arm64",
11700 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011701 "apple_platform_type": "tvos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011702 "cpu": "tvos_arm64",
11703 },
11704)
11705
11706config_setting(
11707 name = "tvos_x86_64",
11708 values = {
Marat Dukhanf85fc332020-02-13 00:05:20 -080011709 "apple_platform_type": "tvos",
Marat Dukhan1498d1d2020-02-11 20:00:05 -080011710 "cpu": "tvos_x86_64",
11711 },
11712)