• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2021 Google LLC
2#
3# This source code is licensed under the BSD-style license found in the
4# LICENSE file in the root directory of this source tree.
5
6# ARM NEON
7- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__neon_mul16
8  init: xnn_init_qs8_conv_minmax_fp32_neon_params
9- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__neonv8_mul16
10  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
11- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__neon_mul16
12  init: xnn_init_qs8_conv_minmax_fp32_neon_params
13- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__neonv8_mul16
14  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
15- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__neon_mul16
16  init: xnn_init_qs8_conv_minmax_fp32_neon_params
17- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__neonv8_mul16
18  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
19- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__neon_mul16
20  init: xnn_init_qs8_conv_minmax_fp32_neon_params
21- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__neonv8_mul16
22  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
23- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__neon_mul16
24  init: xnn_init_qs8_conv_minmax_fp32_neon_params
25- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__neonv8_mul16
26  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
27- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__neon_mul16
28  init: xnn_init_qs8_conv_minmax_fp32_neon_params
29- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__neonv8_mul16
30  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
31- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__neon_mul16
32  init: xnn_init_qs8_conv_minmax_fp32_neon_params
33- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__neonv8_mul16
34  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
35- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__neon_mul16
36  init: xnn_init_qs8_conv_minmax_fp32_neon_params
37- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__neonv8_mul16
38  init: xnn_init_qs8_conv_minmax_fp32_neonv8_params
39# x86 SSE
40- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__sse2_mul16
41  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
42- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__sse2_mul16_add16
43  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
44- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__sse41_mul16
45  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
46- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__sse41_mul16_add16
47  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
48- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__sse41_mul32
49  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
50- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__sse2_mul16
51  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
52- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__sse2_mul16_add16
53  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
54- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__sse41_mul16
55  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
56- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__sse41_mul16_add16
57  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
58- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__sse41_mul32
59  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
60- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__sse2_mul16
61  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
62- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__sse2_mul16_add16
63  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
64- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__sse41_mul16
65  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
66- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__sse41_mul16_add16
67  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
68- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__sse41_mul32
69  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
70- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__sse2_mul16
71  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
72- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__sse2_mul16_add16
73  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
74- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__sse41_mul16
75  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
76- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__sse41_mul16_add16
77  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
78- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__sse41_mul32
79  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
80- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__sse2_mul16
81  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
82- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__sse41_mul16
83  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
84- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__sse41_mul32
85  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
86- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__sse2_mul16
87  init: xnn_init_qs8_conv_minmax_fp32_sse2_params
88- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__sse41_mul16
89  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
90- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__sse41_mul32
91  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
92# x86 AVX
93- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__avx_mul16
94  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
95- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__avx_mul16_add16
96  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
97- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__avx_mul32
98  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
99- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__avx2_mul32
100  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
101- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__xop_mul16_add16
102  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
103- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__xop_mul32
104  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
105- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__avx_mul16
106  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
107- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__avx_mul16_add16
108  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
109- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__avx_mul32
110  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
111- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__avx2_mul32
112  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
113- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__xop_mul16_add16
114  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
115- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__xop_mul32
116  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
117- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx_mul16
118  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
119- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx_mul16_add16
120  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
121- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx_mul32
122  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
123- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx2_mul16_add16_vpunpck
124  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
125- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx2_mul16_vpmovsx
126  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
127- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx2_mul16_vpunpck
128  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
129- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx2_mul32
130  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
131- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__xop_mul16_add16
132  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
133- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__xop_mul32
134  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
135- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx_mul16
136  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
137- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx_mul16_add16
138  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
139- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx_mul32
140  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
141- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx2_mul16_add16_vpunpck
142  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
143- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx2_mul16_vpmovsx
144  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
145- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx2_mul16_vpunpck
146  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
147- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx2_mul32
148  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
149- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__xop_mul16_add16
150  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
151- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__xop_mul32
152  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
153- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__avx_mul16
154  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
155- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__avx_mul32
156  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
157- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__avx2_mul32
158  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
159- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__xop_mul32
160  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
161- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__avx_mul16
162  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
163- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__avx_mul32
164  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
165- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__avx2_mul32
166  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
167- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__xop_mul32
168  init: xnn_init_qs8_conv_minmax_fp32_sse4_params
169- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__avx2_mul16_add16_vpunpck
170  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
171- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__avx2_mul16_vpmovsx
172  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
173- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__avx2_mul16_vpunpck
174  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
175- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__avx2_mul32
176  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
177- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__avx2_mul16_add16_vpunpck
178  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
179- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__avx2_mul16_vpmovsx
180  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
181- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__avx2_mul16_vpunpck
182  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
183- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__avx2_mul32
184  init: xnn_init_qs8_conv_minmax_fp32_avx2_params
185# x86 AVX512
186- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__avx512skx_mul32
187  init: xnn_init_qs8_conv_minmax_fp32_avx512_params
188- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__avx512skx_mul32
189  init: xnn_init_qs8_conv_minmax_fp32_avx512_params
190- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x9__avx512skx_mul32
191  init: xnn_init_qs8_conv_minmax_fp32_avx512_params
192- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up32x25__avx512skx_mul32
193  init: xnn_init_qs8_conv_minmax_fp32_avx512_params
194# WAsm SIMD
195- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__wasmsimd_mul16
196  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
197- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x9__wasmsimd_mul16_add16
198  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
199- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__wasmsimd_mul16
200  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
201- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up8x25__wasmsimd_mul16_add16
202  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
203- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__wasmsimd_mul16
204  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
205- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x9__wasmsimd_mul16_add16
206  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
207- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__wasmsimd_mul16
208  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
209- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up16x25__wasmsimd_mul16_add16
210  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
211- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__wasmsimd_mul16
212  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
213- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x9__wasmsimd_mul16_add16
214  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
215- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__wasmsimd_mul16
216  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
217- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up24x25__wasmsimd_mul16_add16
218  init: xnn_init_qs8_conv_minmax_fp32_wasmsimd_params
219# WAsm
220- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x9__wasm_fmagic
221  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
222- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x25__wasm_fmagic
223  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
224- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x9__wasm_fmagic
225  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
226- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x25__wasm_fmagic
227  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
228- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x9__wasm_fmagic
229  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
230- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x25__wasm_fmagic
231  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
232# Scalar
233- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x9__scalar_fmagic
234  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
235- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x9__scalar_imagic
236  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
237- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x9__scalar_lrintf
238  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
239- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x25__scalar_fmagic
240  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
241- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x25__scalar_imagic
242  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
243- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up1x25__scalar_lrintf
244  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
245- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x9__scalar_fmagic
246  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
247- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x9__scalar_imagic
248  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
249- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x9__scalar_lrintf
250  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
251- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x25__scalar_fmagic
252  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
253- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x25__scalar_imagic
254  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
255- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up2x25__scalar_lrintf
256  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
257- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x9__scalar_fmagic
258  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
259- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x9__scalar_imagic
260  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
261- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x9__scalar_lrintf
262  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
263- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x25__scalar_fmagic
264  init: xnn_init_qs8_conv_minmax_fp32_scalar_fmagic_params
265- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x25__scalar_imagic
266  init: xnn_init_qs8_conv_minmax_fp32_scalar_imagic_params
267- name: xnn_qs8_dwconv_minmax_fp32_ukernel_up4x25__scalar_lrintf
268  init: xnn_init_qs8_conv_minmax_fp32_scalar_lrintf_params
269