xref: /aosp_15_r20/external/XNNPACK/test/qc8-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# AArch32 assembly
7- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__aarch32_neon_mlal_lane_cortex_a7
8  init: xnn_init_qc8_conv_minmax_fp32_neon_params
9  k-block: 8
10  assembly: true
11- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__aarch32_neon_mlal_lane_prfm_cortex_a7
12  init: xnn_init_qc8_conv_minmax_fp32_neon_params
13  k-block: 8
14  assembly: true
15- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__aarch32_neonv8_mlal_lane_cortex_a35
16  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
17  k-block: 8
18  assembly: true
19- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__aarch32_neonv8_mlal_lane_prfm_cortex_a35
20  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
21  k-block: 8
22  assembly: true
23- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neon_mlal_lane_cortex_a53
24  init: xnn_init_qc8_conv_minmax_fp32_neon_params
25  k-block: 8
26  assembly: true
27- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neon_mlal_lane_ld64
28  init: xnn_init_qc8_conv_minmax_fp32_neon_params
29  k-block: 8
30  assembly: true
31- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neon_mlal_lane_prfm_cortex_a53
32  init: xnn_init_qc8_conv_minmax_fp32_neon_params
33  k-block: 8
34  assembly: true
35- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neon_mlal_lane_prfm_ld64
36  init: xnn_init_qc8_conv_minmax_fp32_neon_params
37  k-block: 8
38  assembly: true
39- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_cortex_a53
40  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
41  k-block: 8
42  assembly: true
43- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_ld64
44  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
45  k-block: 8
46  assembly: true
47- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_prfm_cortex_a53
48  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
49  k-block: 8
50  assembly: true
51- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_prfm_ld64
52  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
53  k-block: 8
54  assembly: true
55- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8c4__aarch32_neondot_cortex_a55
56  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
57  k-block: 8
58  assembly: true
59- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8c4__aarch32_neondot_ld64
60  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
61  k-block: 8
62  assembly: true
63# AArch64 assembly
64- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__aarch64_neon_mlal
65  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
66  k-block: 16
67  assembly: true
68- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__aarch64_neon_mlal_cortex_a53
69  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
70  k-block: 16
71  assembly: true
72- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__aarch64_neon_mlal_prfm
73  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
74  k-block: 16
75  assembly: true
76- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__aarch64_neon_mlal_prfm_cortex_a53
77  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
78  k-block: 16
79  assembly: true
80- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__aarch64_neon_mlal
81  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
82  k-block: 16
83  assembly: true
84- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__aarch64_neon_mlal_cortex_a53
85  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
86  k-block: 16
87  assembly: true
88- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__aarch64_neon_mlal_prfm
89  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
90  k-block: 16
91  assembly: true
92- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__aarch64_neon_mlal_prfm_cortex_a53
93  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
94  k-block: 16
95  assembly: true
96- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c16__aarch64_neon_mlal
97  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
98  k-block: 16
99  assembly: true
100- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__aarch64_neon_mlal_lane_ld64
101  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
102  k-block: 8
103  assembly: true
104- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__aarch64_neon_mlal_lane_prfm_ld64
105  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
106  k-block: 8
107  assembly: true
108- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16c4__aarch64_neondot_cortex_a55
109  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
110  k-block: 16
111  assembly: true
112- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16c4__aarch64_neondot_ld64
113  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
114  k-block: 8
115  assembly: true
116- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16c4__aarch64_neondot_ld128
117  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
118  k-block: 16
119  assembly: true
120
121# ARMv6 SIMD
122- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x1c4__armsimd32
123  init: xnn_init_qc8_conv_minmax_fp32_armsimd32_params
124  k-block: 4
125- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x2c4__armsimd32
126  init: xnn_init_qc8_conv_minmax_fp32_armsimd32_params
127  k-block: 4
128- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x1c4__armsimd32
129  init: xnn_init_qc8_conv_minmax_fp32_armsimd32_params
130  k-block: 4
131- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x2c4__armsimd32
132  init: xnn_init_qc8_conv_minmax_fp32_armsimd32_params
133  k-block: 4
134
135# ARM NEON
136- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__neon_mlal_lane
137  init: xnn_init_qc8_conv_minmax_fp32_neon_params
138  k-block: 8
139- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__neon_mlal_lane_prfm
140  init: xnn_init_qc8_conv_minmax_fp32_neon_params
141  k-block: 8
142- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__neonv8_mlal_lane
143  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
144  k-block: 8
145- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8__neonv8_mlal_lane_prfm
146  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
147  k-block: 8
148- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_dup
149  init: xnn_init_qc8_conv_minmax_fp32_neon_params
150  k-block: 16
151- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld1r
152  init: xnn_init_qc8_conv_minmax_fp32_neon_params
153  k-block: 16
154- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld2r
155  init: xnn_init_qc8_conv_minmax_fp32_neon_params
156  k-block: 16
157- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld4r
158  init: xnn_init_qc8_conv_minmax_fp32_neon_params
159  k-block: 16
160- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_dup
161  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
162  k-block: 16
163- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld1r
164  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
165  k-block: 16
166- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld2r
167  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
168  k-block: 16
169- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld4r
170  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
171  k-block: 16
172- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2s4__neon_mlal
173  init: xnn_init_qc8_conv_minmax_fp32_neon_params
174  k-block: 16
175- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c2s4__neonv8_mlal
176  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
177  k-block: 16
178- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_dup
179  init: xnn_init_qc8_conv_minmax_fp32_neon_params
180  k-block: 16
181- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_ld1r
182  init: xnn_init_qc8_conv_minmax_fp32_neon_params
183  k-block: 16
184- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_ld2r
185  init: xnn_init_qc8_conv_minmax_fp32_neon_params
186  k-block: 16
187- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neondot
188  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
189  k-block: 8
190- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_dup
191  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
192  k-block: 16
193- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_ld1r
194  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
195  k-block: 16
196- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_ld2r
197  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
198  k-block: 16
199- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4s2__neon_mlal
200  init: xnn_init_qc8_conv_minmax_fp32_neon_params
201  k-block: 16
202- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c4s2__neonv8_mlal
203  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
204  k-block: 16
205- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__neon_mlal
206  init: xnn_init_qc8_conv_minmax_fp32_neon_params
207  k-block: 16
208- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__neonv8_mlal
209  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
210  k-block: 16
211- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16__neon_mlal_lane
212  init: xnn_init_qc8_conv_minmax_fp32_neon_params
213  k-block: 8
214- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16__neon_mlal_lane_prfm
215  init: xnn_init_qc8_conv_minmax_fp32_neon_params
216  k-block: 8
217- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16__neonv8_mlal_lane
218  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
219  k-block: 8
220- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16__neonv8_mlal_lane_prfm
221  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
222  k-block: 8
223- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16c4__neondot
224  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
225  k-block: 8
226- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8__neon_mlal_lane
227  init: xnn_init_qc8_conv_minmax_fp32_neon_params
228  k-block: 8
229- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8__neon_mlal_lane_prfm
230  init: xnn_init_qc8_conv_minmax_fp32_neon_params
231  k-block: 8
232- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8__neonv8_mlal_lane
233  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
234  k-block: 8
235- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8__neonv8_mlal_lane_prfm
236  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
237  k-block: 8
238- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_dup
239  init: xnn_init_qc8_conv_minmax_fp32_neon_params
240  k-block: 16
241- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld1r
242  init: xnn_init_qc8_conv_minmax_fp32_neon_params
243  k-block: 16
244- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld2r
245  init: xnn_init_qc8_conv_minmax_fp32_neon_params
246  k-block: 16
247- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld4r
248  init: xnn_init_qc8_conv_minmax_fp32_neon_params
249  k-block: 16
250- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_dup
251  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
252  k-block: 16
253- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld1r
254  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
255  k-block: 16
256- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld2r
257  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
258  k-block: 16
259- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld4r
260  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
261  k-block: 16
262- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2s4__neon_mlal
263  init: xnn_init_qc8_conv_minmax_fp32_neon_params
264  k-block: 16
265- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c2s4__neonv8_mlal
266  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
267  k-block: 16
268- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_dup
269  init: xnn_init_qc8_conv_minmax_fp32_neon_params
270  k-block: 16
271- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_ld1r
272  init: xnn_init_qc8_conv_minmax_fp32_neon_params
273  k-block: 16
274- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_ld2r
275  init: xnn_init_qc8_conv_minmax_fp32_neon_params
276  k-block: 16
277- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_dup
278  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
279  k-block: 16
280- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_ld1r
281  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
282  k-block: 16
283- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_ld2r
284  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
285  k-block: 16
286- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4s2__neon_mlal
287  init: xnn_init_qc8_conv_minmax_fp32_neon_params
288  k-block: 16
289- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c4s2__neonv8_mlal
290  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
291  k-block: 16
292- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__neon_mlal
293  init: xnn_init_qc8_conv_minmax_fp32_neon_params
294  k-block: 16
295- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__neonv8_mlal
296  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
297  k-block: 16
298- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x16__neon_mlal_lane
299  init: xnn_init_qc8_conv_minmax_fp32_neon_params
300  k-block: 8
301- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x16__neon_mlal_lane_prfm
302  init: xnn_init_qc8_conv_minmax_fp32_neon_params
303  k-block: 8
304- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x16__neonv8_mlal_lane
305  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
306  k-block: 8
307- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x16__neonv8_mlal_lane_prfm
308  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
309  k-block: 8
310- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x8__neon_mlal_lane
311  init: xnn_init_qc8_conv_minmax_fp32_neon_params
312  k-block: 8
313- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x8__neon_mlal_lane_prfm
314  init: xnn_init_qc8_conv_minmax_fp32_neon_params
315  k-block: 8
316- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x8__neonv8_mlal_lane
317  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
318  k-block: 8
319- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x8__neonv8_mlal_lane_prfm
320  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
321  k-block: 8
322- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x16__neon_mlal_lane
323  init: xnn_init_qc8_conv_minmax_fp32_neon_params
324  k-block: 8
325- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x16__neon_mlal_lane_prfm
326  init: xnn_init_qc8_conv_minmax_fp32_neon_params
327  k-block: 8
328- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x16__neonv8_mlal_lane
329  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
330  k-block: 8
331- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x16__neonv8_mlal_lane_prfm
332  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
333  k-block: 8
334- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__neon_mlal_lane
335  init: xnn_init_qc8_conv_minmax_fp32_neon_params
336  k-block: 8
337- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__neon_mlal_lane_prfm
338  init: xnn_init_qc8_conv_minmax_fp32_neon_params
339  k-block: 8
340- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__neonv8_mlal_lane
341  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
342  k-block: 8
343- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8__neonv8_mlal_lane_prfm
344  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
345  k-block: 8
346- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x8c4__neondot
347  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
348  k-block: 8
349- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__neon_mlal_lane
350  init: xnn_init_qc8_conv_minmax_fp32_neon_params
351  k-block: 8
352- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__neon_mlal_lane_prfm
353  init: xnn_init_qc8_conv_minmax_fp32_neon_params
354  k-block: 8
355- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__neonv8_mlal_lane
356  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
357  k-block: 8
358- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16__neonv8_mlal_lane_prfm
359  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
360  k-block: 8
361- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16c4__neondot
362  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
363  k-block: 8
364- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x8__neon_mlal_lane
365  init: xnn_init_qc8_conv_minmax_fp32_neon_params
366  k-block: 8
367- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x8__neon_mlal_lane_prfm
368  init: xnn_init_qc8_conv_minmax_fp32_neon_params
369  k-block: 8
370- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x8__neonv8_mlal_lane
371  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
372  k-block: 8
373- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x8__neonv8_mlal_lane_prfm
374  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
375  k-block: 8
376- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x8c4__neondot
377  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
378  k-block: 8
379- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x16__neon_mlal_lane
380  init: xnn_init_qc8_conv_minmax_fp32_neon_params
381  k-block: 8
382- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x16__neon_mlal_lane_prfm
383  init: xnn_init_qc8_conv_minmax_fp32_neon_params
384  k-block: 8
385- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x16__neonv8_mlal_lane
386  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
387  k-block: 8
388- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x16__neonv8_mlal_lane_prfm
389  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
390  k-block: 8
391- name: xnn_qc8_igemm_minmax_fp32_ukernel_6x16c4__neondot
392  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
393  k-block: 8
394- name: xnn_qc8_igemm_minmax_fp32_ukernel_8x8c4__neondot
395  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
396  k-block: 8
397- name: xnn_qc8_igemm_minmax_fp32_ukernel_8x16c4__neondot
398  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
399  k-block: 8
400# x86 SSE
401- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld64
402  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
403  k-block: 8
404- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld64
405  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
406  k-block: 8
407- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld64
408  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
409  k-block: 8
410- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld64
411  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
412  k-block: 8
413- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld64
414  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
415  k-block: 8
416- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld64
417  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
418  k-block: 8
419- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld64
420  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
421  k-block: 8
422- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld64
423  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
424  k-block: 8
425# x86 AVX
426- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__avx_ld64
427  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
428  k-block: 8
429- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__xop_ld64
430  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
431  k-block: 8
432- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__avx_ld64
433  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
434  k-block: 8
435- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__xop_ld64
436  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
437  k-block: 8
438- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__avx_ld64
439  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
440  k-block: 8
441- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__xop_ld64
442  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
443  k-block: 8
444- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__avx_ld64
445  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
446  k-block: 8
447- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__xop_ld64
448  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
449  k-block: 8
450# x86 SSE
451- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld128
452  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
453  k-block: 8
454- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld128
455  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
456  k-block: 8
457- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld128
458  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
459  k-block: 8
460- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld128
461  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
462  k-block: 8
463- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld128
464  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
465  k-block: 8
466- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld128
467  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
468  k-block: 8
469- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld128
470  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
471  k-block: 8
472- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld128
473  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
474  k-block: 8
475# x86 AVX
476- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__avx_ld128
477  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
478  k-block: 8
479- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__xop_ld128
480  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
481  k-block: 8
482- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__avx_ld128
483  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
484  k-block: 8
485- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__xop_ld128
486  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
487  k-block: 8
488- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__avx_ld128
489  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
490  k-block: 8
491- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__xop_ld128
492  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
493  k-block: 8
494- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__avx_ld128
495  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
496  k-block: 8
497- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__xop_ld128
498  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
499  k-block: 8
500# x86 SSE
501- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld64
502  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
503  k-block: 8
504- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld64
505  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
506  k-block: 8
507- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld64
508  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
509  k-block: 8
510- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld64
511  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
512  k-block: 8
513- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld64
514  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
515  k-block: 8
516- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld64
517  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
518  k-block: 8
519- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld64
520  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
521  k-block: 8
522- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld64
523  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
524  k-block: 8
525# x86 AVX
526- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld64
527  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
528  k-block: 8
529- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__xop_ld64
530  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
531  k-block: 8
532- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld64
533  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
534  k-block: 8
535- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__xop_ld64
536  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
537  k-block: 8
538- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld64
539  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
540  k-block: 8
541- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__xop_ld64
542  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
543  k-block: 8
544- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld64
545  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
546  k-block: 8
547- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__xop_ld64
548  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
549  k-block: 8
550# x86 SSE
551- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld128
552  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
553  k-block: 8
554- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld128
555  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
556  k-block: 8
557- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld128
558  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
559  k-block: 8
560- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld128
561  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
562  k-block: 8
563- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld128
564  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
565  k-block: 8
566- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld128
567  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
568  k-block: 8
569- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld128
570  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
571  k-block: 8
572- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld128
573  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
574  k-block: 8
575# x86 AVX
576- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld128
577  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
578  k-block: 8
579- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__xop_ld128
580  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
581  k-block: 8
582- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld128
583  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
584  k-block: 8
585- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__xop_ld128
586  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
587  k-block: 8
588- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld128
589  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
590  k-block: 8
591- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__xop_ld128
592  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
593  k-block: 8
594- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld128
595  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
596  k-block: 8
597- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__xop_ld128
598  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
599  k-block: 8
600# x86 SSE
601- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
602  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
603  k-block: 8
604- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
605  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
606  k-block: 8
607- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld64
608  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
609  k-block: 8
610- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld64
611  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
612  k-block: 8
613- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
614  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
615  k-block: 8
616- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
617  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
618  k-block: 8
619# x86 AVX
620- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__avx_ld64
621  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
622  k-block: 8
623- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__xop_ld64
624  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
625  k-block: 8
626- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__avx_ld64
627  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
628  k-block: 8
629- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__xop_ld64
630  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
631  k-block: 8
632- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__avx_ld64
633  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
634  k-block: 8
635- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__xop_ld64
636  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
637  k-block: 8
638# x86 SSE
639- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld128
640  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
641  k-block: 8
642- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld128
643  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
644  k-block: 8
645- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld128
646  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
647  k-block: 8
648- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld128
649  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
650  k-block: 8
651- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld128
652  init: xnn_init_qc8_conv_minmax_fp32_sse2_params
653  k-block: 8
654- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld128
655  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
656  k-block: 8
657# x86 AVX
658- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__avx_ld128
659  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
660  k-block: 8
661- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__xop_ld128
662  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
663  k-block: 8
664- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__avx_ld128
665  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
666  k-block: 8
667- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__xop_ld128
668  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
669  k-block: 8
670- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__avx_ld128
671  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
672  k-block: 8
673- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__xop_ld128
674  init: xnn_init_qc8_conv_minmax_fp32_sse4_params
675  k-block: 8
676# x86 AVX
677- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x8c8__avx2
678  init: xnn_init_qc8_conv_minmax_fp32_avx2_params
679  k-block: 8
680- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x8c8__avx2
681  init: xnn_init_qc8_conv_minmax_fp32_avx2_params
682  k-block: 8
683- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x8c8__avx2
684  init: xnn_init_qc8_conv_minmax_fp32_avx2_params
685  k-block: 8
686# x86 AVX512
687- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x16c8__avx512skx
688  init: xnn_init_qc8_conv_minmax_fp32_avx512_params
689  k-block: 8
690- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x16c8__avx512skx
691  init: xnn_init_qc8_conv_minmax_fp32_avx512_params
692  k-block: 8
693- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x16c8__avx512skx
694  init: xnn_init_qc8_conv_minmax_fp32_avx512_params
695  k-block: 8
696- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x16c8__avx512skx
697  init: xnn_init_qc8_conv_minmax_fp32_avx512_params
698  k-block: 8
699# WAsm SIMD
700- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld64
701  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
702  k-block: 8
703- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld128
704  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
705  k-block: 8
706- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld64
707  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
708  k-block: 8
709- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld128
710  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
711  k-block: 8
712- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld64
713  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
714  k-block: 8
715- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld128
716  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
717  k-block: 8
718- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld64
719  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
720  k-block: 8
721- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld128
722  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
723  k-block: 8
724- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld64
725  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
726  k-block: 8
727- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld128
728  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
729  k-block: 8
730- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld64
731  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
732  k-block: 8
733- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld128
734  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
735  k-block: 8
736- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld64
737  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
738  k-block: 8
739- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld128
740  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
741  k-block: 8
742- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld64
743  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
744  k-block: 8
745- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld128
746  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
747  k-block: 8
748- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld64
749  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
750  k-block: 8
751- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld128
752  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
753  k-block: 8
754- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld64
755  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
756  k-block: 8
757- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld128
758  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
759  k-block: 8
760- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld64
761  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
762  k-block: 8
763- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld128
764  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
765  k-block: 8
766- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld64
767  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
768  k-block: 8
769- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld128
770  init: xnn_init_qc8_conv_minmax_fp32_wasmsimd_params
771  k-block: 8
772# WAsm
773- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x2__wasm_fmagic
774  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
775  k-block: 1
776- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4__wasm_fmagic
777  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
778  k-block: 1
779- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x2__wasm_fmagic
780  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
781  k-block: 1
782- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4__wasm_fmagic
783  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
784  k-block: 1
785- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x2__wasm_fmagic
786  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
787  k-block: 1
788- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4__wasm_fmagic
789  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
790  k-block: 1
791- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x2__wasm_fmagic
792  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
793  k-block: 1
794- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4__wasm_fmagic
795  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
796  k-block: 1
797# Scalar
798- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x2__scalar_fmagic
799  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
800  k-block: 1
801- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x2__scalar_imagic
802  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
803  k-block: 1
804- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x2__scalar_lrintf
805  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
806  k-block: 1
807- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4__scalar_fmagic
808  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
809  k-block: 1
810- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4__scalar_imagic
811  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
812  k-block: 1
813- name: xnn_qc8_igemm_minmax_fp32_ukernel_1x4__scalar_lrintf
814  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
815  k-block: 1
816- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x2__scalar_fmagic
817  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
818  k-block: 1
819- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x2__scalar_imagic
820  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
821  k-block: 1
822- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x2__scalar_lrintf
823  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
824  k-block: 1
825- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4__scalar_fmagic
826  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
827  k-block: 1
828- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4__scalar_imagic
829  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
830  k-block: 1
831- name: xnn_qc8_igemm_minmax_fp32_ukernel_2x4__scalar_lrintf
832  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
833  k-block: 1
834- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x2__scalar_fmagic
835  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
836  k-block: 1
837- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x2__scalar_imagic
838  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
839  k-block: 1
840- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x2__scalar_lrintf
841  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
842  k-block: 1
843- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4__scalar_fmagic
844  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
845  k-block: 1
846- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4__scalar_imagic
847  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
848  k-block: 1
849- name: xnn_qc8_igemm_minmax_fp32_ukernel_3x4__scalar_lrintf
850  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
851  k-block: 1
852- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x2__scalar_fmagic
853  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
854  k-block: 1
855- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x2__scalar_imagic
856  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
857  k-block: 1
858- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x2__scalar_lrintf
859  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
860  k-block: 1
861- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4__scalar_fmagic
862  init: xnn_init_qc8_conv_minmax_fp32_scalar_fmagic_params
863  k-block: 1
864- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4__scalar_imagic
865  init: xnn_init_qc8_conv_minmax_fp32_scalar_imagic_params
866  k-block: 1
867- name: xnn_qc8_igemm_minmax_fp32_ukernel_4x4__scalar_lrintf
868  init: xnn_init_qc8_conv_minmax_fp32_scalar_lrintf_params
869  k-block: 1
870# AArch32 JIT assembly
871- name: xnn_generate_qc8_igemm_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_ld64
872  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
873  k-block: 8
874  assembly: true
875- name: xnn_generate_qc8_igemm_fp32_ukernel_4x8__aarch32_neonv8_mlal_lane_prfm_ld64
876  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
877  k-block: 8
878  assembly: true
879- name: xnn_generate_qc8_igemm_fp32_ukernel_4x8c4__aarch32_neondot_ld64
880  init: xnn_init_qc8_conv_minmax_fp32_neonv8_params
881  k-block: 8
882  assembly: true
883