blob: 2575cf88daaf1fd149d07baa0d6055ca598e9e0c [file] [log] [blame]
Miao Wange9993472020-02-10 15:00:10 -08001// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15OPERATOR_SRCS = [
Miao Wangc0aa11a2020-06-10 13:41:26 -070016 "src/operators/argmax-pooling-nhwc.c",
17 "src/operators/average-pooling-nhwc.c",
18 "src/operators/binary-elementwise-nd.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070019 "src/operators/channel-shuffle-nc.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070020 "src/operators/constant-pad-nd.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070021 "src/operators/convolution-nchw.c",
22 "src/operators/convolution-nhwc.c",
23 "src/operators/deconvolution-nhwc.c",
Miao Wang5eea8312020-12-07 09:12:40 -080024 "src/operators/depth-to-space-nchw2nhwc.c",
25 "src/operators/depth-to-space-nhwc.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070026 "src/operators/fully-connected-nc.c",
27 "src/operators/global-average-pooling-ncw.c",
28 "src/operators/global-average-pooling-nwc.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070029 "src/operators/leaky-relu-nc.c",
30 "src/operators/max-pooling-nhwc.c",
31 "src/operators/prelu-nc.c",
Miao Wang5eea8312020-12-07 09:12:40 -080032 "src/operators/resize-bilinear-nchw.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070033 "src/operators/resize-bilinear-nhwc.c",
34 "src/operators/sigmoid-nc.c",
35 "src/operators/softmax-nc.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070036 "src/operators/unary-elementwise-nc.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -070037 "src/operators/unpooling-nhwc.c",
Miao Wange9993472020-02-10 15:00:10 -080038]
39
Miao Wang86f5fbe2020-07-24 11:16:10 -070040LOGGING_SRCS = [
41 "src/operator-strings.c",
42 "src/subgraph-strings.c",
43]
44
45SUBGRAPH_SRCS = [
46 "src/subgraph/abs.c",
47 "src/subgraph/add2.c",
48 "src/subgraph/argmax-pooling-2d.c",
49 "src/subgraph/average-pooling-2d.c",
50 "src/subgraph/bankers-rounding.c",
51 "src/subgraph/ceiling.c",
52 "src/subgraph/clamp.c",
53 "src/subgraph/convolution-2d.c",
54 "src/subgraph/deconvolution-2d.c",
Miao Wang5eea8312020-12-07 09:12:40 -080055 "src/subgraph/depth-to-space.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070056 "src/subgraph/depthwise-convolution-2d.c",
57 "src/subgraph/divide.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070058 "src/subgraph/floor.c",
Miao Wang5eea8312020-12-07 09:12:40 -080059 "src/subgraph/fully-connected.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070060 "src/subgraph/global-average-pooling-2d.c",
61 "src/subgraph/hardswish.c",
62 "src/subgraph/leaky-relu.c",
63 "src/subgraph/max-pooling-2d.c",
64 "src/subgraph/maximum2.c",
65 "src/subgraph/minimum2.c",
66 "src/subgraph/multiply2.c",
67 "src/subgraph/negate.c",
68 "src/subgraph/prelu.c",
69 "src/subgraph/sigmoid.c",
70 "src/subgraph/softmax.c",
Miao Wang5eea8312020-12-07 09:12:40 -080071 "src/subgraph/square-root.c",
72 "src/subgraph/square.c",
73 "src/subgraph/squared-difference.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070074 "src/subgraph/static-constant-pad.c",
75 "src/subgraph/static-reshape.c",
76 "src/subgraph/static-resize-bilinear-2d.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -070077 "src/subgraph/subtract.c",
78 "src/subgraph/unpooling-2d.c",
79]
80
Miao Wange9993472020-02-10 15:00:10 -080081TABLE_SRCS = [
82 "src/tables/exp2-k-over-64.c",
83 "src/tables/exp2-k-over-2048.c",
Miao Wang5eea8312020-12-07 09:12:40 -080084 "src/tables/exp2minus-k-over-4.c",
85 "src/tables/exp2minus-k-over-8.c",
86 "src/tables/exp2minus-k-over-16.c",
87 "src/tables/exp2minus-k-over-64.c",
88 "src/tables/exp2minus-k-over-2048.c",
Miao Wange9993472020-02-10 15:00:10 -080089]
90
91SCALAR_UKERNELS = [
92 "src/f32-argmaxpool/4x-scalar-c1.c",
93 "src/f32-argmaxpool/9p8x-scalar-c1.c",
94 "src/f32-argmaxpool/9x-scalar-c1.c",
Miao Wang400e4042020-04-17 10:15:59 -070095 "src/f32-avgpool/9p8x-minmax-scalar-c1.c",
96 "src/f32-avgpool/9x-minmax-scalar-c1.c",
Miao Wang2534c2f2020-03-16 11:58:04 -070097 "src/f32-clamp/gen/scalar-x1.c",
98 "src/f32-clamp/gen/scalar-x2.c",
99 "src/f32-clamp/gen/scalar-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800100 "src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c",
101 "src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700102 "src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c",
Miao Wang400e4042020-04-17 10:15:59 -0700103 "src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c",
104 "src/f32-dwconv/gen/up1x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800105 "src/f32-dwconv/gen/up1x4-scalar-acc2.c",
106 "src/f32-dwconv/gen/up1x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700107 "src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c",
108 "src/f32-dwconv/gen/up1x9-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800109 "src/f32-dwconv/gen/up1x9-scalar-acc2.c",
110 "src/f32-dwconv/gen/up1x9-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700111 "src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c",
112 "src/f32-dwconv/gen/up1x25-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800113 "src/f32-dwconv/gen/up1x25-scalar-acc2.c",
114 "src/f32-dwconv/gen/up1x25-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700115 "src/f32-dwconv/gen/up2x4-minmax-scalar-acc2.c",
116 "src/f32-dwconv/gen/up2x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800117 "src/f32-dwconv/gen/up2x4-scalar-acc2.c",
118 "src/f32-dwconv/gen/up2x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700119 "src/f32-dwconv/gen/up2x9-minmax-scalar-acc2.c",
120 "src/f32-dwconv/gen/up2x9-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800121 "src/f32-dwconv/gen/up2x9-scalar-acc2.c",
122 "src/f32-dwconv/gen/up2x9-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700123 "src/f32-dwconv/gen/up2x25-minmax-scalar-acc2.c",
124 "src/f32-dwconv/gen/up2x25-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800125 "src/f32-dwconv/gen/up2x25-scalar-acc2.c",
126 "src/f32-dwconv/gen/up2x25-scalar.c",
127 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc2.c",
128 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc3.c",
129 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc4.c",
130 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1.c",
131 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c",
132 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1.c",
133 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-3x1.c",
134 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c",
135 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-5x1.c",
136 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-6x1.c",
137 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c",
138 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc3.c",
139 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc4.c",
140 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1.c",
141 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c",
142 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1.c",
143 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-3x1.c",
144 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-4x1.c",
145 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc2.c",
146 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc3.c",
147 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc4.c",
148 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c",
149 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1.c",
150 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c",
151 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc3.c",
152 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1.c",
153 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1-acc2.c",
154 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1.c",
155 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc2.c",
156 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc3.c",
157 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc4.c",
158 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c",
159 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1.c",
160 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c",
161 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc3.c",
162 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1.c",
163 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1-acc2.c",
164 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700165 "src/f32-gavgpool-cw/scalar-x1.c",
Miao Wang400e4042020-04-17 10:15:59 -0700166 "src/f32-gavgpool/7p7x-minmax-scalar-c1.c",
167 "src/f32-gavgpool/7x-minmax-scalar-c1.c",
168 "src/f32-gemm/gen-inc/1x4inc-minmax-scalar.c",
169 "src/f32-gemm/gen-inc/2x4inc-minmax-scalar.c",
170 "src/f32-gemm/gen-inc/4x4inc-minmax-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700171 "src/f32-gemm/gen/1x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800172 "src/f32-gemm/gen/1x4-relu-scalar.c",
173 "src/f32-gemm/gen/1x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700174 "src/f32-gemm/gen/2x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800175 "src/f32-gemm/gen/2x4-relu-scalar.c",
176 "src/f32-gemm/gen/2x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700177 "src/f32-gemm/gen/4x2-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800178 "src/f32-gemm/gen/4x2-relu-scalar.c",
179 "src/f32-gemm/gen/4x2-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700180 "src/f32-gemm/gen/4x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800181 "src/f32-gemm/gen/4x4-relu-scalar.c",
182 "src/f32-gemm/gen/4x4-scalar.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700183 "src/f32-hswish/gen/hswish-scalar-x1.c",
184 "src/f32-hswish/gen/hswish-scalar-x2.c",
185 "src/f32-hswish/gen/hswish-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800186 "src/f32-ibilinear-chw/gen/scalar-p1.c",
187 "src/f32-ibilinear-chw/gen/scalar-p2.c",
188 "src/f32-ibilinear-chw/gen/scalar-p4.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700189 "src/f32-ibilinear/gen/scalar-c1.c",
190 "src/f32-ibilinear/gen/scalar-c2.c",
191 "src/f32-ibilinear/gen/scalar-c4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700192 "src/f32-igemm/gen/1x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800193 "src/f32-igemm/gen/1x4-relu-scalar.c",
194 "src/f32-igemm/gen/1x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700195 "src/f32-igemm/gen/2x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800196 "src/f32-igemm/gen/2x4-relu-scalar.c",
197 "src/f32-igemm/gen/2x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700198 "src/f32-igemm/gen/4x2-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800199 "src/f32-igemm/gen/4x2-relu-scalar.c",
200 "src/f32-igemm/gen/4x2-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700201 "src/f32-igemm/gen/4x4-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800202 "src/f32-igemm/gen/4x4-relu-scalar.c",
203 "src/f32-igemm/gen/4x4-scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700204 "src/f32-maxpool/9p8x-minmax-scalar-c1.c",
205 "src/f32-pavgpool/9p8x-minmax-scalar-c1.c",
206 "src/f32-pavgpool/9x-minmax-scalar-c1.c",
207 "src/f32-ppmm/gen/2x4-minmax-scalar.c",
208 "src/f32-ppmm/gen/3x3-minmax-scalar.c",
209 "src/f32-ppmm/gen/4x2-minmax-scalar.c",
210 "src/f32-ppmm/gen/4x4-minmax-scalar.c",
Miao Wange9993472020-02-10 15:00:10 -0800211 "src/f32-prelu/gen/scalar-2x1.c",
212 "src/f32-prelu/gen/scalar-2x4.c",
213 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x1.c",
Miao Wange9993472020-02-10 15:00:10 -0800214 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800215 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2.c",
Miao Wange9993472020-02-10 15:00:10 -0800216 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc2.c",
217 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800218 "src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800219 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x1.c",
Miao Wange9993472020-02-10 15:00:10 -0800220 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x2-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800221 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x2.c",
Miao Wange9993472020-02-10 15:00:10 -0800222 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc2.c",
223 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800224 "src/f32-raddstoreexpminusmax/gen/scalar-p5-x4.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700225 "src/f32-relu/gen/scalar-x1.c",
226 "src/f32-relu/gen/scalar-x2.c",
227 "src/f32-relu/gen/scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800228 "src/f32-relu/gen/scalar-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800229 "src/f32-rmax/scalar.c",
Miao Wange9993472020-02-10 15:00:10 -0800230 "src/f32-sigmoid/gen/scalar-lut64-p2-div-x1.c",
231 "src/f32-sigmoid/gen/scalar-lut64-p2-div-x2.c",
232 "src/f32-sigmoid/gen/scalar-lut64-p2-div-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800233 "src/f32-sigmoid/gen/scalar-lut2048-p1-div-x1.c",
234 "src/f32-sigmoid/gen/scalar-lut2048-p1-div-x2.c",
235 "src/f32-sigmoid/gen/scalar-lut2048-p1-div-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800236 "src/f32-sigmoid/gen/scalar-p5-div-x1.c",
237 "src/f32-sigmoid/gen/scalar-p5-div-x2.c",
238 "src/f32-sigmoid/gen/scalar-p5-div-x4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700239 "src/f32-spmm/gen/1x1-minmax-scalar-pipelined.c",
240 "src/f32-spmm/gen/1x1-minmax-scalar.c",
241 "src/f32-spmm/gen/2x1-minmax-scalar-pipelined.c",
242 "src/f32-spmm/gen/2x1-minmax-scalar.c",
243 "src/f32-spmm/gen/4x1-minmax-scalar-pipelined.c",
244 "src/f32-spmm/gen/4x1-minmax-scalar.c",
245 "src/f32-spmm/gen/8x1-minmax-scalar-pipelined.c",
246 "src/f32-spmm/gen/8x1-minmax-scalar.c",
247 "src/f32-spmm/gen/8x2-minmax-scalar.c",
248 "src/f32-spmm/gen/8x4-minmax-scalar.c",
249 "src/f32-vbinary/gen/vadd-minmax-scalar-x1.c",
250 "src/f32-vbinary/gen/vadd-minmax-scalar-x2.c",
251 "src/f32-vbinary/gen/vadd-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800252 "src/f32-vbinary/gen/vadd-minmax-scalar-x8.c",
253 "src/f32-vbinary/gen/vadd-relu-scalar-x1.c",
254 "src/f32-vbinary/gen/vadd-relu-scalar-x2.c",
255 "src/f32-vbinary/gen/vadd-relu-scalar-x4.c",
256 "src/f32-vbinary/gen/vadd-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700257 "src/f32-vbinary/gen/vadd-scalar-x1.c",
258 "src/f32-vbinary/gen/vadd-scalar-x2.c",
259 "src/f32-vbinary/gen/vadd-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800260 "src/f32-vbinary/gen/vadd-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700261 "src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c",
262 "src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c",
263 "src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800264 "src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c",
265 "src/f32-vbinary/gen/vaddc-relu-scalar-x1.c",
266 "src/f32-vbinary/gen/vaddc-relu-scalar-x2.c",
267 "src/f32-vbinary/gen/vaddc-relu-scalar-x4.c",
268 "src/f32-vbinary/gen/vaddc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700269 "src/f32-vbinary/gen/vaddc-scalar-x1.c",
270 "src/f32-vbinary/gen/vaddc-scalar-x2.c",
271 "src/f32-vbinary/gen/vaddc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800272 "src/f32-vbinary/gen/vaddc-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700273 "src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c",
274 "src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c",
275 "src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800276 "src/f32-vbinary/gen/vdiv-minmax-scalar-x8.c",
277 "src/f32-vbinary/gen/vdiv-relu-scalar-x1.c",
278 "src/f32-vbinary/gen/vdiv-relu-scalar-x2.c",
279 "src/f32-vbinary/gen/vdiv-relu-scalar-x4.c",
280 "src/f32-vbinary/gen/vdiv-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700281 "src/f32-vbinary/gen/vdiv-scalar-x1.c",
282 "src/f32-vbinary/gen/vdiv-scalar-x2.c",
283 "src/f32-vbinary/gen/vdiv-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800284 "src/f32-vbinary/gen/vdiv-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700285 "src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c",
286 "src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c",
287 "src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800288 "src/f32-vbinary/gen/vdivc-minmax-scalar-x8.c",
289 "src/f32-vbinary/gen/vdivc-relu-scalar-x1.c",
290 "src/f32-vbinary/gen/vdivc-relu-scalar-x2.c",
291 "src/f32-vbinary/gen/vdivc-relu-scalar-x4.c",
292 "src/f32-vbinary/gen/vdivc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700293 "src/f32-vbinary/gen/vdivc-scalar-x1.c",
294 "src/f32-vbinary/gen/vdivc-scalar-x2.c",
295 "src/f32-vbinary/gen/vdivc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800296 "src/f32-vbinary/gen/vdivc-scalar-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800297 "src/f32-vbinary/gen/vmax-scalar-x1.c",
298 "src/f32-vbinary/gen/vmax-scalar-x2.c",
299 "src/f32-vbinary/gen/vmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800300 "src/f32-vbinary/gen/vmax-scalar-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800301 "src/f32-vbinary/gen/vmaxc-scalar-x1.c",
302 "src/f32-vbinary/gen/vmaxc-scalar-x2.c",
303 "src/f32-vbinary/gen/vmaxc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800304 "src/f32-vbinary/gen/vmaxc-scalar-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800305 "src/f32-vbinary/gen/vmin-scalar-x1.c",
306 "src/f32-vbinary/gen/vmin-scalar-x2.c",
307 "src/f32-vbinary/gen/vmin-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800308 "src/f32-vbinary/gen/vmin-scalar-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800309 "src/f32-vbinary/gen/vminc-scalar-x1.c",
310 "src/f32-vbinary/gen/vminc-scalar-x2.c",
311 "src/f32-vbinary/gen/vminc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800312 "src/f32-vbinary/gen/vminc-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700313 "src/f32-vbinary/gen/vmul-minmax-scalar-x1.c",
314 "src/f32-vbinary/gen/vmul-minmax-scalar-x2.c",
315 "src/f32-vbinary/gen/vmul-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800316 "src/f32-vbinary/gen/vmul-minmax-scalar-x8.c",
317 "src/f32-vbinary/gen/vmul-relu-scalar-x1.c",
318 "src/f32-vbinary/gen/vmul-relu-scalar-x2.c",
319 "src/f32-vbinary/gen/vmul-relu-scalar-x4.c",
320 "src/f32-vbinary/gen/vmul-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700321 "src/f32-vbinary/gen/vmul-scalar-x1.c",
322 "src/f32-vbinary/gen/vmul-scalar-x2.c",
323 "src/f32-vbinary/gen/vmul-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800324 "src/f32-vbinary/gen/vmul-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700325 "src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c",
326 "src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c",
327 "src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800328 "src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c",
329 "src/f32-vbinary/gen/vmulc-relu-scalar-x1.c",
330 "src/f32-vbinary/gen/vmulc-relu-scalar-x2.c",
331 "src/f32-vbinary/gen/vmulc-relu-scalar-x4.c",
332 "src/f32-vbinary/gen/vmulc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700333 "src/f32-vbinary/gen/vmulc-scalar-x1.c",
334 "src/f32-vbinary/gen/vmulc-scalar-x2.c",
335 "src/f32-vbinary/gen/vmulc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800336 "src/f32-vbinary/gen/vmulc-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700337 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c",
338 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c",
339 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800340 "src/f32-vbinary/gen/vrdivc-minmax-scalar-x8.c",
341 "src/f32-vbinary/gen/vrdivc-relu-scalar-x1.c",
342 "src/f32-vbinary/gen/vrdivc-relu-scalar-x2.c",
343 "src/f32-vbinary/gen/vrdivc-relu-scalar-x4.c",
344 "src/f32-vbinary/gen/vrdivc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700345 "src/f32-vbinary/gen/vrdivc-scalar-x1.c",
346 "src/f32-vbinary/gen/vrdivc-scalar-x2.c",
347 "src/f32-vbinary/gen/vrdivc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800348 "src/f32-vbinary/gen/vrdivc-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700349 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c",
350 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c",
351 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800352 "src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c",
353 "src/f32-vbinary/gen/vrsubc-relu-scalar-x1.c",
354 "src/f32-vbinary/gen/vrsubc-relu-scalar-x2.c",
355 "src/f32-vbinary/gen/vrsubc-relu-scalar-x4.c",
356 "src/f32-vbinary/gen/vrsubc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700357 "src/f32-vbinary/gen/vrsubc-scalar-x1.c",
358 "src/f32-vbinary/gen/vrsubc-scalar-x2.c",
359 "src/f32-vbinary/gen/vrsubc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800360 "src/f32-vbinary/gen/vrsubc-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700361 "src/f32-vbinary/gen/vsqrdiff-scalar-x1.c",
362 "src/f32-vbinary/gen/vsqrdiff-scalar-x2.c",
363 "src/f32-vbinary/gen/vsqrdiff-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800364 "src/f32-vbinary/gen/vsqrdiff-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700365 "src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c",
366 "src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c",
367 "src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800368 "src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700369 "src/f32-vbinary/gen/vsub-minmax-scalar-x1.c",
370 "src/f32-vbinary/gen/vsub-minmax-scalar-x2.c",
371 "src/f32-vbinary/gen/vsub-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800372 "src/f32-vbinary/gen/vsub-minmax-scalar-x8.c",
373 "src/f32-vbinary/gen/vsub-relu-scalar-x1.c",
374 "src/f32-vbinary/gen/vsub-relu-scalar-x2.c",
375 "src/f32-vbinary/gen/vsub-relu-scalar-x4.c",
376 "src/f32-vbinary/gen/vsub-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700377 "src/f32-vbinary/gen/vsub-scalar-x1.c",
378 "src/f32-vbinary/gen/vsub-scalar-x2.c",
379 "src/f32-vbinary/gen/vsub-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800380 "src/f32-vbinary/gen/vsub-scalar-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700381 "src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c",
382 "src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c",
383 "src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800384 "src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c",
385 "src/f32-vbinary/gen/vsubc-relu-scalar-x1.c",
386 "src/f32-vbinary/gen/vsubc-relu-scalar-x2.c",
387 "src/f32-vbinary/gen/vsubc-relu-scalar-x4.c",
388 "src/f32-vbinary/gen/vsubc-relu-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700389 "src/f32-vbinary/gen/vsubc-scalar-x1.c",
390 "src/f32-vbinary/gen/vsubc-scalar-x2.c",
391 "src/f32-vbinary/gen/vsubc-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800392 "src/f32-vbinary/gen/vsubc-scalar-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700393 "src/f32-vlrelu/gen/vlrelu-scalar-x1.c",
394 "src/f32-vlrelu/gen/vlrelu-scalar-x2.c",
395 "src/f32-vlrelu/gen/vlrelu-scalar-x4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700396 "src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c",
397 "src/f32-vmulcaddc/gen/c2-minmax-scalar-2x.c",
398 "src/f32-vmulcaddc/gen/c4-minmax-scalar-2x.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700399 "src/f32-vrnd/gen/vrndd-scalar-libm-x1.c",
400 "src/f32-vrnd/gen/vrndd-scalar-libm-x2.c",
401 "src/f32-vrnd/gen/vrndd-scalar-libm-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800402 "src/f32-vrnd/gen/vrndne-scalar-libm-x1.c",
403 "src/f32-vrnd/gen/vrndne-scalar-libm-x2.c",
404 "src/f32-vrnd/gen/vrndne-scalar-libm-x4.c",
405 "src/f32-vrnd/gen/vrndu-scalar-libm-x1.c",
406 "src/f32-vrnd/gen/vrndu-scalar-libm-x2.c",
407 "src/f32-vrnd/gen/vrndu-scalar-libm-x4.c",
408 "src/f32-vrnd/gen/vrndz-scalar-libm-x1.c",
409 "src/f32-vrnd/gen/vrndz-scalar-libm-x2.c",
410 "src/f32-vrnd/gen/vrndz-scalar-libm-x4.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700411 "src/f32-vsqrt/gen/scalar-sqrt-x1.c",
412 "src/f32-vsqrt/gen/scalar-sqrt-x2.c",
413 "src/f32-vsqrt/gen/scalar-sqrt-x4.c",
414 "src/f32-vunary/gen/vabs-scalar-x1.c",
415 "src/f32-vunary/gen/vabs-scalar-x2.c",
416 "src/f32-vunary/gen/vabs-scalar-x4.c",
417 "src/f32-vunary/gen/vneg-scalar-x1.c",
418 "src/f32-vunary/gen/vneg-scalar-x2.c",
419 "src/f32-vunary/gen/vneg-scalar-x4.c",
420 "src/f32-vunary/gen/vsqr-scalar-x1.c",
421 "src/f32-vunary/gen/vsqr-scalar-x2.c",
422 "src/f32-vunary/gen/vsqr-scalar-x4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800423 "src/math/expm1minus-scalar-rr2-lut4-p4.c",
424 "src/math/expm1minus-scalar-rr2-lut8-p3.c",
425 "src/math/expm1minus-scalar-rr2-lut8-p4.c",
426 "src/math/expm1minus-scalar-rr2-lut16-p3.c",
427 "src/math/expm1minus-scalar-rr2-lut16-p4.c",
428 "src/math/expm1minus-scalar-rr2-p5.c",
429 "src/math/expm1minus-scalar-rr2-p6.c",
430 "src/math/expminus-scalar-rr2-lut64-p2.c",
431 "src/math/expminus-scalar-rr2-lut2048-p1.c",
432 "src/math/expminus-scalar-rr2-p5.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700433 "src/math/roundd-scalar-addsub.c",
434 "src/math/roundd-scalar-cvt.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700435 "src/math/roundd-scalar-floor.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800436 "src/math/roundne-scalar-addsub.c",
437 "src/math/roundne-scalar-nearbyint.c",
438 "src/math/roundne-scalar-rint.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700439 "src/math/roundu-scalar-addsub.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700440 "src/math/roundu-scalar-ceil.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700441 "src/math/roundu-scalar-cvt.c",
442 "src/math/roundz-scalar-addsub.c",
443 "src/math/roundz-scalar-cvt.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700444 "src/math/roundz-scalar-trunc.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800445 "src/math/sigmoid-scalar-rr2-lut64-p2-div.c",
446 "src/math/sigmoid-scalar-rr2-lut2048-p1-div.c",
447 "src/math/sigmoid-scalar-rr2-p5-div.c",
448 "src/qs8-gemm/gen/8x8c4-minmax-scalar.c",
449 "src/qs8-gemm/gen/12x4c4-minmax-scalar.c",
450 "src/qs8-requantization/fp32-scalar-lrintf.c",
451 "src/qs8-requantization/fp32-scalar-magic.c",
452 "src/qs8-requantization/precise-scalar-signed64.c",
453 "src/qs8-requantization/precise-scalar-unsigned32.c",
454 "src/qs8-requantization/precise-scalar-unsigned64.c",
455 "src/qs8-requantization/q31-scalar.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700456 "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
457 "src/qu8-avgpool/9x-minmax-scalar-c1.c",
458 "src/qu8-dwconv/up1x9-minmax-scalar.c",
459 "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
460 "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
461 "src/qu8-gemm/2x2-minmax-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800462 "src/qu8-gemm/gen/8x8c4-minmax-scalar.c",
463 "src/qu8-gemm/gen/12x4c4-minmax-scalar.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700464 "src/qu8-igemm/2x2-minmax-scalar.c",
465 "src/qu8-requantization/fp32-scalar-lrintf.c",
466 "src/qu8-requantization/fp32-scalar-magic.c",
467 "src/qu8-requantization/precise-scalar-signed64.c",
468 "src/qu8-requantization/precise-scalar-unsigned32.c",
469 "src/qu8-requantization/precise-scalar-unsigned64.c",
470 "src/qu8-requantization/q31-scalar.c",
471 "src/qu8-vadd/minmax-scalar.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700472 "src/u8-clamp/scalar-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800473 "src/u8-lut32norm/scalar.c",
Miao Wang400e4042020-04-17 10:15:59 -0700474 "src/u8-maxpool/9p8x-minmax-scalar-c1.c",
Miao Wange9993472020-02-10 15:00:10 -0800475 "src/u8-rmax/scalar.c",
Miao Wange9993472020-02-10 15:00:10 -0800476 "src/x8-lut/scalar.c",
477 "src/x8-zip/x2-scalar.c",
478 "src/x8-zip/x3-scalar.c",
479 "src/x8-zip/x4-scalar.c",
480 "src/x8-zip/xm-scalar.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800481 "src/x32-depthtospace2d-chw2hwc/scalar.c",
482 "src/x32-fill/scalar-float.c",
483 "src/x32-fill/scalar-int.c",
484 "src/x32-packx/x2-scalar.c",
485 "src/x32-packx/x3-scalar.c",
486 "src/x32-packx/x4-scalar.c",
487 "src/x32-pad/scalar-float.c",
488 "src/x32-pad/scalar-int.c",
489 "src/x32-unpool/scalar.c",
490 "src/x32-zip/x2-scalar.c",
491 "src/x32-zip/x3-scalar.c",
492 "src/x32-zip/x4-scalar.c",
493 "src/x32-zip/xm-scalar.c",
494 "src/xx-copy/memcpy.c",
Miao Wange9993472020-02-10 15:00:10 -0800495]
496
497PSIMD_ACCMATH_UKERNELS = [
Miao Wang5eea8312020-12-07 09:12:40 -0800498 "src/qs8-requantization/fp32-psimd.c",
499 "src/qs8-requantization/precise-psimd.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700500 "src/qu8-requantization/fp32-psimd.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800501 "src/qu8-requantization/precise-psimd.c",
Miao Wange9993472020-02-10 15:00:10 -0800502]
503
504// ISA-specific micro-kernels
505NEON_UKERNELS = [
Miao Wang86f5fbe2020-07-24 11:16:10 -0700506 "src/f32-argmaxpool/4x-neon-c4.c",
507 "src/f32-argmaxpool/9p8x-neon-c4.c",
508 "src/f32-argmaxpool/9x-neon-c4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700509 "src/f32-avgpool/9p8x-minmax-neon-c4.c",
510 "src/f32-avgpool/9x-minmax-neon-c4.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700511 "src/f32-clamp/gen/neon-x4.c",
512 "src/f32-clamp/gen/neon-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700513 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700514 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800515 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700516 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x2.c",
517 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700518 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800519 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x1.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700520 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x2.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700521 "src/f32-dwconv/gen/up4x4-minmax-neon-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800522 "src/f32-dwconv/gen/up4x4-minmax-neon.c",
Miao Wang400e4042020-04-17 10:15:59 -0700523 "src/f32-dwconv/gen/up4x9-minmax-neon-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800524 "src/f32-dwconv/gen/up4x9-minmax-neon.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700525 "src/f32-dwconv/gen/up4x25-minmax-neon-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800526 "src/f32-dwconv/gen/up4x25-minmax-neon.c",
527 "src/f32-dwconv/gen/up8x4-minmax-neon-acc2.c",
528 "src/f32-dwconv/gen/up8x4-minmax-neon.c",
529 "src/f32-dwconv/gen/up8x9-minmax-neon-acc2.c",
530 "src/f32-dwconv/gen/up8x9-minmax-neon.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700531 "src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800532 "src/f32-dwconv/gen/up8x25-minmax-neon.c",
533 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc2.c",
534 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc3.c",
535 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc4.c",
536 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4.c",
537 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4-acc2.c",
538 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c",
539 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-3x4.c",
540 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-4x4.c",
541 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-5x4.c",
542 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-6x4.c",
543 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc2.c",
544 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc3.c",
545 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc4.c",
546 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c",
547 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4-acc2.c",
548 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4.c",
549 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-3x4.c",
550 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-4x4.c",
551 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc2.c",
552 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc3.c",
553 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc4.c",
554 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc5.c",
555 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c",
556 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc2.c",
557 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc3.c",
558 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4.c",
559 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4-acc2.c",
560 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4.c",
561 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4-acc2.c",
562 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4.c",
563 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-5x4.c",
564 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc2.c",
565 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc3.c",
566 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc4.c",
567 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc5.c",
568 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c",
569 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc2.c",
570 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc3.c",
571 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4.c",
572 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4-acc2.c",
573 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700574 "src/f32-gavgpool-cw/neon-x4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700575 "src/f32-gavgpool/7p7x-minmax-neon-c4.c",
576 "src/f32-gavgpool/7x-minmax-neon-c4.c",
Miao Wang400e4042020-04-17 10:15:59 -0700577 "src/f32-gemm/gen-inc/1x8inc-minmax-neon-dup-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800578 "src/f32-gemm/gen-inc/1x8inc-minmax-neon-lane-ld64.c",
579 "src/f32-gemm/gen-inc/1x8s4inc-minmax-neon.c",
Miao Wang400e4042020-04-17 10:15:59 -0700580 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800581 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld128.c",
582 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld64.c",
583 "src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld128.c",
584 "src/f32-gemm/gen-inc/4x8s4inc-minmax-neon.c",
585 "src/f32-gemm/gen-inc/5x8inc-minmax-neon-lane-ld64.c",
Miao Wang400e4042020-04-17 10:15:59 -0700586 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld64.c",
587 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld128.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800588 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld64.c",
589 "src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -0700590 "src/f32-gemm/gen-inc/6x8s4inc-minmax-neon.c",
591 "src/f32-gemm/gen-inc/8x8s4inc-minmax-neon.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800592 "src/f32-gemm/gen/1x8-minmax-neon-dup-ld64.c",
593 "src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c",
594 "src/f32-gemm/gen/1x8s4-minmax-neon.c",
595 "src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c",
596 "src/f32-gemm/gen/4x8-minmax-neon-dup-ld64.c",
597 "src/f32-gemm/gen/4x8-minmax-neon-dup-ld128.c",
598 "src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c",
599 "src/f32-gemm/gen/4x8-minmax-neon-lane-ld128.c",
600 "src/f32-gemm/gen/4x8s4-minmax-neon.c",
601 "src/f32-gemm/gen/5x8-minmax-neon-lane-ld64.c",
602 "src/f32-gemm/gen/6x8-minmax-neon-dup-ld64.c",
603 "src/f32-gemm/gen/6x8-minmax-neon-dup-ld128.c",
604 "src/f32-gemm/gen/6x8-minmax-neon-lane-ld64.c",
605 "src/f32-gemm/gen/6x8-minmax-neon-lane-ld128.c",
606 "src/f32-gemm/gen/6x8s4-minmax-neon.c",
607 "src/f32-gemm/gen/8x8s4-minmax-neon.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700608 "src/f32-hswish/gen/hswish-neon-x4.c",
609 "src/f32-hswish/gen/hswish-neon-x8.c",
610 "src/f32-hswish/gen/hswish-neon-x16.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700611 "src/f32-ibilinear/gen/neon-c4.c",
612 "src/f32-ibilinear/gen/neon-c8.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800613 "src/f32-igemm/gen/1x8-minmax-neon-dup-ld64.c",
Miao Wang400e4042020-04-17 10:15:59 -0700614 "src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800615 "src/f32-igemm/gen/1x8s4-minmax-neon.c",
Miao Wang400e4042020-04-17 10:15:59 -0700616 "src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c",
617 "src/f32-igemm/gen/4x4-minmax-neon-lane-ld64.c",
Miao Wang400e4042020-04-17 10:15:59 -0700618 "src/f32-igemm/gen/4x8-minmax-neon-dup-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800619 "src/f32-igemm/gen/4x8-minmax-neon-dup-ld128.c",
620 "src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c",
621 "src/f32-igemm/gen/4x8-minmax-neon-lane-ld128.c",
622 "src/f32-igemm/gen/4x8s4-minmax-neon.c",
Miao Wang400e4042020-04-17 10:15:59 -0700623 "src/f32-igemm/gen/6x8-minmax-neon-dup-ld64.c",
624 "src/f32-igemm/gen/6x8-minmax-neon-dup-ld128.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800625 "src/f32-igemm/gen/6x8-minmax-neon-lane-ld64.c",
626 "src/f32-igemm/gen/6x8-minmax-neon-lane-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -0700627 "src/f32-igemm/gen/6x8s4-minmax-neon.c",
628 "src/f32-igemm/gen/8x8s4-minmax-neon.c",
629 "src/f32-maxpool/9p8x-minmax-neon-c4.c",
630 "src/f32-pavgpool/9p8x-minmax-neon-c4.c",
631 "src/f32-pavgpool/9x-minmax-neon-c4.c",
632 "src/f32-ppmm/gen/4x8-minmax-neon.c",
633 "src/f32-ppmm/gen/8x8-minmax-neon.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700634 "src/f32-prelu/gen/neon-1x4.c",
635 "src/f32-prelu/gen/neon-1x8.c",
636 "src/f32-prelu/gen/neon-1x16.c",
Miao Wange9993472020-02-10 15:00:10 -0800637 "src/f32-prelu/gen/neon-2x4.c",
638 "src/f32-prelu/gen/neon-2x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700639 "src/f32-prelu/gen/neon-2x16.c",
640 "src/f32-prelu/gen/neon-4x4.c",
641 "src/f32-prelu/gen/neon-4x8.c",
642 "src/f32-prelu/gen/neon-4x16.c",
Miao Wange9993472020-02-10 15:00:10 -0800643 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800644 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800645 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800646 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc2.c",
647 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800648 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12.c",
Miao Wange9993472020-02-10 15:00:10 -0800649 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc2.c",
650 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800651 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16.c",
Miao Wange9993472020-02-10 15:00:10 -0800652 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc2.c",
653 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800654 "src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20.c",
655 "src/f32-raddstoreexpminusmax/gen/neon-p5-x4.c",
656 "src/f32-raddstoreexpminusmax/gen/neon-p5-x8-acc2.c",
657 "src/f32-raddstoreexpminusmax/gen/neon-p5-x8.c",
658 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc2.c",
659 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc3.c",
660 "src/f32-raddstoreexpminusmax/gen/neon-p5-x12.c",
661 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc2.c",
662 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc4.c",
663 "src/f32-raddstoreexpminusmax/gen/neon-p5-x16.c",
664 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc2.c",
665 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc5.c",
666 "src/f32-raddstoreexpminusmax/gen/neon-p5-x20.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700667 "src/f32-relu/gen/neon-x4.c",
668 "src/f32-relu/gen/neon-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800669 "src/f32-rmax/neon.c",
670 "src/f32-sigmoid/gen/neon-frac-p9-p10-nr1recps-x16.c",
Miao Wange9993472020-02-10 15:00:10 -0800671 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x4.c",
672 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x8.c",
673 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x12.c",
674 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x16.c",
675 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x20.c",
676 "src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x24.c",
677 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x4.c",
678 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x8.c",
679 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x12.c",
680 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x16.c",
681 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x20.c",
682 "src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x24.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800683 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x4.c",
684 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x8.c",
685 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x12.c",
686 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x16.c",
687 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x20.c",
688 "src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x24.c",
Miao Wang400e4042020-04-17 10:15:59 -0700689 "src/f32-vbinary/gen/vadd-minmax-neon-x4.c",
690 "src/f32-vbinary/gen/vadd-minmax-neon-x8.c",
691 "src/f32-vbinary/gen/vaddc-minmax-neon-x4.c",
692 "src/f32-vbinary/gen/vaddc-minmax-neon-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800693 "src/f32-vbinary/gen/vmax-neon-x4.c",
694 "src/f32-vbinary/gen/vmax-neon-x8.c",
695 "src/f32-vbinary/gen/vmaxc-neon-x4.c",
696 "src/f32-vbinary/gen/vmaxc-neon-x8.c",
697 "src/f32-vbinary/gen/vmin-neon-x4.c",
698 "src/f32-vbinary/gen/vmin-neon-x8.c",
699 "src/f32-vbinary/gen/vminc-neon-x4.c",
700 "src/f32-vbinary/gen/vminc-neon-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700701 "src/f32-vbinary/gen/vmul-minmax-neon-x4.c",
702 "src/f32-vbinary/gen/vmul-minmax-neon-x8.c",
703 "src/f32-vbinary/gen/vmulc-minmax-neon-x4.c",
704 "src/f32-vbinary/gen/vmulc-minmax-neon-x8.c",
705 "src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c",
706 "src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700707 "src/f32-vbinary/gen/vsqrdiff-neon-x4.c",
708 "src/f32-vbinary/gen/vsqrdiff-neon-x8.c",
709 "src/f32-vbinary/gen/vsqrdiffc-neon-x4.c",
710 "src/f32-vbinary/gen/vsqrdiffc-neon-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700711 "src/f32-vbinary/gen/vsub-minmax-neon-x4.c",
712 "src/f32-vbinary/gen/vsub-minmax-neon-x8.c",
713 "src/f32-vbinary/gen/vsubc-minmax-neon-x4.c",
714 "src/f32-vbinary/gen/vsubc-minmax-neon-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700715 "src/f32-vlrelu/gen/vlrelu-neon-x4.c",
716 "src/f32-vlrelu/gen/vlrelu-neon-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700717 "src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c",
718 "src/f32-vmulcaddc/gen/c8-minmax-neon-2x.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700719 "src/f32-vrnd/gen/vrndd-neon-x4.c",
720 "src/f32-vrnd/gen/vrndd-neon-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800721 "src/f32-vrnd/gen/vrndne-neon-x4.c",
722 "src/f32-vrnd/gen/vrndne-neon-x8.c",
723 "src/f32-vrnd/gen/vrndu-neon-x4.c",
724 "src/f32-vrnd/gen/vrndu-neon-x8.c",
725 "src/f32-vrnd/gen/vrndz-neon-x4.c",
726 "src/f32-vrnd/gen/vrndz-neon-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700727 "src/f32-vunary/gen/vabs-neon-x4.c",
728 "src/f32-vunary/gen/vabs-neon-x8.c",
729 "src/f32-vunary/gen/vneg-neon-x4.c",
730 "src/f32-vunary/gen/vneg-neon-x8.c",
731 "src/f32-vunary/gen/vsqr-neon-x4.c",
732 "src/f32-vunary/gen/vsqr-neon-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800733 "src/math/expm1minus-neon-rr2-lut16-p3.c",
734 "src/math/expm1minus-neon-rr2-p6.c",
735 "src/math/roundd-neon-addsub.c",
736 "src/math/roundd-neon-cvt.c",
737 "src/math/roundne-neon-addsub.c",
738 "src/math/roundu-neon-addsub.c",
739 "src/math/roundu-neon-cvt.c",
740 "src/math/roundz-neon-addsub.c",
741 "src/math/roundz-neon-cvt.c",
742 "src/math/sigmoid-neon-frac-p9-p10-nr1recps.c",
743 "src/math/sigmoid-neon-rr1-lut64-p2-nr2recps.c",
744 "src/math/sigmoid-neon-rr1-lut2048-p1-nr2recps.c",
745 "src/math/sigmoid-neon-rr1-p5-nr2recps.c",
746 "src/math/sigmoid-neon-rr2-lut64-p2-nr2recps.c",
747 "src/math/sigmoid-neon-rr2-lut2048-p1-nr2recps.c",
748 "src/math/sigmoid-neon-rr2-p5-nr2recps.c",
749 "src/math/sqrt-neon-nr1rsqrts.c",
750 "src/math/sqrt-neon-nr2rsqrts.c",
751 "src/math/sqrt-neon-nr3rsqrts.c",
752 "src/qs8-dwconv/gen/up8x9-minmax-neon-mul16.c",
753 "src/qs8-dwconv/gen/up16x9-minmax-neon-mul16.c",
754 "src/qs8-dwconv/gen/up24x9-minmax-neon-mul16.c",
755 "src/qs8-dwconv/gen/up32x9-minmax-neon-mul16.c",
756 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c8-acc2.c",
757 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c16-acc2.c",
758 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c24-acc2.c",
759 "src/qs8-gavgpool/gen/7p7x-minmax-neon-c32-acc2.c",
760 "src/qs8-gavgpool/gen/7x-minmax-neon-c8-acc2.c",
761 "src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c",
762 "src/qs8-gavgpool/gen/7x-minmax-neon-c24-acc2.c",
763 "src/qs8-gavgpool/gen/7x-minmax-neon-c32-acc2.c",
764 "src/qs8-gemm/gen/1x8-minmax-neon-mlal-lane.c",
765 "src/qs8-gemm/gen/1x16-minmax-neon-mlal-lane.c",
766 "src/qs8-gemm/gen/2x8-minmax-neon-mlal-lane.c",
767 "src/qs8-gemm/gen/2x16-minmax-neon-mlal-lane.c",
768 "src/qs8-igemm/gen/1x8-minmax-neon-mlal-lane.c",
769 "src/qs8-igemm/gen/1x16-minmax-neon-mlal-lane.c",
770 "src/qs8-igemm/gen/2x8-minmax-neon-mlal-lane.c",
771 "src/qs8-igemm/gen/2x16-minmax-neon-mlal-lane.c",
772 "src/qs8-requantization/fp32-neon.c",
773 "src/qs8-requantization/precise-neon.c",
774 "src/qs8-requantization/q31-neon.c",
775 "src/qs8-vadd/gen/minmax-neon-ld64-x8.c",
776 "src/qs8-vadd/gen/minmax-neon-ld64-x16.c",
777 "src/qs8-vadd/gen/minmax-neon-ld64-x24.c",
778 "src/qs8-vadd/gen/minmax-neon-ld64-x32.c",
779 "src/qs8-vaddc/gen/minmax-neon-ld64-x8.c",
780 "src/qs8-vaddc/gen/minmax-neon-ld64-x16.c",
781 "src/qs8-vaddc/gen/minmax-neon-ld64-x24.c",
782 "src/qs8-vaddc/gen/minmax-neon-ld64-x32.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700783 "src/qu8-avgpool/9p8x-minmax-neon-c8.c",
784 "src/qu8-avgpool/9x-minmax-neon-c8.c",
785 "src/qu8-dwconv/up8x9-minmax-neon.c",
786 "src/qu8-gavgpool/7p7x-minmax-neon-c8.c",
787 "src/qu8-gavgpool/7x-minmax-neon-c8.c",
788 "src/qu8-gemm/4x8-minmax-neon.c",
789 "src/qu8-gemm/8x8-minmax-neon.c",
790 "src/qu8-igemm/4x8-minmax-neon.c",
791 "src/qu8-igemm/8x8-minmax-neon.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700792 "src/qu8-requantization/fp32-neon.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800793 "src/qu8-requantization/precise-neon.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700794 "src/qu8-requantization/q31-neon.c",
795 "src/qu8-vadd/minmax-neon.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700796 "src/u8-clamp/neon-x64.c",
Miao Wang400e4042020-04-17 10:15:59 -0700797 "src/u8-maxpool/9p8x-minmax-neon-c16.c",
Miao Wange9993472020-02-10 15:00:10 -0800798 "src/u8-rmax/neon.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800799 "src/x8-zip/x2-neon.c",
800 "src/x8-zip/x3-neon.c",
801 "src/x8-zip/x4-neon.c",
802 "src/x8-zip/xm-neon.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700803 "src/x32-fill/neon.c",
Miao Wange9993472020-02-10 15:00:10 -0800804 "src/x32-packx/x4-neon-st4.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700805 "src/x32-pad/neon.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -0700806 "src/x32-unpool/neon.c",
Miao Wange9993472020-02-10 15:00:10 -0800807 "src/x32-zip/x2-neon.c",
808 "src/x32-zip/x3-neon.c",
809 "src/x32-zip/x4-neon.c",
810 "src/x32-zip/xm-neon.c",
Miao Wange9993472020-02-10 15:00:10 -0800811]
812
813NEONFMA_UKERNELS = [
Miao Wang5eea8312020-12-07 09:12:40 -0800814 "src/f32-dwconv/gen/up4x4-minmax-neonfma-acc2.c",
815 "src/f32-dwconv/gen/up4x4-minmax-neonfma.c",
816 "src/f32-dwconv/gen/up4x9-minmax-neonfma-acc2.c",
817 "src/f32-dwconv/gen/up4x9-minmax-neonfma.c",
818 "src/f32-dwconv/gen/up4x25-minmax-neonfma-acc2.c",
819 "src/f32-dwconv/gen/up4x25-minmax-neonfma.c",
820 "src/f32-dwconv/gen/up8x4-minmax-neonfma-acc2.c",
821 "src/f32-dwconv/gen/up8x4-minmax-neonfma.c",
822 "src/f32-dwconv/gen/up8x9-minmax-neonfma-acc2.c",
823 "src/f32-dwconv/gen/up8x9-minmax-neonfma.c",
824 "src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c",
825 "src/f32-dwconv/gen/up8x25-minmax-neonfma.c",
826 "src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-dup-ld64.c",
827 "src/f32-gemm/gen-inc/1x8s4inc-minmax-neonfma.c",
828 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld64.c",
829 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld128.c",
830 "src/f32-gemm/gen-inc/4x8s4inc-minmax-neonfma.c",
831 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld64.c",
832 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld128.c",
833 "src/f32-gemm/gen-inc/6x8s4inc-minmax-neonfma.c",
834 "src/f32-gemm/gen-inc/8x8s4inc-minmax-neonfma.c",
835 "src/f32-gemm/gen/1x8-minmax-neonfma-dup-ld64.c",
836 "src/f32-gemm/gen/1x8s4-minmax-neonfma.c",
837 "src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld64.c",
838 "src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld128.c",
839 "src/f32-gemm/gen/4x8s4-minmax-neonfma.c",
840 "src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld64.c",
841 "src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld128.c",
842 "src/f32-gemm/gen/6x8s4-minmax-neonfma.c",
843 "src/f32-gemm/gen/8x8s4-minmax-neonfma.c",
Miao Wang2534c2f2020-03-16 11:58:04 -0700844 "src/f32-ibilinear/gen/neonfma-c4.c",
845 "src/f32-ibilinear/gen/neonfma-c8.c",
Miao Wang400e4042020-04-17 10:15:59 -0700846 "src/f32-igemm/gen/1x8-minmax-neonfma-dup-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800847 "src/f32-igemm/gen/1x8s4-minmax-neonfma.c",
Miao Wang400e4042020-04-17 10:15:59 -0700848 "src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800849 "src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld128.c",
850 "src/f32-igemm/gen/4x8s4-minmax-neonfma.c",
Miao Wang400e4042020-04-17 10:15:59 -0700851 "src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld64.c",
852 "src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -0700853 "src/f32-igemm/gen/6x8s4-minmax-neonfma.c",
854 "src/f32-igemm/gen/8x8s4-minmax-neonfma.c",
Miao Wang400e4042020-04-17 10:15:59 -0700855 "src/f32-ppmm/gen/4x8-minmax-neonfma.c",
856 "src/f32-ppmm/gen/8x8-minmax-neonfma.c",
Miao Wange9993472020-02-10 15:00:10 -0800857 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x4.c",
Miao Wange9993472020-02-10 15:00:10 -0800858 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800859 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8.c",
Miao Wange9993472020-02-10 15:00:10 -0800860 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc2.c",
861 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800862 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12.c",
Miao Wange9993472020-02-10 15:00:10 -0800863 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc2.c",
864 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800865 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16.c",
Miao Wange9993472020-02-10 15:00:10 -0800866 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc2.c",
867 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800868 "src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20.c",
869 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x4.c",
870 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8-acc2.c",
871 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8.c",
872 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc2.c",
873 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc3.c",
874 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12.c",
875 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc2.c",
876 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc4.c",
877 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16.c",
878 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc2.c",
879 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc5.c",
880 "src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20.c",
Miao Wange9993472020-02-10 15:00:10 -0800881 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x4.c",
882 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x8.c",
883 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x12.c",
884 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x16.c",
885 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x20.c",
886 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x24.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800887 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x4.c",
888 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x8.c",
889 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x12.c",
890 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x16.c",
891 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x20.c",
892 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x24.c",
Miao Wange9993472020-02-10 15:00:10 -0800893 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x4.c",
894 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x8.c",
895 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x12.c",
896 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x16.c",
897 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x20.c",
898 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x24.c",
Miao Wange9993472020-02-10 15:00:10 -0800899 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x4.c",
900 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x8.c",
901 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x12.c",
902 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x16.c",
903 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x20.c",
904 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x24.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800905 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x4.c",
906 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x8.c",
907 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x12.c",
908 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x16.c",
909 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x20.c",
910 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x24.c",
Miao Wange9993472020-02-10 15:00:10 -0800911 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x4.c",
912 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x8.c",
913 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x12.c",
914 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x16.c",
915 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x20.c",
916 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x24.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800917 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x4.c",
918 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x8.c",
919 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x12.c",
920 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x16.c",
921 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x20.c",
922 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x24.c",
923 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x4.c",
924 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x8.c",
925 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x12.c",
926 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x16.c",
927 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x20.c",
928 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x24.c",
929 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x4.c",
930 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x8.c",
931 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x12.c",
932 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x16.c",
933 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x20.c",
934 "src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x24.c",
Miao Wang400e4042020-04-17 10:15:59 -0700935 "src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c",
936 "src/f32-vmulcaddc/gen/c8-minmax-neonfma-2x.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700937 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x4.c",
938 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x8.c",
939 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x12.c",
940 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x16.c",
941 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x20.c",
942 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x24.c",
943 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x28.c",
944 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x32.c",
945 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x36.c",
946 "src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x40.c",
947 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x4.c",
948 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x8.c",
949 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x12.c",
950 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x16.c",
951 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x20.c",
952 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x24.c",
953 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x28.c",
954 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x32.c",
955 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x36.c",
956 "src/f32-vsqrt/gen/neonfma-nr2fma1adj-x40.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800957 "src/math/exp-neonfma-rr2-lut64-p2.c",
958 "src/math/exp-neonfma-rr2-p5.c",
959 "src/math/expminus-neonfma-rr2-lut64-p2.c",
960 "src/math/expminus-neonfma-rr2-lut2048-p1.c",
961 "src/math/expminus-neonfma-rr2-p5.c",
962 "src/math/expm1minus-neonfma-rr1-lut16-p3.c",
963 "src/math/expm1minus-neonfma-rr1-p6.c",
Miao Wange9993472020-02-10 15:00:10 -0800964 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr1recps1fma.c",
965 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr2fma.c",
966 "src/math/sigmoid-neonfma-rr1-lut64-p2-nr2recps.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800967 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma.c",
968 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2fma.c",
969 "src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2recps.c",
Miao Wange9993472020-02-10 15:00:10 -0800970 "src/math/sigmoid-neonfma-rr1-p5-nr1recps1fma.c",
971 "src/math/sigmoid-neonfma-rr1-p5-nr2fma.c",
972 "src/math/sigmoid-neonfma-rr1-p5-nr2recps.c",
Miao Wange9993472020-02-10 15:00:10 -0800973 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr1recps1fma.c",
974 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr2fma.c",
975 "src/math/sigmoid-neonfma-rr2-lut64-p2-nr2recps.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800976 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr1recps1fma.c",
977 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2fma.c",
978 "src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2recps.c",
Miao Wange9993472020-02-10 15:00:10 -0800979 "src/math/sigmoid-neonfma-rr2-p5-nr1recps1fma.c",
980 "src/math/sigmoid-neonfma-rr2-p5-nr2fma.c",
981 "src/math/sigmoid-neonfma-rr2-p5-nr2recps.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700982 "src/math/sqrt-neonfma-nr1fma.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -0700983 "src/math/sqrt-neonfma-nr1rsqrts1fma1adj.c",
Miao Wang5eea8312020-12-07 09:12:40 -0800984 "src/math/sqrt-neonfma-nr2fma.c",
985 "src/math/sqrt-neonfma-nr2fma1adj.c",
986 "src/math/sqrt-neonfma-nr3fma.c",
Miao Wange9993472020-02-10 15:00:10 -0800987]
988
989AARCH64_NEONFMA_UKERNELS = [
Miao Wang5eea8312020-12-07 09:12:40 -0800990 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x1.c",
991 "src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x2.c",
992 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x1.c",
993 "src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x2.c",
994 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x1.c",
995 "src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x2.c",
996 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x1.c",
997 "src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x2.c",
998 "src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c",
999 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc2.c",
1000 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc3.c",
1001 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc4.c",
1002 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4.c",
1003 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4-acc2.c",
1004 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4.c",
1005 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c",
1006 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-4x4.c",
1007 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-5x4.c",
1008 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-6x4.c",
1009 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc2.c",
1010 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc3.c",
1011 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc4.c",
1012 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4.c",
1013 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c",
1014 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4.c",
1015 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-3x4.c",
1016 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-4x4.c",
1017 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc2.c",
1018 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc3.c",
1019 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc4.c",
1020 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc5.c",
1021 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4.c",
1022 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc2.c",
1023 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc3.c",
1024 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4.c",
1025 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4-acc2.c",
1026 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4.c",
1027 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4-acc2.c",
1028 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c",
1029 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-5x4.c",
1030 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c",
1031 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc3.c",
1032 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc4.c",
1033 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc5.c",
1034 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4.c",
1035 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc2.c",
1036 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc3.c",
1037 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4.c",
1038 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4-acc2.c",
1039 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4.c",
Miao Wang400e4042020-04-17 10:15:59 -07001040 "src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-lane-ld64.c",
Miao Wang400e4042020-04-17 10:15:59 -07001041 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001042 "src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -07001043 "src/f32-gemm/gen-inc/5x8inc-minmax-neonfma-lane-ld64.c",
1044 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld64.c",
1045 "src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld128.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001046 "src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c",
1047 "src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c",
1048 "src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld64.c",
1049 "src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld128.c",
1050 "src/f32-gemm/gen/5x8-minmax-neonfma-lane-ld64.c",
1051 "src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c",
1052 "src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -07001053 "src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c",
1054 "src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c",
1055 "src/f32-igemm/gen/4x4-minmax-neonfma-lane-ld64.c",
Miao Wang400e4042020-04-17 10:15:59 -07001056 "src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld64.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001057 "src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld128.c",
Miao Wang400e4042020-04-17 10:15:59 -07001058 "src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c",
1059 "src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld128.c",
Miao Wange9993472020-02-10 15:00:10 -08001060 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x4.c",
1061 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x8.c",
1062 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x12.c",
1063 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x16.c",
1064 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x20.c",
1065 "src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x24.c",
1066 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x4.c",
1067 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x8.c",
1068 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x12.c",
1069 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x16.c",
1070 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x20.c",
1071 "src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x24.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001072 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x4.c",
1073 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x8.c",
1074 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x12.c",
1075 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x16.c",
1076 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x20.c",
1077 "src/f32-sigmoid/gen/neonfma-rr1-p5-div-x24.c",
Miao Wang400e4042020-04-17 10:15:59 -07001078 "src/f32-spmm/gen/4x1-minmax-neonfma-pipelined.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001079 "src/f32-spmm/gen/4x1-minmax-neonfma-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001080 "src/f32-spmm/gen/4x1-minmax-neonfma.c",
1081 "src/f32-spmm/gen/4x2-minmax-neonfma.c",
1082 "src/f32-spmm/gen/4x4-minmax-neonfma.c",
1083 "src/f32-spmm/gen/8x1-minmax-neonfma-pipelined.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001084 "src/f32-spmm/gen/8x1-minmax-neonfma-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001085 "src/f32-spmm/gen/8x1-minmax-neonfma.c",
1086 "src/f32-spmm/gen/8x2-minmax-neonfma.c",
1087 "src/f32-spmm/gen/8x4-minmax-neonfma.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001088 "src/f32-spmm/gen/12x1-minmax-neonfma.c",
1089 "src/f32-spmm/gen/12x2-minmax-neonfma.c",
1090 "src/f32-spmm/gen/12x4-minmax-neonfma.c",
1091 "src/f32-spmm/gen/16x1-minmax-neonfma-pipelined.c",
1092 "src/f32-spmm/gen/16x1-minmax-neonfma-x2.c",
1093 "src/f32-spmm/gen/16x1-minmax-neonfma.c",
1094 "src/f32-spmm/gen/16x2-minmax-neonfma.c",
1095 "src/f32-spmm/gen/16x4-minmax-neonfma.c",
1096 "src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c",
1097 "src/f32-spmm/gen/32x1-minmax-neonfma-x2.c",
1098 "src/f32-spmm/gen/32x1-minmax-neonfma.c",
1099 "src/f32-spmm/gen/32x2-minmax-neonfma.c",
1100 "src/f32-spmm/gen/32x4-minmax-neonfma.c",
1101 "src/f32-vbinary/gen/vdiv-minmax-neon-x4.c",
1102 "src/f32-vbinary/gen/vdiv-minmax-neon-x8.c",
1103 "src/f32-vbinary/gen/vdivc-minmax-neon-x4.c",
1104 "src/f32-vbinary/gen/vdivc-minmax-neon-x8.c",
1105 "src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c",
1106 "src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001107 "src/f32-vsqrt/gen/neon-sqrt-x4.c",
1108 "src/f32-vsqrt/gen/neon-sqrt-x8.c",
Miao Wange9993472020-02-10 15:00:10 -08001109 "src/math/sigmoid-neonfma-rr1-lut64-p2-div.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001110 "src/math/sigmoid-neonfma-rr1-lut2048-p1-div.c",
Miao Wange9993472020-02-10 15:00:10 -08001111 "src/math/sigmoid-neonfma-rr1-p5-div.c",
Miao Wange9993472020-02-10 15:00:10 -08001112 "src/math/sigmoid-neonfma-rr2-lut64-p2-div.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001113 "src/math/sigmoid-neonfma-rr2-lut2048-p1-div.c",
Miao Wange9993472020-02-10 15:00:10 -08001114 "src/math/sigmoid-neonfma-rr2-p5-div.c",
1115]
1116
Miao Wangc0aa11a2020-06-10 13:41:26 -07001117NEONV8_UKERNELS = [
Miao Wang86f5fbe2020-07-24 11:16:10 -07001118 "src/f32-vrnd/gen/vrndd-neonv8-x4.c",
1119 "src/f32-vrnd/gen/vrndd-neonv8-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001120 "src/f32-vrnd/gen/vrndne-neonv8-x4.c",
1121 "src/f32-vrnd/gen/vrndne-neonv8-x8.c",
1122 "src/f32-vrnd/gen/vrndu-neonv8-x4.c",
1123 "src/f32-vrnd/gen/vrndu-neonv8-x8.c",
1124 "src/f32-vrnd/gen/vrndz-neonv8-x4.c",
1125 "src/f32-vrnd/gen/vrndz-neonv8-x8.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001126 "src/math/roundd-neonv8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001127 "src/math/roundne-neonv8.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001128 "src/math/roundu-neonv8.c",
1129 "src/math/roundz-neonv8.c",
1130]
1131
Miao Wange9993472020-02-10 15:00:10 -08001132AARCH64_NEONFP16ARITH_UKERNELS = [
Miao Wangc0aa11a2020-06-10 13:41:26 -07001133 "src/f16-clamp/gen/neonfp16arith-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001134 "src/f16-clamp/gen/neonfp16arith-x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001135 "src/f16-dwconv/gen/up8x4-minmax-neonfp16arith-acc2.c",
1136 "src/f16-dwconv/gen/up8x4-minmax-neonfp16arith.c",
1137 "src/f16-dwconv/gen/up8x9-minmax-neonfp16arith-acc2.c",
1138 "src/f16-dwconv/gen/up8x9-minmax-neonfp16arith.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001139 "src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c",
1140 "src/f16-dwconv/gen/up8x25-minmax-neonfp16arith.c",
1141 "src/f16-dwconv/gen/up16x4-minmax-neonfp16arith-acc2.c",
1142 "src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c",
1143 "src/f16-dwconv/gen/up16x9-minmax-neonfp16arith-acc2.c",
1144 "src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c",
1145 "src/f16-dwconv/gen/up16x25-minmax-neonfp16arith-acc2.c",
1146 "src/f16-dwconv/gen/up16x25-minmax-neonfp16arith.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001147 "src/f16-gavgpool/7p7x-minmax-neonfp16arith-c8.c",
1148 "src/f16-gavgpool/7x-minmax-neonfp16arith-c8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001149 "src/f16-gemm/gen-inc/1x8inc-minmax-neonfp16arith-ld64.c",
1150 "src/f16-gemm/gen-inc/1x16inc-minmax-neonfp16arith-ld64.c",
1151 "src/f16-gemm/gen-inc/4x8inc-minmax-neonfp16arith-ld64.c",
1152 "src/f16-gemm/gen-inc/4x16inc-minmax-neonfp16arith-ld64.c",
1153 "src/f16-gemm/gen-inc/6x8inc-minmax-neonfp16arith-ld64.c",
1154 "src/f16-gemm/gen-inc/6x16inc-minmax-neonfp16arith-ld64.c",
1155 "src/f16-gemm/gen-inc/8x8inc-minmax-neonfp16arith-ld64.c",
1156 "src/f16-gemm/gen-inc/8x16inc-minmax-neonfp16arith-ld64.c",
1157 "src/f16-gemm/gen/1x8-minmax-neonfp16arith-ld64.c",
1158 "src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c",
1159 "src/f16-gemm/gen/4x8-minmax-neonfp16arith-ld64.c",
1160 "src/f16-gemm/gen/4x16-minmax-neonfp16arith-ld64.c",
1161 "src/f16-gemm/gen/6x8-minmax-neonfp16arith-ld64.c",
1162 "src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c",
1163 "src/f16-gemm/gen/8x8-minmax-neonfp16arith-ld64.c",
1164 "src/f16-gemm/gen/8x16-minmax-neonfp16arith-ld64.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001165 "src/f16-hswish/gen/hswish-neonfp16arith-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001166 "src/f16-hswish/gen/hswish-neonfp16arith-x16.c",
1167 "src/f16-igemm/gen/1x8-minmax-neonfp16arith-ld64.c",
1168 "src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c",
1169 "src/f16-igemm/gen/4x8-minmax-neonfp16arith-ld64.c",
1170 "src/f16-igemm/gen/4x16-minmax-neonfp16arith-ld64.c",
1171 "src/f16-igemm/gen/6x8-minmax-neonfp16arith-ld64.c",
1172 "src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c",
1173 "src/f16-igemm/gen/8x8-minmax-neonfp16arith-ld64.c",
1174 "src/f16-igemm/gen/8x16-minmax-neonfp16arith-ld64.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001175 "src/f16-prelu/gen/neonfp16arith-2x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001176 "src/f16-prelu/gen/neonfp16arith-2x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001177 "src/f16-relu/gen/neonfp16arith-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001178 "src/f16-relu/gen/neonfp16arith-x16.c",
1179 "src/f16-spmm/gen/8x1-minmax-neonfp16arith-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001180 "src/f16-spmm/gen/8x1-minmax-neonfp16arith.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001181 "src/f16-spmm/gen/16x1-minmax-neonfp16arith-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001182 "src/f16-spmm/gen/16x1-minmax-neonfp16arith.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001183 "src/f16-spmm/gen/24x1-minmax-neonfp16arith-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001184 "src/f16-spmm/gen/24x1-minmax-neonfp16arith.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001185 "src/f16-spmm/gen/32x1-minmax-neonfp16arith-x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001186 "src/f16-spmm/gen/32x1-minmax-neonfp16arith.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001187 "src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c",
1188 "src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c",
1189 "src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c",
1190 "src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c",
1191 "src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c",
1192 "src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c",
1193 "src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c",
1194 "src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c",
1195 "src/f16-vbinary/gen/vmax-neonfp16arith-x8.c",
1196 "src/f16-vbinary/gen/vmax-neonfp16arith-x16.c",
1197 "src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c",
1198 "src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c",
1199 "src/f16-vbinary/gen/vmin-neonfp16arith-x8.c",
1200 "src/f16-vbinary/gen/vmin-neonfp16arith-x16.c",
1201 "src/f16-vbinary/gen/vminc-neonfp16arith-x8.c",
1202 "src/f16-vbinary/gen/vminc-neonfp16arith-x16.c",
1203 "src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c",
1204 "src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c",
1205 "src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c",
1206 "src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c",
1207 "src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c",
1208 "src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c",
1209 "src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c",
1210 "src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c",
1211 "src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c",
1212 "src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c",
1213 "src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c",
1214 "src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c",
1215 "src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c",
1216 "src/f16-vmulcaddc/gen/c16-minmax-neonfp16arith-2x.c",
1217]
1218
1219NEONDOT_UKERNELS = [
1220 "src/qs8-gemm/gen/1x8c4-minmax-neondot.c",
1221 "src/qs8-gemm/gen/1x16c4-minmax-neondot.c",
1222 "src/qs8-gemm/gen/4x8c4-minmax-neondot.c",
1223 "src/qs8-gemm/gen/4x16c4-minmax-neondot.c",
1224 "src/qs8-gemm/gen/6x8c4-minmax-neondot.c",
1225 "src/qs8-gemm/gen/6x16c4-minmax-neondot.c",
1226 "src/qs8-gemm/gen/8x8c4-minmax-neondot.c",
1227 "src/qs8-gemm/gen/8x16c4-minmax-neondot.c",
1228 "src/qs8-gemm/gen/12x8c4-minmax-neondot.c",
1229 "src/qs8-igemm/gen/1x8c4-minmax-neondot.c",
1230 "src/qs8-igemm/gen/1x16c4-minmax-neondot.c",
1231 "src/qs8-igemm/gen/4x8c4-minmax-neondot.c",
1232 "src/qs8-igemm/gen/4x16c4-minmax-neondot.c",
1233 "src/qs8-igemm/gen/6x8c4-minmax-neondot.c",
1234 "src/qs8-igemm/gen/6x16c4-minmax-neondot.c",
1235 "src/qs8-igemm/gen/8x8c4-minmax-neondot.c",
1236 "src/qs8-igemm/gen/8x16c4-minmax-neondot.c",
1237 "src/qs8-igemm/gen/12x8c4-minmax-neondot.c",
Miao Wange9993472020-02-10 15:00:10 -08001238]
1239
1240SSE_UKERNELS = [
Miao Wang400e4042020-04-17 10:15:59 -07001241 "src/f32-avgpool/9p8x-minmax-sse-c4.c",
1242 "src/f32-avgpool/9x-minmax-sse-c4.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07001243 "src/f32-clamp/gen/sse-x4.c",
1244 "src/f32-clamp/gen/sse-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001245 "src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-1x1.c",
1246 "src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c",
Miao Wang400e4042020-04-17 10:15:59 -07001247 "src/f32-dwconv/gen/up4x4-minmax-sse-acc2.c",
1248 "src/f32-dwconv/gen/up4x4-minmax-sse.c",
1249 "src/f32-dwconv/gen/up4x9-minmax-sse-acc2.c",
1250 "src/f32-dwconv/gen/up4x9-minmax-sse.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001251 "src/f32-dwconv/gen/up4x25-minmax-sse-acc2.c",
1252 "src/f32-dwconv/gen/up4x25-minmax-sse.c",
Miao Wang400e4042020-04-17 10:15:59 -07001253 "src/f32-dwconv/gen/up8x4-minmax-sse-acc2.c",
1254 "src/f32-dwconv/gen/up8x4-minmax-sse.c",
1255 "src/f32-dwconv/gen/up8x9-minmax-sse-acc2.c",
1256 "src/f32-dwconv/gen/up8x9-minmax-sse.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001257 "src/f32-dwconv/gen/up8x25-minmax-sse-acc2.c",
1258 "src/f32-dwconv/gen/up8x25-minmax-sse.c",
1259 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc2.c",
1260 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc3.c",
1261 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc4.c",
1262 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4.c",
1263 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c",
1264 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4.c",
1265 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-3x4.c",
1266 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-4x4.c",
1267 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-5x4.c",
1268 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-6x4.c",
1269 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc2.c",
1270 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c",
1271 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc4.c",
1272 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4.c",
1273 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4-acc2.c",
1274 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4.c",
1275 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-3x4.c",
1276 "src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-4x4.c",
1277 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc2.c",
1278 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc3.c",
1279 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc4.c",
1280 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc5.c",
1281 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4.c",
1282 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc2.c",
1283 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc3.c",
1284 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4.c",
1285 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4-acc2.c",
1286 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4.c",
1287 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4-acc2.c",
1288 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c",
1289 "src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-5x4.c",
1290 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc2.c",
1291 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc3.c",
1292 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc4.c",
1293 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc5.c",
1294 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4.c",
1295 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc2.c",
1296 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc3.c",
1297 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c",
1298 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4-acc2.c",
1299 "src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001300 "src/f32-gavgpool-cw/sse-x4.c",
Miao Wang400e4042020-04-17 10:15:59 -07001301 "src/f32-gavgpool/7p7x-minmax-sse-c4.c",
1302 "src/f32-gavgpool/7x-minmax-sse-c4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001303 "src/f32-gemm/gen-inc/1x8inc-minmax-sse-dup.c",
1304 "src/f32-gemm/gen-inc/1x8inc-minmax-sse-load1.c",
1305 "src/f32-gemm/gen-inc/1x8s4inc-minmax-sse.c",
1306 "src/f32-gemm/gen-inc/4x8inc-minmax-sse-dup.c",
1307 "src/f32-gemm/gen-inc/4x8inc-minmax-sse-load1.c",
1308 "src/f32-gemm/gen-inc/4x8s4inc-minmax-sse.c",
Miao Wang400e4042020-04-17 10:15:59 -07001309 "src/f32-gemm/gen/1x8-minmax-sse-dup.c",
1310 "src/f32-gemm/gen/1x8-minmax-sse-load1.c",
1311 "src/f32-gemm/gen/1x8s4-minmax-sse.c",
1312 "src/f32-gemm/gen/4x2c4-minmax-sse.c",
1313 "src/f32-gemm/gen/4x8-minmax-sse-dup.c",
1314 "src/f32-gemm/gen/4x8-minmax-sse-load1.c",
1315 "src/f32-gemm/gen/4x8s4-minmax-sse.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001316 "src/f32-hswish/gen/hswish-sse-x4.c",
1317 "src/f32-hswish/gen/hswish-sse-x8.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07001318 "src/f32-ibilinear/gen/sse-c4.c",
1319 "src/f32-ibilinear/gen/sse-c8.c",
Miao Wang400e4042020-04-17 10:15:59 -07001320 "src/f32-igemm/gen/1x8-minmax-sse-dup.c",
1321 "src/f32-igemm/gen/1x8-minmax-sse-load1.c",
1322 "src/f32-igemm/gen/1x8s4-minmax-sse.c",
1323 "src/f32-igemm/gen/4x2c4-minmax-sse.c",
1324 "src/f32-igemm/gen/4x8-minmax-sse-dup.c",
1325 "src/f32-igemm/gen/4x8-minmax-sse-load1.c",
1326 "src/f32-igemm/gen/4x8s4-minmax-sse.c",
1327 "src/f32-maxpool/9p8x-minmax-sse-c4.c",
1328 "src/f32-pavgpool/9p8x-minmax-sse-c4.c",
1329 "src/f32-pavgpool/9x-minmax-sse-c4.c",
1330 "src/f32-ppmm/gen/4x8-minmax-sse.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001331 "src/f32-prelu/gen/sse-2x4.c",
1332 "src/f32-prelu/gen/sse-2x8.c",
1333 "src/f32-relu/gen/sse-x4.c",
1334 "src/f32-relu/gen/sse-x8.c",
Miao Wange9993472020-02-10 15:00:10 -08001335 "src/f32-rmax/sse.c",
Miao Wang400e4042020-04-17 10:15:59 -07001336 "src/f32-spmm/gen/4x1-minmax-sse.c",
1337 "src/f32-spmm/gen/8x1-minmax-sse.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001338 "src/f32-spmm/gen/16x1-minmax-sse.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001339 "src/f32-spmm/gen/32x1-minmax-sse.c",
Miao Wang400e4042020-04-17 10:15:59 -07001340 "src/f32-vbinary/gen/vadd-minmax-sse-x4.c",
1341 "src/f32-vbinary/gen/vadd-minmax-sse-x8.c",
1342 "src/f32-vbinary/gen/vaddc-minmax-sse-x4.c",
1343 "src/f32-vbinary/gen/vaddc-minmax-sse-x8.c",
1344 "src/f32-vbinary/gen/vdiv-minmax-sse-x4.c",
1345 "src/f32-vbinary/gen/vdiv-minmax-sse-x8.c",
1346 "src/f32-vbinary/gen/vdivc-minmax-sse-x4.c",
1347 "src/f32-vbinary/gen/vdivc-minmax-sse-x8.c",
Miao Wange9993472020-02-10 15:00:10 -08001348 "src/f32-vbinary/gen/vmax-sse-x4.c",
1349 "src/f32-vbinary/gen/vmax-sse-x8.c",
1350 "src/f32-vbinary/gen/vmaxc-sse-x4.c",
1351 "src/f32-vbinary/gen/vmaxc-sse-x8.c",
1352 "src/f32-vbinary/gen/vmin-sse-x4.c",
1353 "src/f32-vbinary/gen/vmin-sse-x8.c",
1354 "src/f32-vbinary/gen/vminc-sse-x4.c",
1355 "src/f32-vbinary/gen/vminc-sse-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -07001356 "src/f32-vbinary/gen/vmul-minmax-sse-x4.c",
1357 "src/f32-vbinary/gen/vmul-minmax-sse-x8.c",
1358 "src/f32-vbinary/gen/vmulc-minmax-sse-x4.c",
1359 "src/f32-vbinary/gen/vmulc-minmax-sse-x8.c",
1360 "src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c",
1361 "src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c",
1362 "src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c",
1363 "src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001364 "src/f32-vbinary/gen/vsqrdiff-sse-x4.c",
1365 "src/f32-vbinary/gen/vsqrdiff-sse-x8.c",
1366 "src/f32-vbinary/gen/vsqrdiffc-sse-x4.c",
1367 "src/f32-vbinary/gen/vsqrdiffc-sse-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -07001368 "src/f32-vbinary/gen/vsub-minmax-sse-x4.c",
1369 "src/f32-vbinary/gen/vsub-minmax-sse-x8.c",
1370 "src/f32-vbinary/gen/vsubc-minmax-sse-x4.c",
1371 "src/f32-vbinary/gen/vsubc-minmax-sse-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001372 "src/f32-vlrelu/gen/vlrelu-sse-x4.c",
1373 "src/f32-vlrelu/gen/vlrelu-sse-x8.c",
Miao Wang400e4042020-04-17 10:15:59 -07001374 "src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c",
1375 "src/f32-vmulcaddc/gen/c8-minmax-sse-2x.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001376 "src/f32-vsqrt/gen/sse-sqrt-x4.c",
1377 "src/f32-vsqrt/gen/sse-sqrt-x8.c",
1378 "src/f32-vunary/gen/vabs-sse-x4.c",
1379 "src/f32-vunary/gen/vabs-sse-x8.c",
1380 "src/f32-vunary/gen/vneg-sse-x4.c",
1381 "src/f32-vunary/gen/vneg-sse-x8.c",
1382 "src/f32-vunary/gen/vsqr-sse-x4.c",
1383 "src/f32-vunary/gen/vsqr-sse-x8.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001384 "src/math/roundd-sse-addsub.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001385 "src/math/roundne-sse-addsub.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001386 "src/math/roundu-sse-addsub.c",
1387 "src/math/roundz-sse-addsub.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001388 "src/math/sqrt-sse-hh1mac.c",
1389 "src/math/sqrt-sse-nr1mac.c",
1390 "src/math/sqrt-sse-nr2mac.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001391 "src/x32-fill/sse.c",
1392 "src/x32-packx/x4-sse.c",
1393 "src/x32-pad/sse.c",
Miao Wange9993472020-02-10 15:00:10 -08001394]
1395
1396SSE2_UKERNELS = [
Miao Wange9993472020-02-10 15:00:10 -08001397 "src/f32-argmaxpool/4x-sse2-c4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001398 "src/f32-argmaxpool/9p8x-sse2-c4.c",
Miao Wange9993472020-02-10 15:00:10 -08001399 "src/f32-argmaxpool/9x-sse2-c4.c",
1400 "src/f32-prelu/gen/sse2-2x4.c",
1401 "src/f32-prelu/gen/sse2-2x8.c",
1402 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x4.c",
Miao Wange9993472020-02-10 15:00:10 -08001403 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x8-acc2.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001404 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x8.c",
Miao Wange9993472020-02-10 15:00:10 -08001405 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc2.c",
1406 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001407 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x12.c",
Miao Wange9993472020-02-10 15:00:10 -08001408 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc2.c",
1409 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001410 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x16.c",
Miao Wange9993472020-02-10 15:00:10 -08001411 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc2.c",
1412 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001413 "src/f32-raddstoreexpminusmax/gen/sse2-p5-x20.c",
1414 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x4.c",
1415 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x8.c",
1416 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x12.c",
1417 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x16.c",
1418 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x20.c",
1419 "src/f32-sigmoid/gen/sse2-lut64-p2-div-x24.c",
Miao Wange9993472020-02-10 15:00:10 -08001420 "src/f32-sigmoid/gen/sse2-p5-div-x4.c",
1421 "src/f32-sigmoid/gen/sse2-p5-div-x8.c",
1422 "src/f32-sigmoid/gen/sse2-p5-div-x12.c",
1423 "src/f32-sigmoid/gen/sse2-p5-div-x16.c",
1424 "src/f32-sigmoid/gen/sse2-p5-div-x20.c",
1425 "src/f32-sigmoid/gen/sse2-p5-div-x24.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001426 "src/f32-vlrelu/gen/vlrelu-sse2-x4.c",
1427 "src/f32-vlrelu/gen/vlrelu-sse2-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001428 "src/f32-vrnd/gen/vrndd-sse2-x4.c",
1429 "src/f32-vrnd/gen/vrndd-sse2-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001430 "src/f32-vrnd/gen/vrndne-sse2-x4.c",
1431 "src/f32-vrnd/gen/vrndne-sse2-x8.c",
1432 "src/f32-vrnd/gen/vrndu-sse2-x4.c",
1433 "src/f32-vrnd/gen/vrndu-sse2-x8.c",
1434 "src/f32-vrnd/gen/vrndz-sse2-x4.c",
1435 "src/f32-vrnd/gen/vrndz-sse2-x8.c",
1436 "src/math/exp-sse2-rr2-lut64-p2.c",
1437 "src/math/exp-sse2-rr2-p5.c",
1438 "src/math/expm1minus-sse2-rr2-lut16-p3.c",
1439 "src/math/expm1minus-sse2-rr2-p6.c",
1440 "src/math/expminus-sse2-rr2-p5.c",
1441 "src/math/roundd-sse2-cvt.c",
1442 "src/math/roundne-sse2-cvt.c",
1443 "src/math/roundu-sse2-cvt.c",
1444 "src/math/roundz-sse2-cvt.c",
1445 "src/math/sigmoid-sse2-rr2-lut64-p2-div.c",
1446 "src/math/sigmoid-sse2-rr2-lut64-p2-nr1.c",
1447 "src/math/sigmoid-sse2-rr2-lut64-p2-nr2.c",
1448 "src/math/sigmoid-sse2-rr2-p5-div.c",
1449 "src/math/sigmoid-sse2-rr2-p5-nr1.c",
1450 "src/math/sigmoid-sse2-rr2-p5-nr2.c",
1451 "src/qs8-dwconv/gen/up8x9-minmax-sse2-mul16.c",
1452 "src/qs8-dwconv/gen/up16x9-minmax-sse2-mul16.c",
1453 "src/qs8-dwconv/gen/up24x9-minmax-sse2-mul16.c",
1454 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c8-acc2.c",
1455 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c16-acc2.c",
1456 "src/qs8-gavgpool/gen/7p7x-minmax-sse2-c24-acc2.c",
1457 "src/qs8-gavgpool/gen/7x-minmax-sse2-c8-acc2.c",
1458 "src/qs8-gavgpool/gen/7x-minmax-sse2-c16-acc2.c",
1459 "src/qs8-gavgpool/gen/7x-minmax-sse2-c24-acc2.c",
1460 "src/qs8-gemm/gen/1x4c2-minmax-sse2-ld64.c",
1461 "src/qs8-gemm/gen/1x4c2-minmax-sse2-ld128.c",
1462 "src/qs8-gemm/gen/1x4c2-xw-minmax-sse2.c",
1463 "src/qs8-gemm/gen/1x4c8-minmax-sse2-ld64.c",
1464 "src/qs8-gemm/gen/1x4c8-minmax-sse2-ld128.c",
1465 "src/qs8-gemm/gen/1x4c8-xw-minmax-sse2.c",
1466 "src/qs8-gemm/gen/2x4c8-minmax-sse2-ld64.c",
1467 "src/qs8-gemm/gen/2x4c8-minmax-sse2-ld128.c",
1468 "src/qs8-gemm/gen/2x4c8-xw-minmax-sse2.c",
1469 "src/qs8-gemm/gen/3x4c8-minmax-sse2-ld64.c",
1470 "src/qs8-gemm/gen/3x4c8-minmax-sse2-ld128.c",
1471 "src/qs8-gemm/gen/3x4c8-xw-minmax-sse2.c",
1472 "src/qs8-gemm/gen/4x4c2-minmax-sse2-ld64.c",
1473 "src/qs8-gemm/gen/4x4c2-minmax-sse2-ld128.c",
1474 "src/qs8-gemm/gen/4x4c2-xw-minmax-sse2.c",
1475 "src/qs8-igemm/gen/1x4c2-minmax-sse2-ld64.c",
1476 "src/qs8-igemm/gen/1x4c2-minmax-sse2-ld128.c",
1477 "src/qs8-igemm/gen/1x4c8-minmax-sse2-ld64.c",
1478 "src/qs8-igemm/gen/1x4c8-minmax-sse2-ld128.c",
1479 "src/qs8-igemm/gen/2x4c8-minmax-sse2-ld64.c",
1480 "src/qs8-igemm/gen/2x4c8-minmax-sse2-ld128.c",
1481 "src/qs8-igemm/gen/3x4c8-minmax-sse2-ld64.c",
1482 "src/qs8-igemm/gen/3x4c8-minmax-sse2-ld128.c",
1483 "src/qs8-igemm/gen/4x4c2-minmax-sse2-ld64.c",
1484 "src/qs8-igemm/gen/4x4c2-minmax-sse2-ld128.c",
1485 "src/qs8-requantization/fp32-sse2.c",
1486 "src/qs8-requantization/precise-sse2.c",
1487 "src/qs8-requantization/q31-sse2.c",
1488 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
1489 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x16.c",
1490 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x24.c",
1491 "src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x32.c",
1492 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
1493 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c",
1494 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x24.c",
1495 "src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x32.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001496 "src/qu8-avgpool/9p8x-minmax-sse2-c8.c",
1497 "src/qu8-avgpool/9x-minmax-sse2-c8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001498 "src/qu8-dwconv/up8x9-minmax-sse2.c",
1499 "src/qu8-gavgpool/7p7x-minmax-sse2-c8.c",
1500 "src/qu8-gavgpool/7x-minmax-sse2-c8.c",
1501 "src/qu8-gemm/2x4c8-minmax-sse2.c",
1502 "src/qu8-gemm/4x4c2-minmax-sse2.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001503 "src/qu8-igemm/4x4c2-minmax-sse2.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001504 "src/qu8-requantization/fp32-sse2.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001505 "src/qu8-requantization/precise-sse2.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001506 "src/qu8-requantization/q31-sse2.c",
1507 "src/qu8-vadd/minmax-sse2.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07001508 "src/u8-clamp/sse2-x64.c",
Miao Wang400e4042020-04-17 10:15:59 -07001509 "src/u8-maxpool/9p8x-minmax-sse2-c16.c",
Miao Wange9993472020-02-10 15:00:10 -08001510 "src/u8-rmax/sse2.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001511 "src/x8-zip/x2-sse2.c",
1512 "src/x8-zip/x3-sse2.c",
1513 "src/x8-zip/x4-sse2.c",
1514 "src/x8-zip/xm-sse2.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001515 "src/x32-unpool/sse2.c",
Miao Wange9993472020-02-10 15:00:10 -08001516 "src/x32-zip/x2-sse2.c",
1517 "src/x32-zip/x3-sse2.c",
1518 "src/x32-zip/x4-sse2.c",
1519 "src/x32-zip/xm-sse2.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07001520]
1521
1522SSSE3_UKERNELS = [
Miao Wang5eea8312020-12-07 09:12:40 -08001523 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc2.c",
1524 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc3.c",
1525 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc4.c",
1526 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4.c",
1527 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c",
1528 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4.c",
1529 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-3x4.c",
1530 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-4x4.c",
1531 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-5x4.c",
1532 "src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-6x4.c",
1533 "src/qs8-dwconv/gen/up8x9-minmax-ssse3-mul16.c",
1534 "src/qs8-dwconv/gen/up16x9-minmax-ssse3-mul16.c",
1535 "src/qs8-dwconv/gen/up24x9-minmax-ssse3-mul16.c",
1536 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c8-acc2.c",
1537 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c16-acc2.c",
1538 "src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c24-acc2.c",
1539 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c8-acc2.c",
1540 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c16-acc2.c",
1541 "src/qs8-gavgpool/gen/7x-minmax-ssse3-c24-acc2.c",
1542 "src/qs8-gemm/gen/1x4c2-minmax-ssse3-ld64.c",
1543 "src/qs8-gemm/gen/1x4c2-minmax-ssse3-ld128.c",
1544 "src/qs8-gemm/gen/1x4c2-xw-minmax-ssse3.c",
1545 "src/qs8-gemm/gen/1x4c8-minmax-ssse3-ld64.c",
1546 "src/qs8-gemm/gen/1x4c8-minmax-ssse3-ld128.c",
1547 "src/qs8-gemm/gen/1x4c8-xw-minmax-ssse3.c",
1548 "src/qs8-gemm/gen/2x4c8-minmax-ssse3-ld64.c",
1549 "src/qs8-gemm/gen/2x4c8-minmax-ssse3-ld128.c",
1550 "src/qs8-gemm/gen/2x4c8-xw-minmax-ssse3.c",
1551 "src/qs8-gemm/gen/3x4c8-minmax-ssse3-ld64.c",
1552 "src/qs8-gemm/gen/3x4c8-minmax-ssse3-ld128.c",
1553 "src/qs8-gemm/gen/3x4c8-xw-minmax-ssse3.c",
1554 "src/qs8-gemm/gen/4x4c2-minmax-ssse3-ld64.c",
1555 "src/qs8-gemm/gen/4x4c2-minmax-ssse3-ld128.c",
1556 "src/qs8-gemm/gen/4x4c2-xw-minmax-ssse3.c",
1557 "src/qs8-igemm/gen/1x4c2-minmax-ssse3-ld64.c",
1558 "src/qs8-igemm/gen/1x4c2-minmax-ssse3-ld128.c",
1559 "src/qs8-igemm/gen/1x4c8-minmax-ssse3-ld64.c",
1560 "src/qs8-igemm/gen/1x4c8-minmax-ssse3-ld128.c",
1561 "src/qs8-igemm/gen/2x4c8-minmax-ssse3-ld64.c",
1562 "src/qs8-igemm/gen/2x4c8-minmax-ssse3-ld128.c",
1563 "src/qs8-igemm/gen/3x4c8-minmax-ssse3-ld64.c",
1564 "src/qs8-igemm/gen/3x4c8-minmax-ssse3-ld128.c",
1565 "src/qs8-igemm/gen/4x4c2-minmax-ssse3-ld64.c",
1566 "src/qs8-igemm/gen/4x4c2-minmax-ssse3-ld128.c",
1567 "src/qs8-requantization/precise-ssse3.c",
1568 "src/qs8-requantization/q31-ssse3.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001569 "src/qu8-requantization/precise-ssse3.c",
1570 "src/qu8-requantization/q31-ssse3.c",
Miao Wange9993472020-02-10 15:00:10 -08001571]
1572
1573SSE41_UKERNELS = [
1574 "src/f32-prelu/gen/sse41-2x4.c",
1575 "src/f32-prelu/gen/sse41-2x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001576 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x4.c",
1577 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x8.c",
1578 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x12.c",
1579 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x16.c",
1580 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x20.c",
1581 "src/f32-sigmoid/gen/sse41-lut64-p2-div-x24.c",
Miao Wange9993472020-02-10 15:00:10 -08001582 "src/f32-sigmoid/gen/sse41-p5-div-x4.c",
1583 "src/f32-sigmoid/gen/sse41-p5-div-x8.c",
1584 "src/f32-sigmoid/gen/sse41-p5-div-x12.c",
1585 "src/f32-sigmoid/gen/sse41-p5-div-x16.c",
1586 "src/f32-sigmoid/gen/sse41-p5-div-x20.c",
1587 "src/f32-sigmoid/gen/sse41-p5-div-x24.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001588 "src/f32-vlrelu/gen/vlrelu-sse41-x4.c",
1589 "src/f32-vlrelu/gen/vlrelu-sse41-x8.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001590 "src/f32-vrnd/gen/vrndd-sse41-x4.c",
1591 "src/f32-vrnd/gen/vrndd-sse41-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001592 "src/f32-vrnd/gen/vrndne-sse41-x4.c",
1593 "src/f32-vrnd/gen/vrndne-sse41-x8.c",
1594 "src/f32-vrnd/gen/vrndu-sse41-x4.c",
1595 "src/f32-vrnd/gen/vrndu-sse41-x8.c",
1596 "src/f32-vrnd/gen/vrndz-sse41-x4.c",
1597 "src/f32-vrnd/gen/vrndz-sse41-x8.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001598 "src/math/roundd-sse41.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001599 "src/math/roundne-sse41.c",
Miao Wangc0aa11a2020-06-10 13:41:26 -07001600 "src/math/roundu-sse41.c",
1601 "src/math/roundz-sse41.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001602 "src/qs8-dwconv/gen/up8x9-minmax-sse41-mul16.c",
1603 "src/qs8-dwconv/gen/up16x9-minmax-sse41-mul16.c",
1604 "src/qs8-dwconv/gen/up24x9-minmax-sse41-mul16.c",
1605 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c8-acc2.c",
1606 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c16-acc2.c",
1607 "src/qs8-gavgpool/gen/7p7x-minmax-sse41-c24-acc2.c",
1608 "src/qs8-gavgpool/gen/7x-minmax-sse41-c8-acc2.c",
1609 "src/qs8-gavgpool/gen/7x-minmax-sse41-c16-acc2.c",
1610 "src/qs8-gavgpool/gen/7x-minmax-sse41-c24-acc2.c",
1611 "src/qs8-gemm/gen/1x4c2-minmax-sse41-ld64.c",
1612 "src/qs8-gemm/gen/1x4c2-minmax-sse41-ld128.c",
1613 "src/qs8-gemm/gen/1x4c2-xw-minmax-sse41.c",
1614 "src/qs8-gemm/gen/1x4c8-minmax-sse41-ld64.c",
1615 "src/qs8-gemm/gen/1x4c8-minmax-sse41-ld128.c",
1616 "src/qs8-gemm/gen/1x4c8-xw-minmax-sse41.c",
1617 "src/qs8-gemm/gen/2x4c8-minmax-sse41-ld64.c",
1618 "src/qs8-gemm/gen/2x4c8-minmax-sse41-ld128.c",
1619 "src/qs8-gemm/gen/2x4c8-xw-minmax-sse41.c",
1620 "src/qs8-gemm/gen/3x4c8-minmax-sse41-ld64.c",
1621 "src/qs8-gemm/gen/3x4c8-minmax-sse41-ld128.c",
1622 "src/qs8-gemm/gen/3x4c8-xw-minmax-sse41.c",
1623 "src/qs8-gemm/gen/4x4c2-minmax-sse41-ld64.c",
1624 "src/qs8-gemm/gen/4x4c2-minmax-sse41-ld128.c",
1625 "src/qs8-gemm/gen/4x4c2-xw-minmax-sse41.c",
1626 "src/qs8-igemm/gen/1x4c2-minmax-sse41-ld64.c",
1627 "src/qs8-igemm/gen/1x4c2-minmax-sse41-ld128.c",
1628 "src/qs8-igemm/gen/1x4c8-minmax-sse41-ld64.c",
1629 "src/qs8-igemm/gen/1x4c8-minmax-sse41-ld128.c",
1630 "src/qs8-igemm/gen/2x4c8-minmax-sse41-ld64.c",
1631 "src/qs8-igemm/gen/2x4c8-minmax-sse41-ld128.c",
1632 "src/qs8-igemm/gen/3x4c8-minmax-sse41-ld64.c",
1633 "src/qs8-igemm/gen/3x4c8-minmax-sse41-ld128.c",
1634 "src/qs8-igemm/gen/4x4c2-minmax-sse41-ld64.c",
1635 "src/qs8-igemm/gen/4x4c2-minmax-sse41-ld128.c",
1636 "src/qs8-requantization/fp32-sse4.c",
1637 "src/qs8-requantization/precise-sse4.c",
1638 "src/qs8-requantization/q31-sse4.c",
1639 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
1640 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x16.c",
1641 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x24.c",
1642 "src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x32.c",
1643 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x8.c",
1644 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x16.c",
1645 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x24.c",
1646 "src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x32.c",
1647 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
1648 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c",
1649 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x24.c",
1650 "src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x32.c",
1651 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c",
1652 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c",
1653 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x24.c",
1654 "src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x32.c",
1655 "src/qu8-requantization/precise-sse4.c",
1656 "src/qu8-requantization/q31-sse4.c",
Miao Wange9993472020-02-10 15:00:10 -08001657]
1658
1659AVX_UKERNELS = [
Miao Wang2534c2f2020-03-16 11:58:04 -07001660 "src/f32-clamp/gen/avx-x8.c",
1661 "src/f32-clamp/gen/avx-x16.c",
Miao Wang400e4042020-04-17 10:15:59 -07001662 "src/f32-dwconv/gen/up8x4-minmax-avx-acc2.c",
1663 "src/f32-dwconv/gen/up8x4-minmax-avx.c",
Miao Wang400e4042020-04-17 10:15:59 -07001664 "src/f32-dwconv/gen/up8x9-minmax-avx-acc2.c",
1665 "src/f32-dwconv/gen/up8x9-minmax-avx.c",
Miao Wang400e4042020-04-17 10:15:59 -07001666 "src/f32-dwconv/gen/up8x25-minmax-avx-acc2.c",
1667 "src/f32-dwconv/gen/up8x25-minmax-avx.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001668 "src/f32-dwconv/gen/up16x4-minmax-avx-acc2.c",
1669 "src/f32-dwconv/gen/up16x4-minmax-avx.c",
1670 "src/f32-dwconv/gen/up16x9-minmax-avx-acc2.c",
1671 "src/f32-dwconv/gen/up16x9-minmax-avx.c",
1672 "src/f32-dwconv/gen/up16x25-minmax-avx-acc2.c",
1673 "src/f32-dwconv/gen/up16x25-minmax-avx.c",
Miao Wang400e4042020-04-17 10:15:59 -07001674 "src/f32-gemm/gen-inc/1x8inc-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001675 "src/f32-gemm/gen-inc/1x16inc-minmax-avx-broadcast.c",
1676 "src/f32-gemm/gen-inc/3x16inc-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001677 "src/f32-gemm/gen-inc/4x8inc-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001678 "src/f32-gemm/gen-inc/4x16inc-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001679 "src/f32-gemm/gen-inc/5x8inc-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001680 "src/f32-gemm/gen-inc/5x16inc-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001681 "src/f32-gemm/gen-inc/6x8inc-minmax-avx-broadcast.c",
1682 "src/f32-gemm/gen-inc/7x8inc-minmax-avx-broadcast.c",
1683 "src/f32-gemm/gen/1x8-minmax-avx-broadcast.c",
1684 "src/f32-gemm/gen/1x16-minmax-avx-broadcast.c",
1685 "src/f32-gemm/gen/3x16-minmax-avx-broadcast.c",
1686 "src/f32-gemm/gen/4x8-minmax-avx-broadcast.c",
1687 "src/f32-gemm/gen/4x16-minmax-avx-broadcast.c",
1688 "src/f32-gemm/gen/5x8-minmax-avx-broadcast.c",
1689 "src/f32-gemm/gen/5x16-minmax-avx-broadcast.c",
1690 "src/f32-gemm/gen/6x8-minmax-avx-broadcast.c",
1691 "src/f32-gemm/gen/7x8-minmax-avx-broadcast.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001692 "src/f32-hswish/gen/hswish-avx-x8.c",
1693 "src/f32-hswish/gen/hswish-avx-x16.c",
Miao Wang400e4042020-04-17 10:15:59 -07001694 "src/f32-igemm/gen/1x8-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001695 "src/f32-igemm/gen/1x16-minmax-avx-broadcast.c",
1696 "src/f32-igemm/gen/3x16-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001697 "src/f32-igemm/gen/4x8-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001698 "src/f32-igemm/gen/4x16-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001699 "src/f32-igemm/gen/5x8-minmax-avx-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001700 "src/f32-igemm/gen/5x16-minmax-avx-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001701 "src/f32-igemm/gen/6x8-minmax-avx-broadcast.c",
1702 "src/f32-igemm/gen/7x8-minmax-avx-broadcast.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07001703 "src/f32-prelu/gen/avx-2x8.c",
1704 "src/f32-prelu/gen/avx-2x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001705 "src/f32-relu/gen/avx-x8.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001706 "src/f32-relu/gen/avx-x16.c",
Miao Wange9993472020-02-10 15:00:10 -08001707 "src/f32-rmax/avx.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001708 "src/f32-sigmoid/gen/avx-rr2-p5-div-x8.c",
1709 "src/f32-sigmoid/gen/avx-rr2-p5-div-x16.c",
1710 "src/f32-sigmoid/gen/avx-rr2-p5-div-x24.c",
1711 "src/f32-sigmoid/gen/avx-rr2-p5-div-x32.c",
1712 "src/f32-sigmoid/gen/avx-rr2-p5-div-x40.c",
1713 "src/f32-sigmoid/gen/avx-rr2-p5-div-x48.c",
1714 "src/f32-sigmoid/gen/avx-rr2-p5-div-x56.c",
1715 "src/f32-sigmoid/gen/avx-rr2-p5-div-x64.c",
1716 "src/f32-sigmoid/gen/avx-rr2-p5-div-x72.c",
1717 "src/f32-sigmoid/gen/avx-rr2-p5-div-x80.c",
1718 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x8.c",
1719 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x16.c",
1720 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x24.c",
1721 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x32.c",
1722 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x40.c",
1723 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x48.c",
1724 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x56.c",
1725 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x64.c",
1726 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x72.c",
1727 "src/f32-sigmoid/gen/avx-rr2-p5-nr2-x80.c",
Miao Wang400e4042020-04-17 10:15:59 -07001728 "src/f32-vbinary/gen/vadd-minmax-avx-x8.c",
1729 "src/f32-vbinary/gen/vadd-minmax-avx-x16.c",
1730 "src/f32-vbinary/gen/vaddc-minmax-avx-x8.c",
1731 "src/f32-vbinary/gen/vaddc-minmax-avx-x16.c",
1732 "src/f32-vbinary/gen/vdiv-minmax-avx-x8.c",
1733 "src/f32-vbinary/gen/vdiv-minmax-avx-x16.c",
1734 "src/f32-vbinary/gen/vdivc-minmax-avx-x8.c",
1735 "src/f32-vbinary/gen/vdivc-minmax-avx-x16.c",
Miao Wange9993472020-02-10 15:00:10 -08001736 "src/f32-vbinary/gen/vmax-avx-x8.c",
1737 "src/f32-vbinary/gen/vmax-avx-x16.c",
1738 "src/f32-vbinary/gen/vmaxc-avx-x8.c",
1739 "src/f32-vbinary/gen/vmaxc-avx-x16.c",
1740 "src/f32-vbinary/gen/vmin-avx-x8.c",
1741 "src/f32-vbinary/gen/vmin-avx-x16.c",
1742 "src/f32-vbinary/gen/vminc-avx-x8.c",
1743 "src/f32-vbinary/gen/vminc-avx-x16.c",
Miao Wang400e4042020-04-17 10:15:59 -07001744 "src/f32-vbinary/gen/vmul-minmax-avx-x8.c",
1745 "src/f32-vbinary/gen/vmul-minmax-avx-x16.c",
1746 "src/f32-vbinary/gen/vmulc-minmax-avx-x8.c",
1747 "src/f32-vbinary/gen/vmulc-minmax-avx-x16.c",
1748 "src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c",
1749 "src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c",
1750 "src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c",
1751 "src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001752 "src/f32-vbinary/gen/vsqrdiff-avx-x8.c",
1753 "src/f32-vbinary/gen/vsqrdiff-avx-x16.c",
1754 "src/f32-vbinary/gen/vsqrdiffc-avx-x8.c",
1755 "src/f32-vbinary/gen/vsqrdiffc-avx-x16.c",
Miao Wang400e4042020-04-17 10:15:59 -07001756 "src/f32-vbinary/gen/vsub-minmax-avx-x8.c",
1757 "src/f32-vbinary/gen/vsub-minmax-avx-x16.c",
1758 "src/f32-vbinary/gen/vsubc-minmax-avx-x8.c",
1759 "src/f32-vbinary/gen/vsubc-minmax-avx-x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001760 "src/f32-vlrelu/gen/vlrelu-avx-x8.c",
1761 "src/f32-vlrelu/gen/vlrelu-avx-x16.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001762 "src/f32-vrnd/gen/vrndd-avx-x8.c",
1763 "src/f32-vrnd/gen/vrndd-avx-x16.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001764 "src/f32-vrnd/gen/vrndne-avx-x8.c",
1765 "src/f32-vrnd/gen/vrndne-avx-x16.c",
1766 "src/f32-vrnd/gen/vrndu-avx-x8.c",
1767 "src/f32-vrnd/gen/vrndu-avx-x16.c",
1768 "src/f32-vrnd/gen/vrndz-avx-x8.c",
1769 "src/f32-vrnd/gen/vrndz-avx-x16.c",
1770 "src/f32-vscale/avx-x32.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001771 "src/f32-vsqrt/gen/avx-sqrt-x8.c",
1772 "src/f32-vsqrt/gen/avx-sqrt-x16.c",
1773 "src/f32-vunary/gen/vabs-avx-x8.c",
1774 "src/f32-vunary/gen/vabs-avx-x16.c",
1775 "src/f32-vunary/gen/vneg-avx-x8.c",
1776 "src/f32-vunary/gen/vneg-avx-x16.c",
1777 "src/f32-vunary/gen/vsqr-avx-x8.c",
1778 "src/f32-vunary/gen/vsqr-avx-x16.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001779 "src/math/exp-avx-rr2-p5.c",
1780 "src/math/expm1minus-avx-rr2-lut4-p4-perm.c",
1781 "src/math/expm1minus-avx-rr2-lut16-p3.c",
1782 "src/math/expm1minus-avx-rr2-p6.c",
1783 "src/math/sigmoid-avx-rr2-lut64-p2-div.c",
1784 "src/math/sigmoid-avx-rr2-p5-div.c",
1785 "src/math/sigmoid-avx-rr2-p5-nr1.c",
1786 "src/math/sigmoid-avx-rr2-p5-nr2.c",
1787]
1788
1789XOP_UKERNELS = [
1790 "src/qs8-gemm/gen/1x4c2-minmax-xop-ld64.c",
1791 "src/qs8-gemm/gen/1x4c2-minmax-xop-ld128.c",
1792 "src/qs8-gemm/gen/1x4c2-xw-minmax-xop.c",
1793 "src/qs8-gemm/gen/1x4c8-minmax-xop-ld64.c",
1794 "src/qs8-gemm/gen/1x4c8-minmax-xop-ld128.c",
1795 "src/qs8-gemm/gen/1x4c8-xw-minmax-xop.c",
1796 "src/qs8-gemm/gen/2x4c8-minmax-xop-ld64.c",
1797 "src/qs8-gemm/gen/2x4c8-minmax-xop-ld128.c",
1798 "src/qs8-gemm/gen/2x4c8-xw-minmax-xop.c",
1799 "src/qs8-gemm/gen/3x4c8-minmax-xop-ld64.c",
1800 "src/qs8-gemm/gen/3x4c8-minmax-xop-ld128.c",
1801 "src/qs8-gemm/gen/3x4c8-xw-minmax-xop.c",
1802 "src/qs8-gemm/gen/4x4c2-minmax-xop-ld64.c",
1803 "src/qs8-gemm/gen/4x4c2-minmax-xop-ld128.c",
1804 "src/qs8-gemm/gen/4x4c2-xw-minmax-xop.c",
1805 "src/qs8-igemm/gen/1x4c2-minmax-xop-ld64.c",
1806 "src/qs8-igemm/gen/1x4c2-minmax-xop-ld128.c",
1807 "src/qs8-igemm/gen/1x4c8-minmax-xop-ld64.c",
1808 "src/qs8-igemm/gen/1x4c8-minmax-xop-ld128.c",
1809 "src/qs8-igemm/gen/2x4c8-minmax-xop-ld64.c",
1810 "src/qs8-igemm/gen/2x4c8-minmax-xop-ld128.c",
1811 "src/qs8-igemm/gen/3x4c8-minmax-xop-ld64.c",
1812 "src/qs8-igemm/gen/3x4c8-minmax-xop-ld128.c",
1813 "src/qs8-igemm/gen/4x4c2-minmax-xop-ld64.c",
1814 "src/qs8-igemm/gen/4x4c2-minmax-xop-ld128.c",
1815 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
1816 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x16.c",
1817 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x24.c",
1818 "src/qs8-vadd/gen/minmax-xop-mul32-ld32-x32.c",
1819 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
1820 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x16.c",
1821 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x24.c",
1822 "src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x32.c",
Miao Wange9993472020-02-10 15:00:10 -08001823]
1824
1825FMA3_UKERNELS = [
Miao Wang400e4042020-04-17 10:15:59 -07001826 "src/f32-dwconv/gen/up8x4-minmax-fma3-acc2.c",
1827 "src/f32-dwconv/gen/up8x4-minmax-fma3.c",
Miao Wang400e4042020-04-17 10:15:59 -07001828 "src/f32-dwconv/gen/up8x9-minmax-fma3-acc2.c",
1829 "src/f32-dwconv/gen/up8x9-minmax-fma3.c",
Miao Wang400e4042020-04-17 10:15:59 -07001830 "src/f32-dwconv/gen/up8x25-minmax-fma3-acc2.c",
1831 "src/f32-dwconv/gen/up8x25-minmax-fma3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001832 "src/f32-dwconv/gen/up16x4-minmax-fma3-acc2.c",
1833 "src/f32-dwconv/gen/up16x4-minmax-fma3.c",
1834 "src/f32-dwconv/gen/up16x9-minmax-fma3-acc2.c",
1835 "src/f32-dwconv/gen/up16x9-minmax-fma3.c",
1836 "src/f32-dwconv/gen/up16x25-minmax-fma3-acc2.c",
1837 "src/f32-dwconv/gen/up16x25-minmax-fma3.c",
Miao Wang400e4042020-04-17 10:15:59 -07001838 "src/f32-gemm/gen-inc/1x8inc-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001839 "src/f32-gemm/gen-inc/1x16inc-minmax-fma3-broadcast.c",
1840 "src/f32-gemm/gen-inc/1x16s4inc-minmax-fma3-broadcast.c",
1841 "src/f32-gemm/gen-inc/3x16inc-minmax-fma3-broadcast.c",
1842 "src/f32-gemm/gen-inc/3x16s4inc-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001843 "src/f32-gemm/gen-inc/4x8inc-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001844 "src/f32-gemm/gen-inc/4x16inc-minmax-fma3-broadcast.c",
1845 "src/f32-gemm/gen-inc/4x16s4inc-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001846 "src/f32-gemm/gen-inc/5x8inc-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001847 "src/f32-gemm/gen-inc/5x16inc-minmax-fma3-broadcast.c",
1848 "src/f32-gemm/gen-inc/5x16s4inc-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001849 "src/f32-gemm/gen-inc/6x8inc-minmax-fma3-broadcast.c",
1850 "src/f32-gemm/gen-inc/7x8inc-minmax-fma3-broadcast.c",
1851 "src/f32-gemm/gen-inc/8x8inc-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001852 "src/f32-gemm/gen/1x8-minmax-fma3-broadcast.c",
1853 "src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c",
1854 "src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c",
1855 "src/f32-gemm/gen/3x16-minmax-fma3-broadcast.c",
1856 "src/f32-gemm/gen/3x16s4-minmax-fma3-broadcast.c",
1857 "src/f32-gemm/gen/4x8-minmax-fma3-broadcast.c",
1858 "src/f32-gemm/gen/4x16-minmax-fma3-broadcast.c",
1859 "src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c",
1860 "src/f32-gemm/gen/5x8-minmax-fma3-broadcast.c",
1861 "src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c",
1862 "src/f32-gemm/gen/5x16s4-minmax-fma3-broadcast.c",
1863 "src/f32-gemm/gen/6x8-minmax-fma3-broadcast.c",
1864 "src/f32-gemm/gen/7x8-minmax-fma3-broadcast.c",
1865 "src/f32-gemm/gen/8x8-minmax-fma3-broadcast.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001866 "src/f32-hswish/gen/hswish-fma3-x8.c",
1867 "src/f32-hswish/gen/hswish-fma3-x16.c",
Miao Wang400e4042020-04-17 10:15:59 -07001868 "src/f32-igemm/gen/1x8-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001869 "src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c",
1870 "src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c",
1871 "src/f32-igemm/gen/3x16-minmax-fma3-broadcast.c",
1872 "src/f32-igemm/gen/3x16s4-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001873 "src/f32-igemm/gen/4x8-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001874 "src/f32-igemm/gen/4x16-minmax-fma3-broadcast.c",
1875 "src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001876 "src/f32-igemm/gen/5x8-minmax-fma3-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001877 "src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c",
1878 "src/f32-igemm/gen/5x16s4-minmax-fma3-broadcast.c",
Miao Wang400e4042020-04-17 10:15:59 -07001879 "src/f32-igemm/gen/6x8-minmax-fma3-broadcast.c",
1880 "src/f32-igemm/gen/7x8-minmax-fma3-broadcast.c",
1881 "src/f32-igemm/gen/8x8-minmax-fma3-broadcast.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001882 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x8.c",
1883 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x16.c",
1884 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x24.c",
1885 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x32.c",
1886 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x40.c",
1887 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x48.c",
1888 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x56.c",
1889 "src/f32-vsqrt/gen/fma3-nr1fma1adj-x64.c",
1890 "src/math/sqrt-fma3-nr1fma.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07001891 "src/math/sqrt-fma3-nr1fma1adj.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001892 "src/math/sqrt-fma3-nr2fma.c",
Miao Wange9993472020-02-10 15:00:10 -08001893]
1894
1895AVX2_UKERNELS = [
Miao Wange9993472020-02-10 15:00:10 -08001896 "src/f32-raddexpminusmax/gen/avx2-p5-x64-acc2.c",
1897 "src/f32-raddexpminusmax/gen/avx2-p5-x64-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001898 "src/f32-raddexpminusmax/gen/avx2-p5-x64.c",
Miao Wange9993472020-02-10 15:00:10 -08001899 "src/f32-raddexpminusmax/gen/avx2-p5-x72-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001900 "src/f32-raddexpminusmax/gen/avx2-p5-x72.c",
Miao Wange9993472020-02-10 15:00:10 -08001901 "src/f32-raddexpminusmax/gen/avx2-p5-x80-acc2.c",
1902 "src/f32-raddexpminusmax/gen/avx2-p5-x80-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001903 "src/f32-raddexpminusmax/gen/avx2-p5-x80.c",
Miao Wange9993472020-02-10 15:00:10 -08001904 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc2.c",
1905 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc3.c",
1906 "src/f32-raddexpminusmax/gen/avx2-p5-x96-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001907 "src/f32-raddexpminusmax/gen/avx2-p5-x96.c",
Miao Wange9993472020-02-10 15:00:10 -08001908 "src/f32-raddextexp/gen/avx2-p5-x64-acc2.c",
1909 "src/f32-raddextexp/gen/avx2-p5-x64-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001910 "src/f32-raddextexp/gen/avx2-p5-x64.c",
Miao Wange9993472020-02-10 15:00:10 -08001911 "src/f32-raddextexp/gen/avx2-p5-x72-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001912 "src/f32-raddextexp/gen/avx2-p5-x72.c",
Miao Wange9993472020-02-10 15:00:10 -08001913 "src/f32-raddextexp/gen/avx2-p5-x80-acc2.c",
1914 "src/f32-raddextexp/gen/avx2-p5-x80-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001915 "src/f32-raddextexp/gen/avx2-p5-x80.c",
Miao Wange9993472020-02-10 15:00:10 -08001916 "src/f32-raddextexp/gen/avx2-p5-x96-acc2.c",
1917 "src/f32-raddextexp/gen/avx2-p5-x96-acc3.c",
1918 "src/f32-raddextexp/gen/avx2-p5-x96-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001919 "src/f32-raddextexp/gen/avx2-p5-x96.c",
Miao Wange9993472020-02-10 15:00:10 -08001920 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc2.c",
1921 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001922 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x64.c",
Miao Wange9993472020-02-10 15:00:10 -08001923 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x72-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001924 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x72.c",
Miao Wange9993472020-02-10 15:00:10 -08001925 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc2.c",
1926 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001927 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x80.c",
Miao Wange9993472020-02-10 15:00:10 -08001928 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc2.c",
1929 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc3.c",
1930 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001931 "src/f32-raddstoreexpminusmax/gen/avx2-p5-x96.c",
Miao Wange9993472020-02-10 15:00:10 -08001932 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x8.c",
1933 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x16.c",
1934 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x24.c",
1935 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x32.c",
1936 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x40.c",
1937 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x48.c",
1938 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x56.c",
1939 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x64.c",
1940 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x72.c",
1941 "src/f32-sigmoid/gen/avx2-rr1-p5-div-x80.c",
1942 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x8.c",
1943 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x16.c",
1944 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x24.c",
1945 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x32.c",
1946 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x40.c",
1947 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x48.c",
1948 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x56.c",
1949 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x64.c",
1950 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x72.c",
1951 "src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x80.c",
1952 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x8.c",
1953 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x16.c",
1954 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x24.c",
1955 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x32.c",
1956 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x40.c",
1957 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x48.c",
1958 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x56.c",
1959 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x64.c",
1960 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x72.c",
1961 "src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x80.c",
1962 "src/f32-vscaleexpminusmax/gen/avx2-p5-x8.c",
1963 "src/f32-vscaleexpminusmax/gen/avx2-p5-x16.c",
1964 "src/f32-vscaleexpminusmax/gen/avx2-p5-x24.c",
1965 "src/f32-vscaleexpminusmax/gen/avx2-p5-x32.c",
1966 "src/f32-vscaleexpminusmax/gen/avx2-p5-x40.c",
1967 "src/f32-vscaleexpminusmax/gen/avx2-p5-x48.c",
1968 "src/f32-vscaleexpminusmax/gen/avx2-p5-x56.c",
1969 "src/f32-vscaleexpminusmax/gen/avx2-p5-x64.c",
1970 "src/f32-vscaleexpminusmax/gen/avx2-p5-x72.c",
1971 "src/f32-vscaleexpminusmax/gen/avx2-p5-x80.c",
1972 "src/f32-vscaleexpminusmax/gen/avx2-p5-x88.c",
1973 "src/f32-vscaleexpminusmax/gen/avx2-p5-x96.c",
1974 "src/f32-vscaleextexp/gen/avx2-p5-x8.c",
1975 "src/f32-vscaleextexp/gen/avx2-p5-x16.c",
1976 "src/f32-vscaleextexp/gen/avx2-p5-x24.c",
1977 "src/f32-vscaleextexp/gen/avx2-p5-x32.c",
1978 "src/f32-vscaleextexp/gen/avx2-p5-x40.c",
1979 "src/f32-vscaleextexp/gen/avx2-p5-x48.c",
1980 "src/f32-vscaleextexp/gen/avx2-p5-x56.c",
1981 "src/f32-vscaleextexp/gen/avx2-p5-x64.c",
1982 "src/f32-vscaleextexp/gen/avx2-p5-x72.c",
1983 "src/f32-vscaleextexp/gen/avx2-p5-x80.c",
1984 "src/f32-vscaleextexp/gen/avx2-p5-x88.c",
1985 "src/f32-vscaleextexp/gen/avx2-p5-x96.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001986 "src/math/exp-avx2-rr2-lut8-p3-perm.c",
1987 "src/math/exp-avx2-rr2-lut8-p4-perm.c",
1988 "src/math/exp-avx2-rr2-p5.c",
1989 "src/math/expminus-avx2-rr2-p5.c",
1990 "src/math/expm1minus-avx2-rr1-lut4-p4-perm.c",
1991 "src/math/expm1minus-avx2-rr1-lut8-p4-perm.c",
1992 "src/math/expm1minus-avx2-rr1-lut16-p3-gather.c",
1993 "src/math/expm1minus-avx2-rr1-p6.c",
Miao Wange9993472020-02-10 15:00:10 -08001994 "src/math/extexp-avx2-p5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08001995 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-div.c",
1996 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr1fma.c",
1997 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma.c",
1998 "src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma1adj.c",
Miao Wange9993472020-02-10 15:00:10 -08001999 "src/math/sigmoid-avx2-rr1-p5-div.c",
Miao Wange9993472020-02-10 15:00:10 -08002000 "src/math/sigmoid-avx2-rr1-p5-nr1fma.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002001 "src/math/sigmoid-avx2-rr1-p5-nr2fma.c",
2002 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-div.c",
2003 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr1fma.c",
2004 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma.c",
2005 "src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma1adj.c",
2006 "src/math/sigmoid-avx2-rr2-p5-div.c",
2007 "src/math/sigmoid-avx2-rr2-p5-nr1fma.c",
2008 "src/math/sigmoid-avx2-rr2-p5-nr2fma.c",
2009 "src/qs8-dwconv/gen/up8x9-minmax-avx2-mul32.c",
2010 "src/qs8-dwconv/gen/up16x9-minmax-avx2-mul16.c",
2011 "src/qs8-dwconv/gen/up16x9-minmax-avx2-mul32.c",
2012 "src/qs8-dwconv/gen/up24x9-minmax-avx2-mul32.c",
2013 "src/qs8-dwconv/gen/up32x9-minmax-avx2-mul16.c",
2014 "src/qs8-dwconv/gen/up32x9-minmax-avx2-mul32.c",
2015 "src/qs8-gemm/gen/1x8c8-minmax-avx2.c",
2016 "src/qs8-gemm/gen/1x8c8-xw-minmax-avx2.c",
2017 "src/qs8-gemm/gen/2x8c8-minmax-avx2.c",
2018 "src/qs8-gemm/gen/2x8c8-xw-minmax-avx2.c",
2019 "src/qs8-gemm/gen/3x8c8-minmax-avx2.c",
2020 "src/qs8-gemm/gen/3x8c8-xw-minmax-avx2.c",
2021 "src/qs8-igemm/gen/1x8c8-minmax-avx2.c",
2022 "src/qs8-igemm/gen/2x8c8-minmax-avx2.c",
2023 "src/qs8-igemm/gen/3x8c8-minmax-avx2.c",
2024 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x8.c",
2025 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
2026 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x24.c",
2027 "src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x32.c",
2028 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c",
2029 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
2030 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x24.c",
2031 "src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x32.c",
Miao Wange9993472020-02-10 15:00:10 -08002032]
2033
2034AVX512F_UKERNELS = [
Miao Wang2534c2f2020-03-16 11:58:04 -07002035 "src/f32-clamp/gen/avx512f-x16.c",
2036 "src/f32-clamp/gen/avx512f-x32.c",
Miao Wang400e4042020-04-17 10:15:59 -07002037 "src/f32-dwconv/gen/up16x4-minmax-avx512f-acc2.c",
2038 "src/f32-dwconv/gen/up16x4-minmax-avx512f.c",
Miao Wang400e4042020-04-17 10:15:59 -07002039 "src/f32-dwconv/gen/up16x9-minmax-avx512f-acc2.c",
2040 "src/f32-dwconv/gen/up16x9-minmax-avx512f.c",
Miao Wang400e4042020-04-17 10:15:59 -07002041 "src/f32-dwconv/gen/up16x25-minmax-avx512f-acc2.c",
2042 "src/f32-dwconv/gen/up16x25-minmax-avx512f.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002043 "src/f32-dwconv/gen/up32x4-minmax-avx512f-acc2.c",
2044 "src/f32-dwconv/gen/up32x4-minmax-avx512f.c",
2045 "src/f32-dwconv/gen/up32x9-minmax-avx512f-acc2.c",
2046 "src/f32-dwconv/gen/up32x9-minmax-avx512f.c",
2047 "src/f32-dwconv/gen/up32x25-minmax-avx512f-acc2.c",
2048 "src/f32-dwconv/gen/up32x25-minmax-avx512f.c",
Miao Wang400e4042020-04-17 10:15:59 -07002049 "src/f32-gemm/gen-inc/1x16inc-minmax-avx512f-broadcast.c",
2050 "src/f32-gemm/gen-inc/4x16inc-minmax-avx512f-broadcast.c",
2051 "src/f32-gemm/gen-inc/5x16inc-minmax-avx512f-broadcast.c",
2052 "src/f32-gemm/gen-inc/6x16inc-minmax-avx512f-broadcast.c",
2053 "src/f32-gemm/gen-inc/7x16inc-minmax-avx512f-broadcast.c",
2054 "src/f32-gemm/gen-inc/8x16inc-minmax-avx512f-broadcast.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002055 "src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c",
2056 "src/f32-gemm/gen/4x16-minmax-avx512f-broadcast.c",
2057 "src/f32-gemm/gen/5x16-minmax-avx512f-broadcast.c",
2058 "src/f32-gemm/gen/6x16-minmax-avx512f-broadcast.c",
2059 "src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c",
2060 "src/f32-gemm/gen/8x16-minmax-avx512f-broadcast.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002061 "src/f32-hswish/gen/hswish-avx512f-x16.c",
2062 "src/f32-hswish/gen/hswish-avx512f-x32.c",
Miao Wang400e4042020-04-17 10:15:59 -07002063 "src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c",
2064 "src/f32-igemm/gen/4x16-minmax-avx512f-broadcast.c",
2065 "src/f32-igemm/gen/5x16-minmax-avx512f-broadcast.c",
2066 "src/f32-igemm/gen/6x16-minmax-avx512f-broadcast.c",
2067 "src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c",
2068 "src/f32-igemm/gen/8x16-minmax-avx512f-broadcast.c",
Miao Wang2534c2f2020-03-16 11:58:04 -07002069 "src/f32-prelu/gen/avx512f-2x16.c",
2070 "src/f32-prelu/gen/avx512f-2x32.c",
Miao Wange9993472020-02-10 15:00:10 -08002071 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
2072 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002073 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128.c",
Miao Wange9993472020-02-10 15:00:10 -08002074 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002075 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144.c",
Miao Wange9993472020-02-10 15:00:10 -08002076 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
2077 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002078 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160.c",
Miao Wange9993472020-02-10 15:00:10 -08002079 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
2080 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
2081 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002082 "src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192.c",
Miao Wange9993472020-02-10 15:00:10 -08002083 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc2.c",
2084 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002085 "src/f32-raddextexp/gen/avx512f-p5-scalef-x128.c",
Miao Wange9993472020-02-10 15:00:10 -08002086 "src/f32-raddextexp/gen/avx512f-p5-scalef-x144-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002087 "src/f32-raddextexp/gen/avx512f-p5-scalef-x144.c",
Miao Wange9993472020-02-10 15:00:10 -08002088 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc2.c",
2089 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002090 "src/f32-raddextexp/gen/avx512f-p5-scalef-x160.c",
Miao Wange9993472020-02-10 15:00:10 -08002091 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc2.c",
2092 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc3.c",
2093 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002094 "src/f32-raddextexp/gen/avx512f-p5-scalef-x192.c",
Miao Wange9993472020-02-10 15:00:10 -08002095 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
2096 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002097 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128.c",
Miao Wange9993472020-02-10 15:00:10 -08002098 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002099 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144.c",
Miao Wange9993472020-02-10 15:00:10 -08002100 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
2101 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002102 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160.c",
Miao Wange9993472020-02-10 15:00:10 -08002103 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
2104 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
2105 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002106 "src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002107 "src/f32-relu/gen/avx512f-x16.c",
2108 "src/f32-relu/gen/avx512f-x32.c",
Miao Wange9993472020-02-10 15:00:10 -08002109 "src/f32-rmax/avx512f.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002110 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x16.c",
2111 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x32.c",
2112 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x48.c",
2113 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x64.c",
2114 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x80.c",
2115 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x96.c",
2116 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x112.c",
2117 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x128.c",
2118 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x16.c",
2119 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x32.c",
2120 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x48.c",
2121 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x64.c",
2122 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x80.c",
2123 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x96.c",
2124 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x112.c",
2125 "src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x128.c",
2126 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x16.c",
2127 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x32.c",
2128 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x48.c",
2129 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x64.c",
2130 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x80.c",
2131 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x96.c",
2132 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x112.c",
2133 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x128.c",
2134 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x16.c",
2135 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x32.c",
2136 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x48.c",
2137 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x64.c",
2138 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x80.c",
2139 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x96.c",
2140 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x112.c",
2141 "src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x128.c",
2142 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x16.c",
2143 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x32.c",
2144 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x48.c",
2145 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c",
2146 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x80.c",
2147 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x96.c",
2148 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x112.c",
2149 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x128.c",
2150 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x16.c",
2151 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x32.c",
2152 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x48.c",
2153 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x64.c",
2154 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x80.c",
2155 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x96.c",
2156 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x112.c",
2157 "src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x128.c",
Miao Wang400e4042020-04-17 10:15:59 -07002158 "src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c",
2159 "src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c",
2160 "src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c",
2161 "src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c",
2162 "src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c",
2163 "src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c",
2164 "src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c",
2165 "src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c",
Miao Wange9993472020-02-10 15:00:10 -08002166 "src/f32-vbinary/gen/vmax-avx512f-x16.c",
2167 "src/f32-vbinary/gen/vmax-avx512f-x32.c",
2168 "src/f32-vbinary/gen/vmaxc-avx512f-x16.c",
2169 "src/f32-vbinary/gen/vmaxc-avx512f-x32.c",
2170 "src/f32-vbinary/gen/vmin-avx512f-x16.c",
2171 "src/f32-vbinary/gen/vmin-avx512f-x32.c",
2172 "src/f32-vbinary/gen/vminc-avx512f-x16.c",
2173 "src/f32-vbinary/gen/vminc-avx512f-x32.c",
Miao Wang400e4042020-04-17 10:15:59 -07002174 "src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c",
2175 "src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c",
2176 "src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c",
2177 "src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c",
2178 "src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c",
2179 "src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c",
2180 "src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c",
2181 "src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002182 "src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c",
2183 "src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c",
2184 "src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c",
2185 "src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c",
Miao Wang400e4042020-04-17 10:15:59 -07002186 "src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c",
2187 "src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c",
2188 "src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c",
2189 "src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002190 "src/f32-vlrelu/gen/vlrelu-avx512f-x16.c",
2191 "src/f32-vlrelu/gen/vlrelu-avx512f-x32.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002192 "src/f32-vrnd/gen/vrndd-avx512f-x16.c",
2193 "src/f32-vrnd/gen/vrndd-avx512f-x32.c",
2194 "src/f32-vrnd/gen/vrndne-avx512f-x16.c",
2195 "src/f32-vrnd/gen/vrndne-avx512f-x32.c",
2196 "src/f32-vrnd/gen/vrndu-avx512f-x16.c",
2197 "src/f32-vrnd/gen/vrndu-avx512f-x32.c",
2198 "src/f32-vrnd/gen/vrndz-avx512f-x16.c",
2199 "src/f32-vrnd/gen/vrndz-avx512f-x32.c",
2200 "src/f32-vscale/avx512f-x64.c",
Miao Wange9993472020-02-10 15:00:10 -08002201 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x16.c",
2202 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x32.c",
2203 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x48.c",
2204 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x64.c",
2205 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x80.c",
2206 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x96.c",
2207 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x112.c",
2208 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x128.c",
2209 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x144.c",
2210 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x160.c",
2211 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x176.c",
2212 "src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x192.c",
2213 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x16.c",
2214 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x32.c",
2215 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x48.c",
2216 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x64.c",
2217 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x80.c",
2218 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x96.c",
2219 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x112.c",
2220 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x128.c",
2221 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x144.c",
2222 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x160.c",
2223 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x176.c",
2224 "src/f32-vscaleextexp/gen/avx512f-p5-scalef-x192.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002225 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x16.c",
2226 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x32.c",
2227 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x48.c",
2228 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x64.c",
2229 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x80.c",
2230 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x96.c",
2231 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x112.c",
2232 "src/f32-vsqrt/gen/avx512f-nr1fma1adj-x128.c",
2233 "src/f32-vunary/gen/vabs-avx512f-x16.c",
2234 "src/f32-vunary/gen/vabs-avx512f-x32.c",
2235 "src/f32-vunary/gen/vneg-avx512f-x16.c",
2236 "src/f32-vunary/gen/vneg-avx512f-x32.c",
2237 "src/f32-vunary/gen/vsqr-avx512f-x16.c",
2238 "src/f32-vunary/gen/vsqr-avx512f-x32.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002239 "src/math/exp-avx512f-rr2-lut16-p3-perm-scalef.c",
2240 "src/math/exp-avx512f-rr2-lut16-p3-perm.c",
2241 "src/math/exp-avx512f-rr2-lut32-p2-perm2-scalef.c",
2242 "src/math/exp-avx512f-rr2-lut32-p2-perm2.c",
2243 "src/math/exp-avx512f-rr2-p5-scalef.c",
2244 "src/math/exp-avx512f-rr2-p5.c",
2245 "src/math/expm1minus-avx512f-rr1-lut16-p3-perm.c",
2246 "src/math/expm1minus-avx512f-rr1-p6.c",
Miao Wange9993472020-02-10 15:00:10 -08002247 "src/math/extexp-avx512f-p5.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002248 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-div.c",
2249 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma.c",
2250 "src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma1adj.c",
2251 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-div.c",
2252 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma.c",
2253 "src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma1adj.c",
2254 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-div.c",
2255 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma.c",
2256 "src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma1adj.c",
2257 "src/math/sigmoid-avx512f-rr1-p5-scalef-div.c",
2258 "src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma.c",
2259 "src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma1adj.c",
2260 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-div.c",
2261 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma.c",
2262 "src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma1adj.c",
2263 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div.c",
2264 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma.c",
2265 "src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma1adj.c",
2266 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-div.c",
2267 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma.c",
2268 "src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma1adj.c",
2269 "src/math/sigmoid-avx512f-rr2-p5-scalef-div.c",
2270 "src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma.c",
2271 "src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma1adj.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002272 "src/math/sqrt-avx512f-nr1fma.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002273 "src/math/sqrt-avx512f-nr1fma1adj.c",
Miao Wang5eea8312020-12-07 09:12:40 -08002274 "src/math/sqrt-avx512f-nr2fma.c",
2275]
2276
2277AVX512SKX_UKERNELS = [
2278 "src/qs8-dwconv/gen/up16x9-minmax-avx512skx-mul32.c",
2279 "src/qs8-dwconv/gen/up32x9-minmax-avx512skx-mul32.c",
2280 "src/qs8-gemm/gen/1x16c8-minmax-avx512skx.c",
2281 "src/qs8-gemm/gen/2x16c8-minmax-avx512skx.c",
2282 "src/qs8-gemm/gen/3x16c8-minmax-avx512skx.c",
2283 "src/qs8-gemm/gen/4x16c8-minmax-avx512skx.c",
2284 "src/qs8-igemm/gen/1x16c8-minmax-avx512skx.c",
2285 "src/qs8-igemm/gen/2x16c8-minmax-avx512skx.c",
2286 "src/qs8-igemm/gen/3x16c8-minmax-avx512skx.c",
2287 "src/qs8-igemm/gen/4x16c8-minmax-avx512skx.c",
Miao Wange9993472020-02-10 15:00:10 -08002288]
2289
2290AARCH32_ASM_UKERNELS = [
Miao Wang86f5fbe2020-07-24 11:16:10 -07002291 "src/f32-gemm/4x4-aarch32-vfp-ld64.S",
2292 "src/f32-gemm/4x4-minmax-aarch32-vfp-ld64.S",
Miao Wang400e4042020-04-17 10:15:59 -07002293 "src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a53.S",
2294 "src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a55.S",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002295 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
Miao Wang400e4042020-04-17 10:15:59 -07002296 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002297 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-ld64.S",
Miao Wang400e4042020-04-17 10:15:59 -07002298 "src/f32-gemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
Miao Wang400e4042020-04-17 10:15:59 -07002299 "src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a53.S",
2300 "src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a55.S",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002301 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
2302 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
2303 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-ld64.S",
2304 "src/f32-igemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
Miao Wange9993472020-02-10 15:00:10 -08002305]
2306
2307AARCH64_ASM_UKERNELS = [
Miao Wangc0aa11a2020-06-10 13:41:26 -07002308 "src/f16-gemm/gen-inc/1x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002309 "src/f16-gemm/gen-inc/1x16inc-minmax-aarch64-neonfp16arith-ld32.S",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002310 "src/f16-gemm/gen-inc/4x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002311 "src/f16-gemm/gen-inc/4x16inc-minmax-aarch64-neonfp16arith-ld32.S",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002312 "src/f16-gemm/gen-inc/6x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002313 "src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-ld32.S",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002314 "src/f16-gemm/gen-inc/8x8inc-minmax-aarch64-neonfp16arith-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002315 "src/f16-gemm/gen/1x8-minmax-aarch64-neonfp16arith-ld64.S",
2316 "src/f16-gemm/gen/1x16-minmax-aarch64-neonfp16arith-ld32.S",
2317 "src/f16-gemm/gen/4x8-minmax-aarch64-neonfp16arith-ld64.S",
2318 "src/f16-gemm/gen/4x16-minmax-aarch64-neonfp16arith-ld32.S",
2319 "src/f16-gemm/gen/6x8-minmax-aarch64-neonfp16arith-ld64.S",
2320 "src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-ld32.S",
2321 "src/f16-gemm/gen/8x8-minmax-aarch64-neonfp16arith-ld64.S",
Miao Wang400e4042020-04-17 10:15:59 -07002322 "src/f32-dwconv/up4x9-minmax-aarch64-neonfma-cortex-a55.S",
2323 "src/f32-dwconv/up4x9-minmax-aarch64-neonfma.S",
Miao Wang400e4042020-04-17 10:15:59 -07002324 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a53.S",
2325 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a57.S",
2326 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002327 "src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-ld64.S",
2328 "src/f32-gemm/gen-inc/1x12inc-minmax-aarch64-neonfma-cortex-a53.S",
Miao Wang400e4042020-04-17 10:15:59 -07002329 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a53.S",
2330 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a55.S",
2331 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a57.S",
2332 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang400e4042020-04-17 10:15:59 -07002333 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002334 "src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld128.S",
2335 "src/f32-gemm/gen-inc/4x12inc-minmax-aarch64-neonfma-cortex-a53.S",
Miao Wang400e4042020-04-17 10:15:59 -07002336 "src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a57.S",
2337 "src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a75.S",
2338 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a53.S",
2339 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a55.S",
Miao Wang400e4042020-04-17 10:15:59 -07002340 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a57.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002341 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a73.S",
Miao Wang400e4042020-04-17 10:15:59 -07002342 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang400e4042020-04-17 10:15:59 -07002343 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld64.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002344 "src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld128.S",
2345 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a53.S",
2346 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a57.S",
2347 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
2348 "src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-ld64.S",
2349 "src/f32-gemm/gen/1x12-minmax-aarch64-neonfma-cortex-a53.S",
2350 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a53.S",
2351 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a55.S",
2352 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a57.S",
2353 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
2354 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld64.S",
2355 "src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld128.S",
2356 "src/f32-gemm/gen/4x12-minmax-aarch64-neonfma-cortex-a53.S",
2357 "src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a57.S",
2358 "src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
2359 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a53.S",
2360 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a55.S",
2361 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a57.S",
2362 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a73.S",
2363 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
2364 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld64.S",
2365 "src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld128.S",
Miao Wang400e4042020-04-17 10:15:59 -07002366 "src/f32-igemm/1x8-minmax-aarch64-neonfma-cortex-a53.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002367 "src/f32-igemm/1x12-minmax-aarch64-neonfma-cortex-a53.S",
Miao Wang400e4042020-04-17 10:15:59 -07002368 "src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a53.S",
2369 "src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a55.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002370 "src/f32-igemm/4x12-minmax-aarch64-neonfma-cortex-a53.S",
2371 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a53.S",
2372 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a55.S",
2373 "src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a73.S",
2374 "src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a57.S",
2375 "src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang400e4042020-04-17 10:15:59 -07002376 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a57.S",
2377 "src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
2378 "src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a57.S",
2379 "src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang400e4042020-04-17 10:15:59 -07002380 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a57.S",
2381 "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
Miao Wang5eea8312020-12-07 09:12:40 -08002382 "src/qs8-gemm/1x16c4-aarch64-neondot-ld64.S",
2383 "src/qs8-gemm/4x16c4-aarch64-neondot-cortex-a55.S",
2384 "src/qs8-gemm/4x16c4-aarch64-neondot-ld64.S",
Miao Wange9993472020-02-10 15:00:10 -08002385]
2386
2387cc_defaults {
2388 name: "xnnpack_internal_default",
2389 vendor_available: true,
2390 sdk_version: "current",
2391 local_include_dirs: [
2392 "include",
2393 "src",
2394 ],
2395 cflags: [
2396 "-std=c99",
2397 "-DXNN_LOG_LEVEL=2",
2398 "-Wno-unused-parameter",
2399 "-Wno-missing-field-initializers",
2400 "-Wno-pointer-arith",
Miao Wangef75bc92020-07-25 09:15:12 -07002401 "-Wno-implicit-function-declaration",
Miao Wange9993472020-02-10 15:00:10 -08002402 ],
2403 stl: "libc++_static",
2404}
2405
2406cc_library_static {
2407 name: "xnnpack_tables",
2408 defaults: ["xnnpack_internal_default"],
2409 srcs: TABLE_SRCS,
2410}
2411
2412cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07002413 name: "xnnpack_logging_utils",
2414 defaults: ["xnnpack_internal_default"],
2415 srcs: LOGGING_SRCS,
2416 header_libs: [
2417 "fp16_headers",
2418 ],
2419 static_libs: [
2420 "libclog",
2421 "libpthreadpool",
2422 ],
2423}
2424
2425cc_library_static {
2426 name: "xnnpack_memory_planner",
2427 defaults: ["xnnpack_internal_default"],
2428 srcs: [
2429 "src/memory-planner.c",
2430 ],
2431 cflags: [
2432 "-DXNN_ENABLE_MEMOPT=1",
2433 ],
2434 header_libs: [
2435 "fp16_headers",
2436 ],
2437 static_libs: [
2438 "libpthreadpool",
2439 "xnnpack_logging_utils",
2440 ],
2441}
2442
2443cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002444 name: "xnnpack_im2col",
2445 defaults: ["xnnpack_internal_default"],
2446 srcs: [
2447 "src/im2col.c",
2448 ],
2449}
2450
2451cc_library_static {
2452 name: "xnnpack_indirection",
2453 defaults: ["xnnpack_internal_default"],
2454 srcs: [
2455 "src/indirection.c",
2456 ],
2457 header_libs: [
2458 "fp16_headers",
2459 "fxdiv_headers",
2460 ],
2461 static_libs: [
2462 "libpthreadpool",
2463 ],
2464}
2465
2466cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07002467 name: "xnnpack_packing",
2468 defaults: ["xnnpack_internal_default"],
2469 srcs: [
2470 "src/packing.c",
2471 ],
2472 header_libs: [
2473 "fp16_headers",
2474 "fxdiv_headers",
2475 ],
2476 static_libs: [
2477 "libpthreadpool",
2478 ],
2479}
2480
2481cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002482 name: "xnnpack_operator_run",
2483 defaults: ["xnnpack_internal_default"],
2484 srcs: [
2485 "src/operator-run.c",
2486 ],
2487 cflags: [
2488 "-Wno-vla",
2489 ],
2490 header_libs: [
2491 "fp16_headers",
2492 "fxdiv_headers",
2493 ],
2494 static_libs: [
2495 "libclog",
2496 "libpthreadpool",
2497 ],
2498}
2499
2500cc_library_static {
2501 name: "xnnpack_operators",
2502 defaults: ["xnnpack_internal_default"],
2503 srcs: OPERATOR_SRCS + [
2504 "src/memory.c",
2505 "src/operator-delete.c",
2506 ],
2507 header_libs: [
2508 "fp16_headers",
2509 "fxdiv_headers",
2510 ],
2511 static_libs: [
2512 "libclog",
2513 "libpthreadpool",
Miao Wang86f5fbe2020-07-24 11:16:10 -07002514 "xnnpack_logging_utils",
2515 "xnnpack_packing",
Miao Wange9993472020-02-10 15:00:10 -08002516 ],
2517 whole_static_libs: [
2518 "xnnpack_indirection",
2519 ],
2520}
2521
2522cc_library_static {
2523 name: "xnnpack_scalar_ukernels",
2524 defaults: ["xnnpack_internal_default"],
2525 srcs: SCALAR_UKERNELS,
2526 header_libs: [
2527 "fp16_headers",
2528 "fxdiv_headers",
2529 ],
2530 static_libs: [
2531 "libpthreadpool",
2532 "xnnpack_tables",
2533 ],
2534}
2535
2536cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002537 name: "xnnpack_psimd_accmath_ukernels",
2538 defaults: ["xnnpack_internal_default"],
2539 srcs: PSIMD_ACCMATH_UKERNELS,
2540 cflags: [
2541 "-O3",
2542 ],
2543 arch: {
2544 arm: {
2545 cflags: [
2546 "-marm",
2547 "-mfpu=neon",
2548 ],
2549 },
2550 },
2551 header_libs: [
2552 "fp16_headers",
2553 "psimd_headers",
2554 ],
2555 static_libs: [
2556 "libpthreadpool",
2557 "xnnpack_tables",
2558 ],
2559}
2560
2561cc_library_static {
2562 name: "xnnpack_neon_ukernels",
2563 defaults: ["xnnpack_internal_default"],
2564 arch: {
2565 arm: {
2566 srcs: NEON_UKERNELS,
2567 cflags: [
2568 "-marm",
2569 "-mfpu=neon",
2570 ],
2571 },
2572 arm64: {
2573 srcs: NEON_UKERNELS,
2574 },
2575 x86: { enabled: false, },
2576 x86_64: { enabled: false, },
2577 },
2578 header_libs: [
2579 "fp16_headers",
2580 ],
2581 static_libs: [
2582 "libpthreadpool",
2583 "xnnpack_tables",
2584 ],
2585}
2586
2587cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08002588 name: "xnnpack_neondot_ukernels",
2589 defaults: ["xnnpack_internal_default"],
2590 arch: {
2591 arm: {
2592 srcs: NEONDOT_UKERNELS,
2593 cflags: [
2594 "-marm",
2595 "-march=armv8.2-a+dotprod",
2596 "-mfpu=neon-fp-armv8",
2597 ],
2598 },
2599 arm64: {
2600 srcs: NEONDOT_UKERNELS,
2601 cflags: [
2602 "-march=armv8.2-a+dotprod",
2603 ],
2604 },
2605 x86: { enabled: false, },
2606 x86_64: { enabled: false, },
2607 },
2608 header_libs: [
2609 "fp16_headers",
2610 ],
2611 static_libs: [
2612 "libpthreadpool",
2613 "xnnpack_tables",
2614 ],
2615}
2616
2617cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002618 name: "xnnpack_neonfma_ukernels",
2619 defaults: ["xnnpack_internal_default"],
2620 arch: {
2621 arm: {
2622 srcs: NEONFMA_UKERNELS,
2623 cflags: [
2624 "-marm",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002625 "-march=armv7-a",
Miao Wange9993472020-02-10 15:00:10 -08002626 "-mfpu=neon-vfpv4",
2627 ],
2628 },
2629 arm64: {
2630 srcs: NEONFMA_UKERNELS + AARCH64_NEONFMA_UKERNELS,
2631 },
2632 x86: { enabled: false, },
2633 x86_64: { enabled: false, },
2634 },
2635 header_libs: [
2636 "fp16_headers",
2637 ],
2638 static_libs: [
2639 "libpthreadpool",
2640 "xnnpack_tables",
2641 ],
2642}
2643
2644cc_library_static {
Miao Wangc0aa11a2020-06-10 13:41:26 -07002645 name: "xnnpack_neonv8_ukernels",
2646 defaults: ["xnnpack_internal_default"],
2647 arch: {
2648 arm: {
2649 srcs: NEONV8_UKERNELS,
2650 cflags: [
2651 "-marm",
2652 "-march=armv8-a",
2653 "-mfpu=neon-fp-armv8",
2654 ],
2655 },
2656 arm64: {
2657 srcs: NEONV8_UKERNELS,
2658 },
2659 x86: { enabled: false, },
2660 x86_64: { enabled: false, },
2661 },
2662 header_libs: [
2663 "fp16_headers",
2664 ],
2665 static_libs: [
2666 "libpthreadpool",
2667 "xnnpack_tables",
2668 ],
2669}
2670
2671cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002672 name: "xnnpack_neonfp16arith_ukernels",
2673 defaults: ["xnnpack_internal_default"],
2674 arch: {
2675 arm: { enabled: false, },
2676 arm64: {
2677 srcs: AARCH64_NEONFP16ARITH_UKERNELS,
2678 cflags: [
2679 "-march=armv8.2-a+fp16",
2680 ],
2681 },
2682 x86: { enabled: false, },
2683 x86_64: { enabled: false, },
2684 },
2685 header_libs: [
2686 "fp16_headers",
2687 ],
2688 static_libs: [
2689 "libpthreadpool",
2690 "xnnpack_tables",
2691 ],
2692}
2693
2694cc_library_static {
2695 name: "xnnpack_asm_ukernels",
2696 defaults: ["xnnpack_internal_default"],
2697 arch: {
2698 arm: {
2699 srcs: AARCH32_ASM_UKERNELS,
2700 },
2701 arm64: {
2702 srcs: AARCH64_ASM_UKERNELS,
Miao Wang400e4042020-04-17 10:15:59 -07002703 clang_asflags: [
Miao Wang5eea8312020-12-07 09:12:40 -08002704 "-march=armv8.2-a+fp16+dotprod",
Miao Wang400e4042020-04-17 10:15:59 -07002705 ],
Miao Wange9993472020-02-10 15:00:10 -08002706 },
2707 x86: { enabled: false, },
2708 x86_64: { enabled: false, },
2709 },
2710}
2711
2712cc_library_static {
2713 name: "xnnpack_sse2_ukernels",
2714 defaults: ["xnnpack_internal_default"],
2715 arch: {
2716 arm: { enabled: false, },
2717 arm64: { enabled: false, },
2718 x86: {
2719 srcs: SSE_UKERNELS + SSE2_UKERNELS,
2720 cflags: [
2721 "-msse2",
2722 ],
2723 },
2724 x86_64: {
2725 srcs: SSE_UKERNELS + SSE2_UKERNELS,
2726 cflags: [
2727 "-msse2",
2728 ],
2729 },
2730 },
2731 header_libs: [
2732 "fp16_headers",
2733 ],
2734 static_libs: [
2735 "libpthreadpool",
2736 "xnnpack_tables",
2737 ],
2738}
2739
2740cc_library_static {
Miao Wang2534c2f2020-03-16 11:58:04 -07002741 name: "xnnpack_ssse3_ukernels",
2742 defaults: ["xnnpack_internal_default"],
2743 arch: {
2744 arm: { enabled: false, },
2745 arm64: { enabled: false, },
2746 x86: {
2747 srcs: SSSE3_UKERNELS,
2748 cflags: [
2749 "-mssse3",
2750 ],
2751 },
2752 x86_64: {
2753 srcs: SSSE3_UKERNELS,
2754 cflags: [
2755 "-mssse3",
2756 ],
2757 },
2758 },
2759 header_libs: [
2760 "fp16_headers",
2761 ],
2762 static_libs: [
2763 "libpthreadpool",
2764 "xnnpack_tables",
2765 ],
2766}
2767
2768cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002769 name: "xnnpack_sse41_ukernels",
2770 defaults: ["xnnpack_internal_default"],
2771 arch: {
2772 arm: { enabled: false, },
2773 arm64: { enabled: false, },
2774 x86: {
2775 srcs: SSE41_UKERNELS,
2776 cflags: [
2777 "-msse4.1",
2778 ],
2779 },
2780 x86_64: {
2781 srcs: SSE41_UKERNELS,
2782 cflags: [
2783 "-msse4.1",
2784 ],
2785 },
2786 },
2787 header_libs: [
2788 "fp16_headers",
2789 ],
2790 static_libs: [
2791 "libpthreadpool",
2792 "xnnpack_tables",
2793 ],
2794}
2795
2796cc_library_static {
2797 name: "xnnpack_avx_ukernels",
2798 defaults: ["xnnpack_internal_default"],
2799 arch: {
2800 arm: { enabled: false, },
2801 arm64: { enabled: false, },
2802 x86: {
2803 srcs: AVX_UKERNELS,
2804 cflags: [
2805 "-mavx",
2806 ],
2807 },
2808 x86_64: {
2809 srcs: AVX_UKERNELS,
2810 cflags: [
2811 "-mavx",
2812 ],
2813 },
2814 },
2815 header_libs: [
2816 "fp16_headers",
2817 ],
2818 static_libs: [
2819 "libpthreadpool",
2820 "xnnpack_tables",
2821 ],
2822}
2823
2824cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08002825 name: "xnnpack_xop_ukernels",
2826 defaults: ["xnnpack_internal_default"],
2827 arch: {
2828 arm: { enabled: false, },
2829 arm64: { enabled: false, },
2830 x86: {
2831 srcs: XOP_UKERNELS,
2832 cflags: [
2833 "-mxop",
2834 ],
2835 },
2836 x86_64: {
2837 srcs: XOP_UKERNELS,
2838 cflags: [
2839 "-mxop",
2840 ],
2841 },
2842 },
2843 header_libs: [
2844 "fp16_headers",
2845 ],
2846 static_libs: [
2847 "libpthreadpool",
2848 "xnnpack_tables",
2849 ],
2850}
2851
2852cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002853 name: "xnnpack_fma3_ukernels",
2854 defaults: ["xnnpack_internal_default"],
2855 arch: {
2856 arm: { enabled: false, },
2857 arm64: { enabled: false, },
2858 x86: {
2859 srcs: FMA3_UKERNELS,
2860 cflags: [
2861 "-mfma",
2862 ],
2863 },
2864 x86_64: {
2865 srcs: FMA3_UKERNELS,
2866 cflags: [
2867 "-mfma",
2868 ],
2869 },
2870 },
2871 header_libs: [
2872 "fp16_headers",
2873 ],
2874 static_libs: [
2875 "libpthreadpool",
2876 "xnnpack_tables",
2877 ],
2878}
2879
2880cc_library_static {
2881 name: "xnnpack_avx2_ukernels",
2882 defaults: ["xnnpack_internal_default"],
2883 arch: {
2884 arm: { enabled: false, },
2885 arm64: { enabled: false, },
2886 x86: {
2887 srcs: AVX2_UKERNELS,
2888 cflags: [
2889 "-mfma",
2890 "-mavx2",
2891 ],
2892 },
2893 x86_64: {
2894 srcs: AVX2_UKERNELS,
2895 cflags: [
2896 "-mfma",
2897 "-mavx2",
2898 ],
2899 },
2900 },
2901 header_libs: [
2902 "fp16_headers",
2903 ],
2904 static_libs: [
2905 "libpthreadpool",
2906 "xnnpack_tables",
2907 ],
2908}
2909
2910cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08002911 name: "xnnpack_avx512skx_ukernels",
2912 defaults: ["xnnpack_internal_default"],
2913 arch: {
2914 arm: { enabled: false, },
2915 arm64: { enabled: false, },
2916 x86: {
2917 srcs: AVX512SKX_UKERNELS,
2918 cflags: [
2919 "-mavx512f",
2920 "-mavx512cd",
2921 "-mavx512bw",
2922 "-mavx512dq",
2923 "-mavx512vl",
2924 ],
2925 },
2926 x86_64: {
2927 srcs: AVX512SKX_UKERNELS,
2928 cflags: [
2929 "-mavx512f",
2930 "-mavx512cd",
2931 "-mavx512bw",
2932 "-mavx512dq",
2933 "-mavx512vl",
2934 ],
2935 },
2936 },
2937 header_libs: [
2938 "fp16_headers",
2939 ],
2940 static_libs: [
2941 "libpthreadpool",
2942 "xnnpack_tables",
2943 ],
2944}
2945
2946cc_library_static {
Miao Wange9993472020-02-10 15:00:10 -08002947 name: "xnnpack_avx512f_ukernels",
2948 defaults: ["xnnpack_internal_default"],
2949 arch: {
2950 arm: { enabled: false, },
2951 arm64: { enabled: false, },
2952 x86: {
2953 srcs: AVX512F_UKERNELS,
2954 cflags: [
2955 "-mavx512f",
2956 ],
2957 },
2958 x86_64: {
2959 srcs: AVX512F_UKERNELS,
2960 cflags: [
2961 "-mavx512f",
2962 ],
2963 },
2964 },
2965 header_libs: [
2966 "fp16_headers",
2967 ],
2968 static_libs: [
2969 "libpthreadpool",
2970 "xnnpack_tables",
2971 ],
2972}
2973
2974cc_library_static {
2975 name: "xnnpack_ukernels",
2976 defaults: ["xnnpack_internal_default"],
2977 arch: {
2978 arm: {
2979 whole_static_libs: [
Miao Wange9993472020-02-10 15:00:10 -08002980 "xnnpack_psimd_accmath_ukernels",
2981 "xnnpack_neon_ukernels",
2982 "xnnpack_neonfma_ukernels",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002983 "xnnpack_neonv8_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08002984 "xnnpack_neondot_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08002985 "xnnpack_asm_ukernels",
2986 ],
2987 },
2988 arm64: {
2989 whole_static_libs: [
Miao Wange9993472020-02-10 15:00:10 -08002990 "xnnpack_psimd_accmath_ukernels",
2991 "xnnpack_neon_ukernels",
2992 "xnnpack_neonfma_ukernels",
Miao Wangc0aa11a2020-06-10 13:41:26 -07002993 "xnnpack_neonv8_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08002994 "xnnpack_neonfp16arith_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08002995 "xnnpack_neondot_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08002996 "xnnpack_asm_ukernels",
2997 ],
2998 },
2999 x86: {
3000 whole_static_libs: [
Miao Wange9993472020-02-10 15:00:10 -08003001 "xnnpack_psimd_accmath_ukernels",
3002 "xnnpack_sse2_ukernels",
Miao Wang2534c2f2020-03-16 11:58:04 -07003003 "xnnpack_ssse3_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003004 "xnnpack_sse41_ukernels",
3005 "xnnpack_avx_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08003006 "xnnpack_xop_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003007 "xnnpack_fma3_ukernels",
3008 "xnnpack_avx2_ukernels",
3009 "xnnpack_avx512f_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08003010 "xnnpack_avx512skx_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003011 ],
3012 },
3013 x86_64: {
3014 whole_static_libs: [
Miao Wange9993472020-02-10 15:00:10 -08003015 "xnnpack_psimd_accmath_ukernels",
3016 "xnnpack_sse2_ukernels",
Miao Wang2534c2f2020-03-16 11:58:04 -07003017 "xnnpack_ssse3_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003018 "xnnpack_sse41_ukernels",
3019 "xnnpack_avx_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08003020 "xnnpack_xop_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003021 "xnnpack_fma3_ukernels",
3022 "xnnpack_avx2_ukernels",
3023 "xnnpack_avx512f_ukernels",
Miao Wang5eea8312020-12-07 09:12:40 -08003024 "xnnpack_avx512skx_ukernels",
Miao Wange9993472020-02-10 15:00:10 -08003025 ],
3026 },
3027 },
3028 whole_static_libs: [
3029 "xnnpack_scalar_ukernels",
3030 "xnnpack_tables",
3031 ],
3032}
3033
3034cc_library_static {
3035 name: "libXNNPACK",
3036 defaults: ["xnnpack_internal_default"],
3037 export_include_dirs: ["include"],
3038 srcs: [
3039 "src/init.c",
3040 "src/runtime.c",
3041 "src/subgraph.c",
3042 "src/tensor.c",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003043 ] + SUBGRAPH_SRCS,
3044 header_libs: [
3045 "fp16_headers",
Miao Wange9993472020-02-10 15:00:10 -08003046 ],
3047 whole_static_libs: [
3048 "libclog",
3049 "libcpuinfo",
3050 "libpthreadpool",
3051 "xnnpack_ukernels",
3052 "xnnpack_operator_run",
3053 "xnnpack_operators",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003054 "xnnpack_logging_utils",
3055 "xnnpack_memory_planner",
3056 "xnnpack_packing",
Miao Wange9993472020-02-10 15:00:10 -08003057 ],
3058}
3059
3060// Tests and benchmarks
3061cc_defaults {
3062 name: "xnnpack_tests_default",
3063 vendor_available: true,
3064 stl: "libc++_static",
3065 local_include_dirs: [
3066 "bench",
3067 "models",
3068 "test",
3069 "src",
3070 ],
3071 cflags: [
Miao Wang400e4042020-04-17 10:15:59 -07003072 "-Wno-unused-function",
3073 "-Wno-unused-parameter",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003074 "-Wno-unused-private-field",
Miao Wange9993472020-02-10 15:00:10 -08003075 ],
3076 header_libs: [
3077 "fp16_headers",
3078 ],
3079 static_libs: [
3080 "libXNNPACK",
3081 "libpthreadpool",
3082 "libgmock",
3083 ],
3084 shared_libs: [
3085 "liblog",
3086 ],
3087}
3088
3089cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003090 name: "xnnpack_mobilenet_v1_fp32",
Miao Wange9993472020-02-10 15:00:10 -08003091 defaults: ["xnnpack_tests_default"],
3092 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003093 "models/fp32-mobilenet-v1.cc",
Miao Wange9993472020-02-10 15:00:10 -08003094 ],
3095}
3096
3097cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08003098 name: "xnnpack_qs8_mobilenet_v1",
3099 defaults: ["xnnpack_tests_default"],
3100 srcs: [
3101 "models/qs8-mobilenet-v1.cc",
3102 ],
3103}
3104
3105cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003106 name: "xnnpack_mobilenet_v1_fp16",
Miao Wange9993472020-02-10 15:00:10 -08003107 defaults: ["xnnpack_tests_default"],
3108 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003109 "models/fp16-mobilenet-v1.cc",
Miao Wange9993472020-02-10 15:00:10 -08003110 ],
3111}
3112
3113cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08003114 name: "xnnpack_qs8_mobilenet_v2",
3115 defaults: ["xnnpack_tests_default"],
3116 srcs: [
3117 "models/qs8-mobilenet-v2.cc",
3118 ],
3119}
3120
3121cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003122 name: "xnnpack_mobilenet_v2_fp32",
Miao Wange9993472020-02-10 15:00:10 -08003123 defaults: ["xnnpack_tests_default"],
3124 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003125 "models/fp32-mobilenet-v2.cc",
Miao Wange9993472020-02-10 15:00:10 -08003126 ],
3127}
3128
3129cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003130 name: "xnnpack_mobilenet_v2_fp16",
Miao Wange9993472020-02-10 15:00:10 -08003131 defaults: ["xnnpack_tests_default"],
3132 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003133 "models/fp16-mobilenet-v2.cc",
3134 ],
3135}
3136
3137
3138cc_library_static {
3139 name: "xnnpack_mobilenet_v3_large_fp32",
3140 defaults: ["xnnpack_tests_default"],
3141 srcs: [
3142 "models/fp32-mobilenet-v3-large.cc",
3143 ],
3144}
3145
3146cc_library_static {
Miao Wang5eea8312020-12-07 09:12:40 -08003147 name: "xnnpack_mobilenet_v3_large_fp16",
3148 defaults: ["xnnpack_tests_default"],
3149 srcs: [
3150 "models/fp16-mobilenet-v3-large.cc",
3151 ],
3152}
3153
3154cc_library_static {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003155 name: "xnnpack_mobilenet_v3_small_fp32",
3156 defaults: ["xnnpack_tests_default"],
3157 srcs: [
3158 "models/fp32-mobilenet-v3-small.cc",
Miao Wange9993472020-02-10 15:00:10 -08003159 ],
3160}
3161
Miao Wang5eea8312020-12-07 09:12:40 -08003162cc_library_static {
3163 name: "xnnpack_mobilenet_v3_small_fp16",
3164 defaults: ["xnnpack_tests_default"],
3165 srcs: [
3166 "models/fp16-mobilenet-v3-small.cc",
3167 ],
3168}
3169
Miao Wange9993472020-02-10 15:00:10 -08003170cc_benchmark {
3171 name: "xnnpack_end2end_bench",
3172 defaults: ["xnnpack_tests_default"],
3173 srcs: [
3174 "bench/end2end.cc",
3175 "bench/utils.cc",
3176 ],
3177 cflags: [
3178 "-Wno-unused-result"
3179 ],
3180 static_libs: [
3181 "libcpuinfo",
3182 "libgoogle-benchmark",
Miao Wang5eea8312020-12-07 09:12:40 -08003183 "xnnpack_qs8_mobilenet_v1",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003184 "xnnpack_mobilenet_v1_fp32",
3185 "xnnpack_mobilenet_v1_fp16",
Miao Wang5eea8312020-12-07 09:12:40 -08003186 "xnnpack_qs8_mobilenet_v2",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003187 "xnnpack_mobilenet_v2_fp32",
3188 "xnnpack_mobilenet_v2_fp16",
3189 "xnnpack_mobilenet_v3_large_fp32",
Miao Wang5eea8312020-12-07 09:12:40 -08003190 "xnnpack_mobilenet_v3_large_fp16",
Miao Wang86f5fbe2020-07-24 11:16:10 -07003191 "xnnpack_mobilenet_v3_small_fp32",
Miao Wang5eea8312020-12-07 09:12:40 -08003192 "xnnpack_mobilenet_v3_small_fp16",
Miao Wange9993472020-02-10 15:00:10 -08003193 ],
3194}
3195
3196cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003197 name: "xnnpack_abs_nc_test",
Miao Wange9993472020-02-10 15:00:10 -08003198 defaults: ["xnnpack_tests_default"],
3199 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003200 "test/abs-nc.cc",
Miao Wange9993472020-02-10 15:00:10 -08003201 ],
3202 test_suites: [
3203 "general-tests",
3204 ],
3205}
3206
3207cc_test {
3208 name: "xnnpack_add_nd_test",
3209 defaults: ["xnnpack_tests_default"],
3210 srcs: [
3211 "test/add-nd.cc",
3212 ],
3213 test_suites: [
3214 "general-tests",
3215 ],
3216}
3217
3218cc_test {
3219 name: "xnnpack_argmax_pooling_nhwc_test",
3220 defaults: ["xnnpack_tests_default"],
3221 srcs: [
3222 "test/argmax-pooling-nhwc.cc",
3223 ],
3224 test_suites: [
3225 "general-tests",
3226 ],
3227}
3228
3229cc_test {
3230 name: "xnnpack_average_pooling_nhwc_test",
3231 defaults: ["xnnpack_tests_default"],
3232 srcs: [
3233 "test/average-pooling-nhwc.cc",
3234 ],
3235 test_suites: [
3236 "general-tests",
3237 ],
3238}
3239
3240cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003241 name: "xnnpack_bankers_rounding_nc_test",
Miao Wange9993472020-02-10 15:00:10 -08003242 defaults: ["xnnpack_tests_default"],
3243 srcs: [
Miao Wang86f5fbe2020-07-24 11:16:10 -07003244 "test/bankers-rounding-nc.cc",
3245 ],
3246 test_suites: [
3247 "general-tests",
3248 ],
3249}
3250
3251cc_test {
3252 name: "xnnpack_ceiling_nc_test",
3253 defaults: ["xnnpack_tests_default"],
3254 srcs: [
3255 "test/ceiling-nc.cc",
Miao Wange9993472020-02-10 15:00:10 -08003256 ],
3257 test_suites: [
3258 "general-tests",
3259 ],
3260}
3261
3262cc_test {
3263 name: "xnnpack_channel_shuffle_nc_test",
3264 defaults: ["xnnpack_tests_default"],
3265 srcs: [
3266 "test/channel-shuffle-nc.cc",
3267 ],
3268 test_suites: [
3269 "general-tests",
3270 ],
3271}
3272
3273cc_test {
3274 name: "xnnpack_clamp_nc_test",
3275 defaults: ["xnnpack_tests_default"],
3276 srcs: [
3277 "test/clamp-nc.cc",
3278 ],
3279 test_suites: [
3280 "general-tests",
3281 ],
3282}
3283
3284cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003285 name: "xnnpack_constant_pad_nd_test",
3286 defaults: ["xnnpack_tests_default"],
3287 srcs: [
3288 "test/constant-pad-nd.cc",
3289 ],
3290 test_suites: [
3291 "general-tests",
3292 ],
3293}
3294
3295cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003296 name: "xnnpack_convolution_nhwc_test",
3297 defaults: ["xnnpack_tests_default"],
3298 srcs: [
3299 "test/convolution-nhwc.cc",
3300 ],
3301 test_suites: [
3302 "general-tests",
3303 ],
3304}
3305
3306cc_test {
3307 name: "xnnpack_convolution_nchw_test",
3308 defaults: ["xnnpack_tests_default"],
3309 srcs: [
3310 "test/convolution-nchw.cc",
3311 ],
3312 test_suites: [
3313 "general-tests",
3314 ],
3315}
3316
3317cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003318 name: "xnnpack_copy_nc_test",
3319 defaults: ["xnnpack_tests_default"],
3320 srcs: [
3321 "test/copy-nc.cc",
3322 ],
3323 test_suites: [
3324 "general-tests",
3325 ],
3326}
3327
3328cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003329 name: "xnnpack_deconvolution_nhwc_test",
3330 defaults: ["xnnpack_tests_default"],
3331 srcs: [
3332 "test/deconvolution-nhwc.cc",
3333 ],
3334 test_suites: [
3335 "general-tests",
3336 ],
3337}
3338
3339cc_test {
3340 name: "xnnpack_divide_nd_test",
3341 defaults: ["xnnpack_tests_default"],
3342 srcs: [
3343 "test/divide-nd.cc",
3344 ],
3345 test_suites: [
3346 "general-tests",
3347 ],
3348}
3349
3350cc_test {
3351 name: "xnnpack_fully_connected_nc_test",
3352 defaults: ["xnnpack_tests_default"],
3353 srcs: [
3354 "test/fully-connected-nc.cc",
3355 ],
3356 test_suites: [
3357 "general-tests",
3358 ],
3359}
3360
3361cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003362 name: "xnnpack_floor_nc_test",
3363 defaults: ["xnnpack_tests_default"],
3364 srcs: [
3365 "test/floor-nc.cc",
3366 ],
3367 test_suites: [
3368 "general-tests",
3369 ],
3370}
3371
3372cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003373 name: "xnnpack_global_average_pooling_nwc_test",
3374 defaults: ["xnnpack_tests_default"],
3375 srcs: [
3376 "test/global-average-pooling-nwc.cc",
3377 ],
3378 test_suites: [
3379 "general-tests",
3380 ],
3381}
3382
3383cc_test {
3384 name: "xnnpack_global_average_pooling_ncw_test",
3385 defaults: ["xnnpack_tests_default"],
3386 srcs: [
3387 "test/global-average-pooling-ncw.cc",
3388 ],
3389 test_suites: [
3390 "general-tests",
3391 ],
3392}
3393
3394cc_test {
3395 name: "xnnpack_hardswish_nc_test",
3396 defaults: ["xnnpack_tests_default"],
3397 srcs: [
3398 "test/hardswish-nc.cc",
3399 ],
3400 test_suites: [
3401 "general-tests",
3402 ],
3403}
3404
3405cc_test {
3406 name: "xnnpack_leaky_relu_nc_test",
3407 defaults: ["xnnpack_tests_default"],
3408 srcs: [
3409 "test/leaky-relu-nc.cc",
3410 ],
3411 test_suites: [
3412 "general-tests",
3413 ],
3414}
3415
3416cc_test {
3417 name: "xnnpack_max_pooling_nhwc_test",
3418 defaults: ["xnnpack_tests_default"],
3419 srcs: [
3420 "test/max-pooling-nhwc.cc",
3421 ],
3422 test_suites: [
3423 "general-tests",
3424 ],
3425}
3426
3427cc_test {
3428 name: "xnnpack_maximum_nd_test",
3429 defaults: ["xnnpack_tests_default"],
3430 srcs: [
3431 "test/maximum-nd.cc",
3432 ],
3433 test_suites: [
3434 "general-tests",
3435 ],
3436}
3437
3438cc_test {
3439 name: "xnnpack_minimum_nd_test",
3440 defaults: ["xnnpack_tests_default"],
3441 srcs: [
3442 "test/minimum-nd.cc",
3443 ],
3444 test_suites: [
3445 "general-tests",
3446 ],
3447}
3448
3449cc_test {
3450 name: "xnnpack_multiply_nd_test",
3451 defaults: ["xnnpack_tests_default"],
3452 srcs: [
3453 "test/multiply-nd.cc",
3454 ],
3455 test_suites: [
3456 "general-tests",
3457 ],
3458}
3459
3460cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003461 name: "xnnpack_negate_nc_test",
3462 defaults: ["xnnpack_tests_default"],
3463 srcs: [
3464 "test/negate-nc.cc",
3465 ],
3466 test_suites: [
3467 "general-tests",
3468 ],
3469}
3470
3471cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003472 name: "xnnpack_prelu_nc_test",
3473 defaults: ["xnnpack_tests_default"],
3474 srcs: [
3475 "test/prelu-nc.cc",
3476 ],
3477 test_suites: [
3478 "general-tests",
3479 ],
3480}
3481
3482cc_test {
3483 name: "xnnpack_resize_bilinear_nhwc_test",
3484 defaults: ["xnnpack_tests_default"],
3485 srcs: [
3486 "test/resize-bilinear-nhwc.cc",
3487 ],
3488 test_suites: [
3489 "general-tests",
3490 ],
3491}
3492
3493cc_test {
3494 name: "xnnpack_sigmoid_nc_test",
3495 defaults: ["xnnpack_tests_default"],
3496 srcs: [
3497 "test/sigmoid-nc.cc",
3498 ],
3499 test_suites: [
3500 "general-tests",
3501 ],
3502}
3503
3504cc_test {
3505 name: "xnnpack_softmax_nc_test",
3506 defaults: ["xnnpack_tests_default"],
3507 srcs: [
3508 "test/softmax-nc.cc",
3509 ],
3510 test_suites: [
3511 "general-tests",
3512 ],
3513}
3514
3515cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003516 name: "xnnpack_square_nc_test",
3517 defaults: ["xnnpack_tests_default"],
3518 srcs: [
3519 "test/square-nc.cc",
3520 ],
3521 test_suites: [
3522 "general-tests",
3523 ],
3524}
3525
3526cc_test {
3527 name: "xnnpack_square_root_nc_test",
3528 defaults: ["xnnpack_tests_default"],
3529 srcs: [
3530 "test/square-root-nc.cc",
3531 ],
3532 test_suites: [
3533 "general-tests",
3534 ],
3535}
3536
3537cc_test {
3538 name: "xnnpack_square_difference_nd_test",
3539 defaults: ["xnnpack_tests_default"],
3540 srcs: [
3541 "test/squared-difference-nd.cc",
3542 ],
3543 test_suites: [
3544 "general-tests",
3545 ],
3546}
3547
3548cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003549 name: "xnnpack_subtract_nd_test",
3550 defaults: ["xnnpack_tests_default"],
3551 srcs: [
3552 "test/subtract-nd.cc",
3553 ],
3554 test_suites: [
3555 "general-tests",
3556 ],
3557}
3558
3559cc_test {
Miao Wang86f5fbe2020-07-24 11:16:10 -07003560 name: "xnnpack_truncation_nc_test",
3561 defaults: ["xnnpack_tests_default"],
3562 srcs: [
3563 "test/truncation-nc.cc",
3564 ],
3565 test_suites: [
3566 "general-tests",
3567 ],
3568}
3569
3570cc_test {
Miao Wange9993472020-02-10 15:00:10 -08003571 name: "xnnpack_unpooling_nhwc_test",
3572 defaults: ["xnnpack_tests_default"],
3573 srcs: [
3574 "test/unpooling-nhwc.cc",
3575 ],
3576 test_suites: [
3577 "general-tests",
3578 ],
3579}