xref: /aosp_15_r20/external/XNNPACK/test/qu8-igemm-minmax-fp32.yaml (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
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# AArch64 assembly
7- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16c4__aarch64_neondot_cortex_a55
8  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
9  k-block: 16
10  assembly: true
11- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16c4__aarch64_neondot_ld128
12  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
13  k-block: 16
14  assembly: true
15
16# ARMv6 SIMD
17- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x1c4__armsimd32
18  init: xnn_init_qu8_conv_minmax_fp32_armsimd32_params
19  k-block: 4
20- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x2c4__armsimd32
21  init: xnn_init_qu8_conv_minmax_fp32_armsimd32_params
22  k-block: 4
23- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x1c4__armsimd32
24  init: xnn_init_qu8_conv_minmax_fp32_armsimd32_params
25  k-block: 4
26- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x2c4__armsimd32
27  init: xnn_init_qu8_conv_minmax_fp32_armsimd32_params
28  k-block: 4
29
30# ARM NEON
31- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x8__neon_mlal_lane
32  init: xnn_init_qu8_conv_minmax_fp32_neon_params
33  k-block: 8
34- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x16__neon_mlal_lane
35  init: xnn_init_qu8_conv_minmax_fp32_neon_params
36  k-block: 8
37- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x16__neonv8_mlal_lane
38  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
39  k-block: 8
40- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x16c4__neondot
41  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
42  k-block: 8
43- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x16c4__neondot
44  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
45  k-block: 8
46- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x8__neon_mlal_lane
47  init: xnn_init_qu8_conv_minmax_fp32_neon_params
48  k-block: 8
49- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16__neon_mlal_lane
50  init: xnn_init_qu8_conv_minmax_fp32_neon_params
51  k-block: 8
52- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16__neonv8_mlal_lane
53  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
54  k-block: 8
55- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16c4__neondot
56  init: xnn_init_qu8_conv_minmax_fp32_neonv8_params
57  k-block: 8
58# x86 SSE
59- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld64
60  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
61  k-block: 8
62- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld64
63  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
64  k-block: 8
65- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld64
66  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
67  k-block: 8
68- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld64
69  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
70  k-block: 8
71- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld64
72  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
73  k-block: 8
74- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld64
75  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
76  k-block: 8
77- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld64
78  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
79  k-block: 8
80- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld64
81  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
82  k-block: 8
83# x86 AVX
84- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__avx_ld64
85  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
86  k-block: 8
87- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__xop_ld64
88  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
89  k-block: 8
90- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__avx_ld64
91  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
92  k-block: 8
93- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__xop_ld64
94  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
95  k-block: 8
96- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__avx_ld64
97  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
98  k-block: 8
99- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__xop_ld64
100  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
101  k-block: 8
102- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__avx_ld64
103  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
104  k-block: 8
105- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__xop_ld64
106  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
107  k-block: 8
108# x86 SSE
109- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld128
110  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
111  k-block: 8
112- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld128
113  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
114  k-block: 8
115- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld128
116  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
117  k-block: 8
118- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld128
119  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
120  k-block: 8
121- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld128
122  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
123  k-block: 8
124- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld128
125  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
126  k-block: 8
127- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld128
128  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
129  k-block: 8
130- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld128
131  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
132  k-block: 8
133# x86 AVX
134- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__avx_ld128
135  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
136  k-block: 8
137- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__xop_ld128
138  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
139  k-block: 8
140- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__avx_ld128
141  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
142  k-block: 8
143- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__xop_ld128
144  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
145  k-block: 8
146- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__avx_ld128
147  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
148  k-block: 8
149- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__xop_ld128
150  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
151  k-block: 8
152- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__avx_ld128
153  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
154  k-block: 8
155- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__xop_ld128
156  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
157  k-block: 8
158# x86 SSE
159- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld64
160  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
161  k-block: 8
162- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld64
163  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
164  k-block: 8
165- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld64
166  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
167  k-block: 8
168- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld64
169  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
170  k-block: 8
171- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld64
172  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
173  k-block: 8
174- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld64
175  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
176  k-block: 8
177- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld64
178  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
179  k-block: 8
180- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld64
181  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
182  k-block: 8
183# x86 AVX
184- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld64
185  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
186  k-block: 8
187- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__xop_ld64
188  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
189  k-block: 8
190- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld64
191  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
192  k-block: 8
193- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__xop_ld64
194  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
195  k-block: 8
196- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld64
197  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
198  k-block: 8
199- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__xop_ld64
200  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
201  k-block: 8
202- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld64
203  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
204  k-block: 8
205- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__xop_ld64
206  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
207  k-block: 8
208# x86 SSE
209- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld128
210  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
211  k-block: 8
212- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld128
213  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
214  k-block: 8
215- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld128
216  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
217  k-block: 8
218- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld128
219  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
220  k-block: 8
221- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld128
222  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
223  k-block: 8
224- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld128
225  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
226  k-block: 8
227- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld128
228  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
229  k-block: 8
230- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld128
231  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
232  k-block: 8
233# x86 AVX
234- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld128
235  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
236  k-block: 8
237- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__xop_ld128
238  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
239  k-block: 8
240- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld128
241  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
242  k-block: 8
243- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__xop_ld128
244  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
245  k-block: 8
246- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld128
247  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
248  k-block: 8
249- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__xop_ld128
250  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
251  k-block: 8
252- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld128
253  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
254  k-block: 8
255- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__xop_ld128
256  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
257  k-block: 8
258# x86 SSE
259- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
260  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
261  k-block: 8
262- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
263  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
264  k-block: 8
265- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld64
266  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
267  k-block: 8
268- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld64
269  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
270  k-block: 8
271- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
272  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
273  k-block: 8
274- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
275  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
276  k-block: 8
277# x86 AVX
278- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__avx_ld64
279  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
280  k-block: 8
281- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__xop_ld64
282  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
283  k-block: 8
284- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__avx_ld64
285  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
286  k-block: 8
287- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__xop_ld64
288  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
289  k-block: 8
290- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__avx_ld64
291  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
292  k-block: 8
293- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__xop_ld64
294  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
295  k-block: 8
296# x86 SSE
297- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld128
298  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
299  k-block: 8
300- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld128
301  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
302  k-block: 8
303- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld128
304  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
305  k-block: 8
306- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld128
307  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
308  k-block: 8
309- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld128
310  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
311  k-block: 8
312- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld128
313  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
314  k-block: 8
315# x86 AVX
316- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__avx_ld128
317  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
318  k-block: 8
319- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__xop_ld128
320  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
321  k-block: 8
322- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__avx_ld128
323  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
324  k-block: 8
325- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__xop_ld128
326  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
327  k-block: 8
328- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__avx_ld128
329  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
330  k-block: 8
331- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__xop_ld128
332  init: xnn_init_qu8_conv_minmax_fp32_sse2_params
333  k-block: 8
334# x86 AVX
335- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x8c8__avx2
336  init: xnn_init_qu8_conv_minmax_fp32_avx2_params
337  k-block: 8
338- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x8c8__avx2
339  init: xnn_init_qu8_conv_minmax_fp32_avx2_params
340  k-block: 8
341- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x8c8__avx2
342  init: xnn_init_qu8_conv_minmax_fp32_avx2_params
343  k-block: 8
344# x86 AVX512
345- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x16c8__avx512skx
346  init: xnn_init_qu8_conv_minmax_fp32_avx512_params
347  k-block: 8
348- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x16c8__avx512skx
349  init: xnn_init_qu8_conv_minmax_fp32_avx512_params
350  k-block: 8
351- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x16c8__avx512skx
352  init: xnn_init_qu8_conv_minmax_fp32_avx512_params
353  k-block: 8
354- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x16c8__avx512skx
355  init: xnn_init_qu8_conv_minmax_fp32_avx512_params
356  k-block: 8
357# WAsm SIMD
358- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld64
359  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
360  k-block: 8
361- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld128
362  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
363  k-block: 8
364- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld64
365  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
366  k-block: 8
367- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld128
368  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
369  k-block: 8
370- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld64
371  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
372  k-block: 8
373- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld128
374  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
375  k-block: 8
376- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld64
377  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
378  k-block: 8
379- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld128
380  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
381  k-block: 8
382- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld64
383  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
384  k-block: 8
385- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld128
386  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
387  k-block: 8
388- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld64
389  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
390  k-block: 8
391- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld128
392  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
393  k-block: 8
394- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld64
395  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
396  k-block: 8
397- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld128
398  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
399  k-block: 8
400- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld64
401  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
402  k-block: 8
403- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld128
404  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
405  k-block: 8
406- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld64
407  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
408  k-block: 8
409- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld128
410  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
411  k-block: 8
412- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld64
413  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
414  k-block: 8
415- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld128
416  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
417  k-block: 8
418- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld64
419  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
420  k-block: 8
421- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld128
422  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
423  k-block: 8
424- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld64
425  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
426  k-block: 8
427- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld128
428  init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params
429  k-block: 8
430# WAsm
431- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x2__wasm_fmagic
432  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
433  k-block: 1
434- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4__wasm_fmagic
435  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
436  k-block: 1
437- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x2__wasm_fmagic
438  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
439  k-block: 1
440- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4__wasm_fmagic
441  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
442  k-block: 1
443- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x2__wasm_fmagic
444  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
445  k-block: 1
446- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4__wasm_fmagic
447  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
448  k-block: 1
449- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x2__wasm_fmagic
450  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
451  k-block: 1
452- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4__wasm_fmagic
453  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
454  k-block: 1
455# Scalar
456- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x2__scalar_fmagic
457  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
458  k-block: 1
459- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x2__scalar_imagic
460  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
461  k-block: 1
462- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x2__scalar_lrintf
463  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
464  k-block: 1
465- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4__scalar_fmagic
466  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
467  k-block: 1
468- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4__scalar_imagic
469  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
470  k-block: 1
471- name: xnn_qu8_igemm_minmax_fp32_ukernel_1x4__scalar_lrintf
472  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
473  k-block: 1
474- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x2__scalar_fmagic
475  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
476  k-block: 1
477- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x2__scalar_imagic
478  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
479  k-block: 1
480- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x2__scalar_lrintf
481  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
482  k-block: 1
483- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4__scalar_fmagic
484  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
485  k-block: 1
486- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4__scalar_imagic
487  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
488  k-block: 1
489- name: xnn_qu8_igemm_minmax_fp32_ukernel_2x4__scalar_lrintf
490  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
491  k-block: 1
492- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x2__scalar_fmagic
493  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
494  k-block: 1
495- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x2__scalar_imagic
496  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
497  k-block: 1
498- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x2__scalar_lrintf
499  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
500  k-block: 1
501- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4__scalar_fmagic
502  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
503  k-block: 1
504- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4__scalar_imagic
505  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
506  k-block: 1
507- name: xnn_qu8_igemm_minmax_fp32_ukernel_3x4__scalar_lrintf
508  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
509  k-block: 1
510- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x2__scalar_fmagic
511  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
512  k-block: 1
513- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x2__scalar_imagic
514  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
515  k-block: 1
516- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x2__scalar_lrintf
517  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
518  k-block: 1
519- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4__scalar_fmagic
520  init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params
521  k-block: 1
522- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4__scalar_imagic
523  init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params
524  k-block: 1
525- name: xnn_qu8_igemm_minmax_fp32_ukernel_4x4__scalar_lrintf
526  init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params
527  k-block: 1
528