xref: /aosp_15_r20/external/XNNPACK/test/qs8-gemm-minmax-rndnu.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_qs8_gemm_minmax_rndnu_ukernel_1x8__aarch32_neon_mlal_lane_cortex_a7
8  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
9  k-block: 8
10  assembly: true
11- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8__aarch32_neon_mlal_lane_prfm_cortex_a7
12  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
13  k-block: 8
14  assembly: true
15- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_cortex_a7
16  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
17  k-block: 8
18  assembly: true
19- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_cortex_a53
20  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
21  k-block: 8
22  assembly: true
23- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_ld64
24  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
25  k-block: 8
26  assembly: true
27- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_prfm_cortex_a7
28  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
29  k-block: 8
30  assembly: true
31- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_prfm_cortex_a53
32  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
33  k-block: 8
34  assembly: true
35- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_prfm_ld64
36  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
37  k-block: 8
38  assembly: true
39- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__aarch32_neondot_cortex_a55
40  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
41  k-block: 8
42- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__aarch32_neondot_ld64
43  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
44  k-block: 8
45  assembly: true
46# AArch64 assembly
47- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch64_neon_mlal_lane_ld64
48  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
49  k-block: 8
50  assembly: true
51- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__aarch64_neon_mlal_lane_prfm_ld64
52  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
53  k-block: 8
54  assembly: true
55# ARM NEON
56- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mlal_dup
57  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
58  k-block: 16
59- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mlal_ld1r
60  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
61  k-block: 16
62- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mlal_ld2r
63  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
64  k-block: 16
65- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mlal_ld4r
66  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
67  k-block: 16
68- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mull_dup
69  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
70  k-block: 8
71- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mull_ld1r
72  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
73  k-block: 8
74- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mull_ld2r
75  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
76  k-block: 8
77- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2__neon_mull_ld4r
78  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
79  k-block: 8
80- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2s4__neon_mlal
81  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
82  k-block: 16
83- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c2s4__neon_mull
84  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
85  k-block: 8
86- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mlal_dup
87  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
88  k-block: 16
89- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mlal_ld1r
90  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
91  k-block: 16
92- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mlal_ld2r
93  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
94  k-block: 16
95- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mull_dup
96  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
97  k-block: 8
98- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mull_ld1r
99  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
100  k-block: 8
101- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neon_mull_ld2r
102  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
103  k-block: 8
104- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4s2__neon_mlal
105  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
106  k-block: 16
107- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4s2__neon_mull
108  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
109  k-block: 8
110- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mlal_dup
111  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
112  k-block: 16
113- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mlal_ld1r
114  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
115  k-block: 16
116- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mlal_ld2r
117  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
118  k-block: 16
119- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mlal_ld4r
120  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
121  k-block: 16
122- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mull_dup
123  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
124  k-block: 8
125- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mull_ld1r
126  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
127  k-block: 8
128- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mull_ld2r
129  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
130  k-block: 8
131- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2__neon_mull_ld4r
132  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
133  k-block: 8
134- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2s4__neon_mlal
135  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
136  k-block: 16
137- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c2s4__neon_mull
138  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
139  k-block: 8
140- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mlal_dup
141  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
142  k-block: 16
143- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mlal_ld1r
144  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
145  k-block: 16
146- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mlal_ld2r
147  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
148  k-block: 16
149- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mull_dup
150  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
151  k-block: 8
152- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mull_ld1r
153  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
154  k-block: 8
155- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neon_mull_ld2r
156  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
157  k-block: 8
158- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4s2__neon_mlal
159  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
160  k-block: 16
161- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4s2__neon_mull
162  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
163  k-block: 8
164- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mlal_dup
165  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
166  k-block: 16
167- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mlal_ld1r
168  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
169  k-block: 16
170- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mlal_ld2r
171  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
172  k-block: 16
173- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mlal_ld4r
174  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
175  k-block: 16
176- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mull_dup
177  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
178  k-block: 8
179- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mull_ld1r
180  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
181  k-block: 8
182- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mull_ld2r
183  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
184  k-block: 8
185- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2__neon_mull_ld4r
186  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
187  k-block: 8
188- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2s4__neon_mlal
189  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
190  k-block: 16
191- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c2s4__neon_mull
192  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
193  k-block: 8
194- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mlal_dup
195  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
196  k-block: 16
197- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mlal_ld1r
198  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
199  k-block: 16
200- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mlal_ld2r
201  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
202  k-block: 16
203- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mull_dup
204  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
205  k-block: 8
206- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mull_ld1r
207  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
208  k-block: 8
209- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4__neon_mull_ld2r
210  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
211  k-block: 8
212- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4s2__neon_mlal
213  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
214  k-block: 16
215- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c4s2__neon_mull
216  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
217  k-block: 8
218- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mlal_dup
219  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
220  k-block: 16
221- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mlal_ld1r
222  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
223  k-block: 16
224- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mlal_ld2r
225  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
226  k-block: 16
227- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mlal_ld4r
228  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
229  k-block: 16
230- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mull_dup
231  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
232  k-block: 8
233- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mull_ld1r
234  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
235  k-block: 8
236- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mull_ld2r
237  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
238  k-block: 8
239- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2__neon_mull_ld4r
240  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
241  k-block: 8
242- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2s4__neon_mlal
243  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
244  k-block: 16
245- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c2s4__neon_mull
246  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
247  k-block: 8
248- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mlal_dup
249  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
250  k-block: 16
251- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mlal_ld1r
252  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
253  k-block: 16
254- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mlal_ld2r
255  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
256  k-block: 16
257- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mull_dup
258  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
259  k-block: 8
260- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mull_ld1r
261  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
262  k-block: 8
263- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4__neon_mull_ld2r
264  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
265  k-block: 8
266- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4s2__neon_mlal
267  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
268  k-block: 16
269- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c4s2__neon_mull
270  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
271  k-block: 8
272- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mlal_dup
273  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
274  k-block: 16
275- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mlal_ld1r
276  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
277  k-block: 16
278- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mlal_ld2r
279  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
280  k-block: 16
281- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mlal_ld4r
282  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
283  k-block: 16
284- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mull_dup
285  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
286  k-block: 8
287- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mull_ld1r
288  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
289  k-block: 8
290- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mull_ld2r
291  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
292  k-block: 8
293- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2__neon_mull_ld4r
294  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
295  k-block: 8
296- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2s4__neon_mlal
297  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
298  k-block: 16
299- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c2s4__neon_mull
300  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
301  k-block: 8
302- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mlal_dup
303  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
304  k-block: 16
305- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mlal_ld1r
306  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
307  k-block: 16
308- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mlal_ld2r
309  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
310  k-block: 16
311- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mull_dup
312  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
313  k-block: 8
314- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mull_ld1r
315  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
316  k-block: 8
317- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4__neon_mull_ld2r
318  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
319  k-block: 8
320- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4s2__neon_mlal
321  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
322  k-block: 16
323- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c4s2__neon_mull
324  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
325  k-block: 8
326- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mlal_dup
327  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
328  k-block: 16
329- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mlal_ld1r
330  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
331  k-block: 16
332- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mlal_ld2r
333  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
334  k-block: 16
335- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mlal_ld4r
336  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
337  k-block: 16
338- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mull_dup
339  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
340  k-block: 8
341- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mull_ld1r
342  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
343  k-block: 8
344- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mull_ld2r
345  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
346  k-block: 8
347- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2__neon_mull_ld4r
348  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
349  k-block: 8
350- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2s4__neon_mlal
351  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
352  k-block: 16
353- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c2s4__neon_mull
354  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
355  k-block: 8
356- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mlal_dup
357  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
358  k-block: 16
359- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mlal_ld1r
360  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
361  k-block: 16
362- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mlal_ld2r
363  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
364  k-block: 16
365- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mull_dup
366  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
367  k-block: 8
368- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mull_ld1r
369  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
370  k-block: 8
371- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4__neon_mull_ld2r
372  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
373  k-block: 8
374- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4s2__neon_mlal
375  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
376  k-block: 16
377- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c4s2__neon_mull
378  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
379  k-block: 8
380- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mlal_dup
381  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
382  k-block: 16
383- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mlal_ld1r
384  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
385  k-block: 16
386- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mlal_ld2r
387  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
388  k-block: 16
389- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mlal_ld4r
390  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
391  k-block: 16
392- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mull_dup
393  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
394  k-block: 8
395- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mull_ld1r
396  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
397  k-block: 8
398- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mull_ld2r
399  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
400  k-block: 8
401- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2__neon_mull_ld4r
402  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
403  k-block: 8
404- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2s4__neon_mlal
405  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
406  k-block: 16
407- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c2s4__neon_mull
408  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
409  k-block: 8
410- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mlal_dup
411  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
412  k-block: 16
413- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mlal_ld1r
414  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
415  k-block: 16
416- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mlal_ld2r
417  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
418  k-block: 16
419- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mull_dup
420  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
421  k-block: 8
422- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mull_ld1r
423  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
424  k-block: 8
425- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neon_mull_ld2r
426  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
427  k-block: 8
428- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4s2__neon_mlal
429  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
430  k-block: 16
431- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4s2__neon_mull
432  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
433  k-block: 8
434- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mlal_dup
435  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
436  k-block: 16
437- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mlal_ld1r
438  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
439  k-block: 16
440- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mlal_ld2r
441  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
442  k-block: 16
443- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mlal_ld4r
444  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
445  k-block: 16
446- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mull_dup
447  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
448  k-block: 8
449- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mull_ld1r
450  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
451  k-block: 8
452- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mull_ld2r
453  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
454  k-block: 8
455- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2__neon_mull_ld4r
456  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
457  k-block: 8
458- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2s4__neon_mlal
459  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
460  k-block: 16
461- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c2s4__neon_mull
462  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
463  k-block: 8
464- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mlal_dup
465  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
466  k-block: 16
467- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mlal_ld1r
468  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
469  k-block: 16
470- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mlal_ld2r
471  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
472  k-block: 16
473- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mull_dup
474  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
475  k-block: 8
476- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mull_ld1r
477  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
478  k-block: 8
479- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neon_mull_ld2r
480  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
481  k-block: 8
482- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4s2__neon_mlal
483  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
484  k-block: 16
485- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4s2__neon_mull
486  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
487  k-block: 8
488# AArch64 assembly
489- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__aarch64_neon_mlal
490  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
491  k-block: 16
492  assembly: true
493- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__aarch64_neon_mlal_cortex_a53
494  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
495  k-block: 16
496  assembly: true
497- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__aarch64_neon_mlal_prfm
498  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
499  k-block: 16
500  assembly: true
501- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__aarch64_neon_mlal_prfm_cortex_a53
502  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
503  k-block: 16
504  assembly: true
505- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__aarch64_neondot_ld32
506  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
507  k-block: 4
508  assembly: true
509- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__aarch64_neondot_ld64
510  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
511  k-block: 8
512  assembly: true
513- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__aarch64_neon_mlal
514  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
515  k-block: 16
516  assembly: true
517- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__aarch64_neon_mlal_cortex_a53
518  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
519  k-block: 16
520  assembly: true
521- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__aarch64_neon_mlal_prfm
522  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
523  k-block: 16
524  assembly: true
525- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__aarch64_neon_mlal_prfm_cortex_a53
526  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
527  k-block: 16
528  assembly: true
529- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__aarch64_neon_mull
530  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
531  k-block: 8
532  assembly: true
533- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c16__aarch64_neon_mlal
534  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
535  k-block: 16
536  assembly: true
537- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__aarch64_neon_mlal_lane_cortex_a53
538  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
539  k-block: 8
540  assembly: true
541- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__aarch64_neon_mlal_lane_ld64
542  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
543  k-block: 8
544  assembly: true
545- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__aarch64_neon_mlal_lane_prfm_cortex_a53
546  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
547  k-block: 8
548  assembly: true
549- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__aarch64_neon_mlal_lane_prfm_ld64
550  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
551  k-block: 8
552  assembly: true
553- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__aarch64_neondot_cortex_a55
554  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
555  k-block: 16
556  assembly: true
557- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__aarch64_neondot_ld32
558  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
559  k-block: 4
560  assembly: true
561- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__aarch64_neondot_ld64
562  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
563  k-block: 8
564  assembly: true
565- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__aarch64_neondot_ld128
566  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
567  k-block: 16
568  assembly: true
569# ARM NEON
570- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8__neon_mlal_lane
571  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
572  k-block: 8
573- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8__neon_mlal_lane_prfm
574  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
575  k-block: 8
576- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8__neon_mull_addw_dup
577  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
578  k-block: 8
579- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c4__neondot
580  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
581  k-block: 8
582- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__neon_mlal
583  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
584  k-block: 16
585- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c8__neon_mull
586  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
587  k-block: 8
588- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x8c16__neon_mlal
589  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
590  k-block: 16
591- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16__neon_mlal_lane
592  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
593  k-block: 8
594- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16__neon_mlal_lane_prfm
595  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
596  k-block: 8
597- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16__neon_mull_addw_dup
598  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
599  k-block: 8
600- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c4__neondot
601  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
602  k-block: 8
603- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c8__neon_mlal
604  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
605  k-block: 16
606- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c8__neon_mull
607  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
608  k-block: 8
609- name: xnn_qs8_gemm_minmax_rndnu_ukernel_1x16c16__neon_mlal
610  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
611  k-block: 16
612- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8__neon_mlal_lane
613  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
614  k-block: 8
615- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8__neon_mlal_lane_prfm
616  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
617  k-block: 8
618- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8__neon_mull_addw_dup
619  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
620  k-block: 8
621- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__neon_mlal
622  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
623  k-block: 16
624- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c8__neon_mull
625  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
626  k-block: 8
627- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x8c16__neon_mlal
628  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
629  k-block: 16
630- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16__neon_mlal_lane
631  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
632  k-block: 8
633- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16__neon_mlal_lane_prfm
634  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
635  k-block: 8
636- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16__neon_mull_addw_dup
637  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
638  k-block: 8
639- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c8__neon_mlal
640  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
641  k-block: 16
642- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c8__neon_mull
643  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
644  k-block: 8
645- name: xnn_qs8_gemm_minmax_rndnu_ukernel_2x16c16__neon_mlal
646  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
647  k-block: 16
648- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8__neon_mlal_lane
649  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
650  k-block: 8
651- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8__neon_mlal_lane_prfm
652  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
653  k-block: 8
654- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8__neon_mull_addw_dup
655  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
656  k-block: 8
657- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c8__neon_mlal
658  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
659  k-block: 16
660- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c8__neon_mull
661  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
662  k-block: 8
663- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x8c16__neon_mlal
664  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
665  k-block: 16
666- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16__neon_mlal_lane
667  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
668  k-block: 8
669- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16__neon_mlal_lane_prfm
670  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
671  k-block: 8
672- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16__neon_mull_addw_dup
673  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
674  k-block: 8
675- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c8__neon_mlal
676  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
677  k-block: 16
678- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c8__neon_mull
679  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
680  k-block: 8
681- name: xnn_qs8_gemm_minmax_rndnu_ukernel_3x16c16__neon_mlal
682  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
683  k-block: 16
684- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__neon_mlal_lane
685  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
686  k-block: 8
687- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__neon_mlal_lane_prfm
688  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
689  k-block: 8
690- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8__neon_mull_addw_dup
691  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
692  k-block: 8
693- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c4__neondot
694  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
695  k-block: 8
696- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c8__neon_mlal
697  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
698  k-block: 16
699- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c8__neon_mull
700  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
701  k-block: 8
702- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x8c16__neon_mlal
703  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
704  k-block: 16
705- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__neon_mlal_lane
706  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
707  k-block: 8
708- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__neon_mlal_lane_prfm
709  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
710  k-block: 8
711- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16__neon_mull_addw_dup
712  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
713  k-block: 8
714- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c4__neondot
715  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
716  k-block: 8
717- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c8__neon_mlal
718  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
719  k-block: 16
720- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c8__neon_mull
721  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
722  k-block: 8
723- name: xnn_qs8_gemm_minmax_rndnu_ukernel_4x16c16__neon_mlal
724  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
725  k-block: 16
726- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x8__neon_mlal_lane
727  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
728  k-block: 8
729- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x8__neon_mlal_lane_prfm
730  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
731  k-block: 8
732- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x8c4__neondot
733  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
734  k-block: 8
735- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x16__neon_mlal_lane
736  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
737  k-block: 8
738- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x16__neon_mlal_lane_prfm
739  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
740  k-block: 8
741- name: xnn_qs8_gemm_minmax_rndnu_ukernel_6x16c4__neondot
742  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
743  k-block: 8
744- name: xnn_qs8_gemm_minmax_rndnu_ukernel_8x8c4__neondot
745  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
746  k-block: 8
747- name: xnn_qs8_gemm_minmax_rndnu_ukernel_8x16c4__neondot
748  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
749  k-block: 8
750# AArch32 JIT assembly
751- name: xnn_generate_qs8_gemm_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_ld64
752  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
753  k-block: 8
754  assembly: true
755- name: xnn_generate_qs8_gemm_rndnu_ukernel_4x8__aarch32_neon_mlal_lane_prfm_ld64
756  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
757  k-block: 8
758  assembly: true
759- name: xnn_generate_qs8_gemm_rndnu_ukernel_4x8c4__aarch32_neondot_ld64
760  init: xnn_init_qs8_conv_minmax_rndnu_neon_params
761  k-block: 8
762  assembly: true
763