xref: /aosp_15_r20/external/XNNPACK/test/f32-igemm-minmax.yaml (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1# Copyright 2019 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_f32_igemm_minmax_ukernel_4x8__aarch32_neon_cortex_a7
8  init: xnn_init_f32_minmax_scalar_params
9  k-block: 2
10  assembly: true
11- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_cortex_a53
12  init: xnn_init_f32_minmax_scalar_params
13  k-block: 4
14  assembly: true
15  pipelined: true
16- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_cortex_a55
17  init: xnn_init_f32_minmax_scalar_params
18  k-block: 4
19  assembly: true
20  pipelined: true
21- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_cortex_a75
22  init: xnn_init_f32_minmax_scalar_params
23  k-block: 4
24  assembly: true
25  pipelined: true
26- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_ld64
27  init: xnn_init_f32_minmax_scalar_params
28  k-block: 2
29  assembly: true
30- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_prfm_cortex_a53
31  init: xnn_init_f32_minmax_scalar_params
32  k-block: 4
33  assembly: true
34  pipelined: true
35- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch32_neon_prfm_cortex_a75
36  init: xnn_init_f32_minmax_scalar_params
37  k-block: 4
38  assembly: true
39  pipelined: true
40# AArch64 assembly
41- name: xnn_f32_igemm_minmax_ukernel_1x8__aarch64_neonfma_cortex_a53
42  init: xnn_init_f32_minmax_scalar_params
43  k-block: 8
44  assembly: true
45  pipelined: true
46- name: xnn_f32_igemm_minmax_ukernel_1x8__aarch64_neonfma_cortex_a75
47  init: xnn_init_f32_minmax_scalar_params
48  k-block: 8
49  assembly: true
50  pipelined: true
51- name: xnn_f32_igemm_minmax_ukernel_1x8__aarch64_neonfma_prfm_cortex_a53
52  init: xnn_init_f32_minmax_scalar_params
53  k-block: 8
54  assembly: true
55  pipelined: true
56- name: xnn_f32_igemm_minmax_ukernel_1x8__aarch64_neonfma_prfm_cortex_a75
57  init: xnn_init_f32_minmax_scalar_params
58  k-block: 8
59  assembly: true
60  pipelined: true
61- name: xnn_f32_igemm_minmax_ukernel_1x12__aarch64_neonfma_cortex_a53
62  init: xnn_init_f32_minmax_scalar_params
63  k-block: 4
64  assembly: true
65  pipelined: true
66- name: xnn_f32_igemm_minmax_ukernel_4x2__aarch64_neonfma_cortex_a75
67  init: xnn_init_f32_minmax_scalar_params
68  k-block: 8
69  assembly: true
70  pipelined: true
71- name: xnn_f32_igemm_minmax_ukernel_4x2__aarch64_neonfma_ld64
72  init: xnn_init_f32_minmax_scalar_params
73  k-block: 2
74  assembly: true
75- name: xnn_f32_igemm_minmax_ukernel_4x2__aarch64_neonfma_prfm_cortex_a75
76  init: xnn_init_f32_minmax_scalar_params
77  k-block: 8
78  assembly: true
79  pipelined: true
80- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a53
81  init: xnn_init_f32_minmax_scalar_params
82  k-block: 4
83  assembly: true
84  pipelined: true
85- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a55
86  init: xnn_init_f32_minmax_scalar_params
87  k-block: 4
88  assembly: true
89  pipelined: true
90- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a75
91  init: xnn_init_f32_minmax_scalar_params
92  k-block: 8
93  assembly: true
94  pipelined: true
95- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_ld64
96  init: xnn_init_f32_minmax_scalar_params
97  k-block: 2
98  assembly: true
99- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_ld128
100  init: xnn_init_f32_minmax_scalar_params
101  k-block: 4
102  assembly: true
103- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_prfm_cortex_a53
104  init: xnn_init_f32_minmax_scalar_params
105  k-block: 4
106  assembly: true
107  pipelined: true
108- name: xnn_f32_igemm_minmax_ukernel_4x8__aarch64_neonfma_prfm_cortex_a75
109  init: xnn_init_f32_minmax_scalar_params
110  k-block: 8
111  assembly: true
112  pipelined: true
113- name: xnn_f32_igemm_minmax_ukernel_4x12__aarch64_neonfma_cortex_a53
114  init: xnn_init_f32_minmax_scalar_params
115  k-block: 4
116  assembly: true
117  pipelined: true
118- name: xnn_f32_igemm_minmax_ukernel_5x8__aarch64_neonfma_cortex_a75
119  init: xnn_init_f32_minmax_scalar_params
120  k-block: 8
121  assembly: true
122  pipelined: true
123- name: xnn_f32_igemm_minmax_ukernel_5x8__aarch64_neonfma_prfm_cortex_a75
124  init: xnn_init_f32_minmax_scalar_params
125  k-block: 8
126  assembly: true
127  pipelined: true
128- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a53
129  init: xnn_init_f32_minmax_scalar_params
130  k-block: 4
131  assembly: true
132  pipelined: true
133- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a55
134  init: xnn_init_f32_minmax_scalar_params
135  k-block: 4
136  assembly: true
137  pipelined: true
138- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a73
139  init: xnn_init_f32_minmax_scalar_params
140  k-block: 8
141  assembly: true
142  pipelined: true
143- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a75
144  init: xnn_init_f32_minmax_scalar_params
145  k-block: 8
146  assembly: true
147  pipelined: true
148- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_ld64
149  init: xnn_init_f32_minmax_scalar_params
150  k-block: 2
151  assembly: true
152- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_ld128
153  init: xnn_init_f32_minmax_scalar_params
154  k-block: 4
155  assembly: true
156- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_prfm_cortex_a53
157  init: xnn_init_f32_minmax_scalar_params
158  k-block: 4
159  assembly: true
160  pipelined: true
161- name: xnn_f32_igemm_minmax_ukernel_6x8__aarch64_neonfma_prfm_cortex_a75
162  init: xnn_init_f32_minmax_scalar_params
163  k-block: 8
164  assembly: true
165  pipelined: true
166# ARM NEON
167- name: xnn_f32_igemm_minmax_ukernel_1x8__neon_dup_ld64
168  init: xnn_init_f32_minmax_scalar_params
169  k-block: 2
170- name: xnn_f32_igemm_minmax_ukernel_1x8__neon_lane_ld64
171  init: xnn_init_f32_minmax_scalar_params
172  k-block: 2
173- name: xnn_f32_igemm_minmax_ukernel_1x8__neonfma_dup_ld64
174  init: xnn_init_f32_minmax_scalar_params
175  k-block: 2
176- name: xnn_f32_igemm_minmax_ukernel_1x8__neonfma_lane_ld64
177  init: xnn_init_f32_minmax_scalar_params
178  k-block: 2
179  arch:
180    - aarch64
181- name: xnn_f32_igemm_minmax_ukernel_1x8s4__neon
182  init: xnn_init_f32_minmax_scalar_params
183  k-block: 4
184- name: xnn_f32_igemm_minmax_ukernel_1x8s4__neonfma
185  init: xnn_init_f32_minmax_scalar_params
186  k-block: 4
187- name: xnn_f32_igemm_minmax_ukernel_4x2__neon_lane_ld64
188  init: xnn_init_f32_minmax_scalar_params
189  k-block: 2
190- name: xnn_f32_igemm_minmax_ukernel_4x2__neonfma_lane_ld64
191  init: xnn_init_f32_minmax_scalar_params
192  k-block: 2
193  arch:
194    - aarch64
195- name: xnn_f32_igemm_minmax_ukernel_4x4__neon_lane_ld64
196  init: xnn_init_f32_minmax_scalar_params
197  k-block: 2
198- name: xnn_f32_igemm_minmax_ukernel_4x4__neonfma_lane_ld64
199  init: xnn_init_f32_minmax_scalar_params
200  k-block: 2
201  arch:
202    - aarch64
203- name: xnn_f32_igemm_minmax_ukernel_4x8__neon_dup_ld64
204  init: xnn_init_f32_minmax_scalar_params
205  k-block: 2
206- name: xnn_f32_igemm_minmax_ukernel_4x8__neon_dup_ld128
207  init: xnn_init_f32_minmax_scalar_params
208  k-block: 4
209- name: xnn_f32_igemm_minmax_ukernel_4x8__neon_lane_ld64
210  init: xnn_init_f32_minmax_scalar_params
211  k-block: 2
212- name: xnn_f32_igemm_minmax_ukernel_4x8__neon_lane_ld128
213  init: xnn_init_f32_minmax_scalar_params
214  k-block: 4
215- name: xnn_f32_igemm_minmax_ukernel_4x8__neonfma_dup_ld64
216  init: xnn_init_f32_minmax_scalar_params
217  k-block: 2
218- name: xnn_f32_igemm_minmax_ukernel_4x8__neonfma_dup_ld128
219  init: xnn_init_f32_minmax_scalar_params
220  k-block: 4
221- name: xnn_f32_igemm_minmax_ukernel_4x8__neonfma_lane_ld64
222  init: xnn_init_f32_minmax_scalar_params
223  k-block: 2
224  arch:
225    - aarch64
226- name: xnn_f32_igemm_minmax_ukernel_4x8__neonfma_lane_ld128
227  init: xnn_init_f32_minmax_scalar_params
228  k-block: 4
229  arch:
230    - aarch64
231- name: xnn_f32_igemm_minmax_ukernel_4x8s4__neon
232  init: xnn_init_f32_minmax_scalar_params
233  k-block: 4
234- name: xnn_f32_igemm_minmax_ukernel_4x8s4__neonfma
235  init: xnn_init_f32_minmax_scalar_params
236  k-block: 4
237- name: xnn_f32_igemm_minmax_ukernel_6x2__neon_lane_ld64
238  init: xnn_init_f32_minmax_scalar_params
239  k-block: 2
240- name: xnn_f32_igemm_minmax_ukernel_6x2__neonfma_lane_ld64
241  init: xnn_init_f32_minmax_scalar_params
242  k-block: 2
243  arch:
244    - aarch64
245- name: xnn_f32_igemm_minmax_ukernel_6x8__neon_dup_ld64
246  init: xnn_init_f32_minmax_scalar_params
247  k-block: 2
248- name: xnn_f32_igemm_minmax_ukernel_6x8__neon_dup_ld128
249  init: xnn_init_f32_minmax_scalar_params
250  k-block: 4
251- name: xnn_f32_igemm_minmax_ukernel_6x8__neon_lane_ld64
252  init: xnn_init_f32_minmax_scalar_params
253  k-block: 2
254- name: xnn_f32_igemm_minmax_ukernel_6x8__neon_lane_ld128
255  init: xnn_init_f32_minmax_scalar_params
256  k-block: 4
257- name: xnn_f32_igemm_minmax_ukernel_6x8__neonfma_dup_ld64
258  init: xnn_init_f32_minmax_scalar_params
259  k-block: 2
260- name: xnn_f32_igemm_minmax_ukernel_6x8__neonfma_dup_ld128
261  init: xnn_init_f32_minmax_scalar_params
262  k-block: 4
263- name: xnn_f32_igemm_minmax_ukernel_6x8__neonfma_lane_ld64
264  init: xnn_init_f32_minmax_scalar_params
265  k-block: 2
266  arch:
267    - aarch64
268- name: xnn_f32_igemm_minmax_ukernel_6x8__neonfma_lane_ld128
269  init: xnn_init_f32_minmax_scalar_params
270  k-block: 4
271  arch:
272    - aarch64
273- name: xnn_f32_igemm_minmax_ukernel_6x8s4__neon
274  init: xnn_init_f32_minmax_scalar_params
275  k-block: 4
276- name: xnn_f32_igemm_minmax_ukernel_6x8s4__neonfma
277  init: xnn_init_f32_minmax_scalar_params
278  k-block: 4
279- name: xnn_f32_igemm_minmax_ukernel_8x8s4__neon
280  init: xnn_init_f32_minmax_scalar_params
281  k-block: 4
282- name: xnn_f32_igemm_minmax_ukernel_8x8s4__neonfma
283  init: xnn_init_f32_minmax_scalar_params
284  k-block: 4
285# x86 SSE
286- name: xnn_f32_igemm_minmax_ukernel_1x8__sse_dup
287  init: xnn_init_f32_minmax_sse_params
288  k-block: 4
289- name: xnn_f32_igemm_minmax_ukernel_1x8__sse_load1
290  init: xnn_init_f32_minmax_sse_params
291  k-block: 1
292- name: xnn_f32_igemm_minmax_ukernel_1x8__sse2_dup
293  init: xnn_init_f32_minmax_sse_params
294  k-block: 4
295- name: xnn_f32_igemm_minmax_ukernel_1x8s4__sse
296  init: xnn_init_f32_minmax_sse_params
297  k-block: 4
298- name: xnn_f32_igemm_minmax_ukernel_3x8__sse_dup
299  init: xnn_init_f32_minmax_sse_params
300  k-block: 4
301- name: xnn_f32_igemm_minmax_ukernel_3x8__sse_load1
302  init: xnn_init_f32_minmax_sse_params
303  k-block: 1
304- name: xnn_f32_igemm_minmax_ukernel_3x8__sse2_dup
305  init: xnn_init_f32_minmax_sse_params
306  k-block: 4
307- name: xnn_f32_igemm_minmax_ukernel_3x8s4__sse
308  init: xnn_init_f32_minmax_sse_params
309  k-block: 4
310- name: xnn_f32_igemm_minmax_ukernel_4x2c4__sse
311  init: xnn_init_f32_minmax_sse_params
312  k-block: 4
313- name: xnn_f32_igemm_minmax_ukernel_4x8__sse_dup
314  init: xnn_init_f32_minmax_sse_params
315  k-block: 4
316- name: xnn_f32_igemm_minmax_ukernel_4x8__sse_load1
317  init: xnn_init_f32_minmax_sse_params
318  k-block: 1
319- name: xnn_f32_igemm_minmax_ukernel_4x8__sse2_dup
320  init: xnn_init_f32_minmax_sse_params
321  k-block: 4
322- name: xnn_f32_igemm_minmax_ukernel_4x8s4__sse
323  init: xnn_init_f32_minmax_sse_params
324  k-block: 4
325- name: xnn_f32_igemm_minmax_ukernel_5x8__sse_dup
326  init: xnn_init_f32_minmax_sse_params
327  k-block: 4
328- name: xnn_f32_igemm_minmax_ukernel_5x8__sse_load1
329  init: xnn_init_f32_minmax_sse_params
330  k-block: 1
331- name: xnn_f32_igemm_minmax_ukernel_5x8__sse2_dup
332  init: xnn_init_f32_minmax_sse_params
333  k-block: 4
334- name: xnn_f32_igemm_minmax_ukernel_5x8s4__sse
335  init: xnn_init_f32_minmax_sse_params
336  k-block: 4
337# x86 AVX
338- name: xnn_f32_igemm_minmax_ukernel_1x8__avx_broadcast
339  init: xnn_init_f32_minmax_avx_params
340  k-block: 1
341- name: xnn_f32_igemm_minmax_ukernel_1x16__avx_broadcast
342  init: xnn_init_f32_minmax_avx_params
343  k-block: 1
344- name: xnn_f32_igemm_minmax_ukernel_3x16__avx_broadcast
345  init: xnn_init_f32_minmax_avx_params
346  k-block: 1
347- name: xnn_f32_igemm_minmax_ukernel_4x8__avx_broadcast
348  init: xnn_init_f32_minmax_avx_params
349  k-block: 1
350- name: xnn_f32_igemm_minmax_ukernel_4x16__avx_broadcast
351  init: xnn_init_f32_minmax_avx_params
352  k-block: 1
353- name: xnn_f32_igemm_minmax_ukernel_5x8__avx_broadcast
354  init: xnn_init_f32_minmax_avx_params
355  k-block: 1
356- name: xnn_f32_igemm_minmax_ukernel_5x16__avx_broadcast
357  init: xnn_init_f32_minmax_avx_params
358  k-block: 1
359- name: xnn_f32_igemm_minmax_ukernel_6x8__avx_broadcast
360  init: xnn_init_f32_minmax_avx_params
361  k-block: 1
362- name: xnn_f32_igemm_minmax_ukernel_7x8__avx_broadcast
363  init: xnn_init_f32_minmax_avx_params
364  k-block: 1
365# x86 FMA3
366- name: xnn_f32_igemm_minmax_ukernel_1x8__fma3_broadcast
367  init: xnn_init_f32_minmax_avx_params
368  k-block: 1
369- name: xnn_f32_igemm_minmax_ukernel_1x16__fma3_broadcast
370  init: xnn_init_f32_minmax_avx_params
371  k-block: 1
372- name: xnn_f32_igemm_minmax_ukernel_1x16s4__fma3_broadcast
373  init: xnn_init_f32_minmax_avx_params
374  k-block: 4
375- name: xnn_f32_igemm_minmax_ukernel_3x16__fma3_broadcast
376  init: xnn_init_f32_minmax_avx_params
377  k-block: 1
378- name: xnn_f32_igemm_minmax_ukernel_3x16s4__fma3_broadcast
379  init: xnn_init_f32_minmax_avx_params
380  k-block: 4
381- name: xnn_f32_igemm_minmax_ukernel_4x8__fma3_broadcast
382  init: xnn_init_f32_minmax_avx_params
383  k-block: 1
384- name: xnn_f32_igemm_minmax_ukernel_4x16__fma3_broadcast
385  init: xnn_init_f32_minmax_avx_params
386  k-block: 1
387- name: xnn_f32_igemm_minmax_ukernel_4x16s4__fma3_broadcast
388  init: xnn_init_f32_minmax_avx_params
389  k-block: 4
390- name: xnn_f32_igemm_minmax_ukernel_5x8__fma3_broadcast
391  init: xnn_init_f32_minmax_avx_params
392  k-block: 1
393- name: xnn_f32_igemm_minmax_ukernel_5x16__fma3_broadcast
394  init: xnn_init_f32_minmax_avx_params
395  k-block: 1
396- name: xnn_f32_igemm_minmax_ukernel_5x16s4__fma3_broadcast
397  init: xnn_init_f32_minmax_avx_params
398  k-block: 4
399- name: xnn_f32_igemm_minmax_ukernel_6x8__fma3_broadcast
400  init: xnn_init_f32_minmax_avx_params
401  k-block: 1
402- name: xnn_f32_igemm_minmax_ukernel_7x8__fma3_broadcast
403  init: xnn_init_f32_minmax_avx_params
404  k-block: 1
405- name: xnn_f32_igemm_minmax_ukernel_8x8__fma3_broadcast
406  init: xnn_init_f32_minmax_avx_params
407  k-block: 1
408# x86 AVX512
409- name: xnn_f32_igemm_minmax_ukernel_1x16__avx512f_broadcast
410  init: xnn_init_f32_minmax_scalar_params
411  k-block: 1
412- name: xnn_f32_igemm_minmax_ukernel_4x16__avx512f_broadcast
413  init: xnn_init_f32_minmax_scalar_params
414  k-block: 1
415- name: xnn_f32_igemm_minmax_ukernel_5x16__avx512f_broadcast
416  init: xnn_init_f32_minmax_scalar_params
417  k-block: 1
418- name: xnn_f32_igemm_minmax_ukernel_6x16__avx512f_broadcast
419  init: xnn_init_f32_minmax_scalar_params
420  k-block: 1
421- name: xnn_f32_igemm_minmax_ukernel_7x16__avx512f_broadcast
422  init: xnn_init_f32_minmax_scalar_params
423  k-block: 1
424- name: xnn_f32_igemm_minmax_ukernel_8x16__avx512f_broadcast
425  init: xnn_init_f32_minmax_scalar_params
426  k-block: 1
427# WAsm SIMD
428- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmsimd_arm_loadsplat
429  init: xnn_init_f32_minmax_wasmsimd_params
430  k-block: 1
431- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmsimd_arm_splat
432  init: xnn_init_f32_minmax_wasmsimd_params
433  k-block: 4
434- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmsimd_x86_loadsplat
435  init: xnn_init_f32_minmax_wasmsimd_params
436  k-block: 1
437- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmsimd_x86_splat
438  init: xnn_init_f32_minmax_wasmsimd_params
439  k-block: 4
440- name: xnn_f32_igemm_minmax_ukernel_1x8s4__wasmsimd_arm
441  init: xnn_init_f32_minmax_wasmsimd_params
442  k-block: 4
443- name: xnn_f32_igemm_minmax_ukernel_1x8s4__wasmsimd_x86
444  init: xnn_init_f32_minmax_wasmsimd_params
445  k-block: 4
446- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmsimd_arm_loadsplat
447  init: xnn_init_f32_minmax_wasmsimd_params
448  k-block: 1
449- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmsimd_arm_splat
450  init: xnn_init_f32_minmax_wasmsimd_params
451  k-block: 4
452- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmsimd_x86_loadsplat
453  init: xnn_init_f32_minmax_wasmsimd_params
454  k-block: 1
455- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmsimd_x86_splat
456  init: xnn_init_f32_minmax_wasmsimd_params
457  k-block: 4
458- name: xnn_f32_igemm_minmax_ukernel_3x8s4__wasmsimd_arm
459  init: xnn_init_f32_minmax_wasmsimd_params
460  k-block: 4
461- name: xnn_f32_igemm_minmax_ukernel_3x8s4__wasmsimd_x86
462  init: xnn_init_f32_minmax_wasmsimd_params
463  k-block: 4
464- name: xnn_f32_igemm_minmax_ukernel_4x2c4__wasmsimd_arm
465  init: xnn_init_f32_minmax_wasmsimd_params
466  k-block: 4
467- name: xnn_f32_igemm_minmax_ukernel_4x2c4__wasmsimd_x86
468  init: xnn_init_f32_minmax_wasmsimd_params
469  k-block: 4
470- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmsimd_arm_loadsplat
471  init: xnn_init_f32_minmax_wasmsimd_params
472  k-block: 1
473- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmsimd_arm_splat
474  init: xnn_init_f32_minmax_wasmsimd_params
475  k-block: 4
476- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmsimd_x86_loadsplat
477  init: xnn_init_f32_minmax_wasmsimd_params
478  k-block: 1
479- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmsimd_x86_splat
480  init: xnn_init_f32_minmax_wasmsimd_params
481  k-block: 4
482- name: xnn_f32_igemm_minmax_ukernel_4x8s4__wasmsimd_arm
483  init: xnn_init_f32_minmax_wasmsimd_params
484  k-block: 4
485- name: xnn_f32_igemm_minmax_ukernel_4x8s4__wasmsimd_x86
486  init: xnn_init_f32_minmax_wasmsimd_params
487  k-block: 4
488- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmsimd_arm_loadsplat
489  init: xnn_init_f32_minmax_wasmsimd_params
490  k-block: 1
491- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmsimd_arm_splat
492  init: xnn_init_f32_minmax_wasmsimd_params
493  k-block: 4
494- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmsimd_x86_loadsplat
495  init: xnn_init_f32_minmax_wasmsimd_params
496  k-block: 1
497- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmsimd_x86_splat
498  init: xnn_init_f32_minmax_wasmsimd_params
499  k-block: 4
500- name: xnn_f32_igemm_minmax_ukernel_5x8s4__wasmsimd_arm
501  init: xnn_init_f32_minmax_wasmsimd_params
502  k-block: 4
503- name: xnn_f32_igemm_minmax_ukernel_5x8s4__wasmsimd_x86
504  init: xnn_init_f32_minmax_wasmsimd_params
505  k-block: 4
506- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmsimd_arm_loadsplat
507  init: xnn_init_f32_minmax_wasmsimd_params
508  k-block: 1
509- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmsimd_arm_splat
510  init: xnn_init_f32_minmax_wasmsimd_params
511  k-block: 4
512- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmsimd_x86_loadsplat
513  init: xnn_init_f32_minmax_wasmsimd_params
514  k-block: 1
515- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmsimd_x86_splat
516  init: xnn_init_f32_minmax_wasmsimd_params
517  k-block: 4
518- name: xnn_f32_igemm_minmax_ukernel_6x8s4__wasmsimd_arm
519  init: xnn_init_f32_minmax_wasmsimd_params
520  k-block: 4
521- name: xnn_f32_igemm_minmax_ukernel_6x8s4__wasmsimd_x86
522  init: xnn_init_f32_minmax_wasmsimd_params
523  k-block: 4
524# WAsm Relaxed SIMD
525- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_loadsplat
526  init: xnn_init_f32_minmax_wasmsimd_params
527  k-block: 1
528- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_splat
529  init: xnn_init_f32_minmax_wasmsimd_params
530  k-block: 4
531- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmrelaxedsimd_loadsplat
532  init: xnn_init_f32_minmax_wasmsimd_params
533  k-block: 1
534- name: xnn_f32_igemm_minmax_ukernel_1x8__wasmrelaxedsimd_splat
535  init: xnn_init_f32_minmax_wasmsimd_params
536  k-block: 4
537- name: xnn_f32_igemm_minmax_ukernel_1x8s4__wasmrelaxedsimd
538  init: xnn_init_f32_minmax_wasmsimd_params
539  k-block: 4
540- name: xnn_f32_igemm_minmax_ukernel_1x8s4__wasmrelaxedsimd_fma
541  init: xnn_init_f32_minmax_wasmsimd_params
542  k-block: 4
543- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_loadsplat
544  init: xnn_init_f32_minmax_wasmsimd_params
545  k-block: 1
546- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_splat
547  init: xnn_init_f32_minmax_wasmsimd_params
548  k-block: 4
549- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmrelaxedsimd_loadsplat
550  init: xnn_init_f32_minmax_wasmsimd_params
551  k-block: 1
552- name: xnn_f32_igemm_minmax_ukernel_3x8__wasmrelaxedsimd_splat
553  init: xnn_init_f32_minmax_wasmsimd_params
554  k-block: 4
555- name: xnn_f32_igemm_minmax_ukernel_3x8s4__wasmrelaxedsimd
556  init: xnn_init_f32_minmax_wasmsimd_params
557  k-block: 4
558- name: xnn_f32_igemm_minmax_ukernel_3x8s4__wasmrelaxedsimd_fma
559  init: xnn_init_f32_minmax_wasmsimd_params
560  k-block: 4
561- name: xnn_f32_igemm_minmax_ukernel_4x2c4__wasmrelaxedsimd
562  init: xnn_init_f32_minmax_wasmsimd_params
563  k-block: 4
564- name: xnn_f32_igemm_minmax_ukernel_4x2c4__wasmrelaxedsimd_fma
565  init: xnn_init_f32_minmax_wasmsimd_params
566  k-block: 4
567- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_loadsplat
568  init: xnn_init_f32_minmax_wasmsimd_params
569  k-block: 1
570- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_splat
571  init: xnn_init_f32_minmax_wasmsimd_params
572  k-block: 4
573- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmrelaxedsimd_loadsplat
574  init: xnn_init_f32_minmax_wasmsimd_params
575  k-block: 1
576- name: xnn_f32_igemm_minmax_ukernel_4x8__wasmrelaxedsimd_splat
577  init: xnn_init_f32_minmax_wasmsimd_params
578  k-block: 4
579- name: xnn_f32_igemm_minmax_ukernel_4x8s4__wasmrelaxedsimd
580  init: xnn_init_f32_minmax_wasmsimd_params
581  k-block: 4
582- name: xnn_f32_igemm_minmax_ukernel_4x8s4__wasmrelaxedsimd_fma
583  init: xnn_init_f32_minmax_wasmsimd_params
584  k-block: 4
585- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_loadsplat
586  init: xnn_init_f32_minmax_wasmsimd_params
587  k-block: 1
588- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_splat
589  init: xnn_init_f32_minmax_wasmsimd_params
590  k-block: 4
591- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmrelaxedsimd_loadsplat
592  init: xnn_init_f32_minmax_wasmsimd_params
593  k-block: 1
594- name: xnn_f32_igemm_minmax_ukernel_5x8__wasmrelaxedsimd_splat
595  init: xnn_init_f32_minmax_wasmsimd_params
596  k-block: 4
597- name: xnn_f32_igemm_minmax_ukernel_5x8s4__wasmrelaxedsimd
598  init: xnn_init_f32_minmax_wasmsimd_params
599  k-block: 4
600- name: xnn_f32_igemm_minmax_ukernel_5x8s4__wasmrelaxedsimd_fma
601  init: xnn_init_f32_minmax_wasmsimd_params
602  k-block: 4
603- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_loadsplat
604  init: xnn_init_f32_minmax_wasmsimd_params
605  k-block: 1
606- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_splat
607  init: xnn_init_f32_minmax_wasmsimd_params
608  k-block: 4
609- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmrelaxedsimd_loadsplat
610  init: xnn_init_f32_minmax_wasmsimd_params
611  k-block: 1
612- name: xnn_f32_igemm_minmax_ukernel_6x8__wasmrelaxedsimd_splat
613  init: xnn_init_f32_minmax_wasmsimd_params
614  k-block: 4
615- name: xnn_f32_igemm_minmax_ukernel_6x8s4__wasmrelaxedsimd
616  init: xnn_init_f32_minmax_wasmsimd_params
617  k-block: 4
618- name: xnn_f32_igemm_minmax_ukernel_6x8s4__wasmrelaxedsimd_fma
619  init: xnn_init_f32_minmax_wasmsimd_params
620  k-block: 4
621# WAsm
622- name: xnn_f32_igemm_minmax_ukernel_1x4__wasm
623  init: xnn_init_f32_minmax_scalar_params
624  k-block: 1
625- name: xnn_f32_igemm_minmax_ukernel_2x4__wasm
626  init: xnn_init_f32_minmax_scalar_params
627  k-block: 1
628- name: xnn_f32_igemm_minmax_ukernel_4x2__wasm
629  init: xnn_init_f32_minmax_scalar_params
630  k-block: 1
631- name: xnn_f32_igemm_minmax_ukernel_4x4__wasm
632  init: xnn_init_f32_minmax_scalar_params
633  k-block: 1
634# Scalar
635- name: xnn_f32_igemm_minmax_ukernel_1x4__scalar
636  init: xnn_init_f32_minmax_scalar_params
637  k-block: 1
638- name: xnn_f32_igemm_minmax_ukernel_2x4__scalar
639  init: xnn_init_f32_minmax_scalar_params
640  k-block: 1
641- name: xnn_f32_igemm_minmax_ukernel_4x2__scalar
642  init: xnn_init_f32_minmax_scalar_params
643  k-block: 1
644- name: xnn_f32_igemm_minmax_ukernel_4x4__scalar
645  init: xnn_init_f32_minmax_scalar_params
646  k-block: 1
647# AArch32 JIT assembly
648- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_cortex_a7
649  init: xnn_init_f32_minmax_scalar_params
650  k-block: 2
651  pipelined: false
652  assembly: true
653- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_cortex_a53
654  init: xnn_init_f32_minmax_scalar_params
655  k-block: 4
656  pipelined: true
657  assembly: true
658- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_cortex_a55
659  init: xnn_init_f32_minmax_scalar_params
660  k-block: 4
661  pipelined: true
662  assembly: true
663- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_cortex_a75
664  init: xnn_init_f32_minmax_scalar_params
665  k-block: 4
666  pipelined: true
667  assembly: true
668- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_ld64
669  init: xnn_init_f32_minmax_scalar_params
670  k-block: 2
671  pipelined: false
672  assembly: true
673- name: xnn_generate_f32_igemm_ukernel_4x8__aarch32_neon_prfm_cortex_a75
674  init: xnn_init_f32_minmax_scalar_params
675  k-block: 4
676  pipelined: true
677  assembly: true
678# AArch64 JIT assembly
679- name: xnn_generate_f32_igemm_ukernel_upto6x8__aarch64_neonfma_cortex_a75
680  init: xnn_init_f32_minmax_scalar_params
681  k-block: 8
682  pipelined: true
683- name: xnn_generate_f32_igemm_ukernel_upto6x8__aarch64_neonfma_prfm_cortex_a75
684  init: xnn_init_f32_minmax_scalar_params
685  k-block: 8
686  pipelined: true
687- name: xnn_generate_f32_igemm_ukernel_1x8__aarch64_neonfma_cortex_a75
688  init: xnn_init_f32_minmax_scalar_params
689  k-block: 8
690  pipelined: true
691- name: xnn_generate_f32_igemm_ukernel_1x8__aarch64_neonfma_prfm_cortex_a75
692  init: xnn_init_f32_minmax_scalar_params
693  k-block: 8
694  pipelined: true
695- name: xnn_generate_f32_igemm_ukernel_4x8__aarch64_neonfma_cortex_a75
696  init: xnn_init_f32_minmax_scalar_params
697  k-block: 8
698  pipelined: true
699- name: xnn_generate_f32_igemm_ukernel_4x8__aarch64_neonfma_prfm_cortex_a75
700  init: xnn_init_f32_minmax_scalar_params
701  k-block: 8
702  pipelined: true
703- name: xnn_generate_f32_igemm_ukernel_6x8__aarch64_neonfma_ld128
704  init: xnn_init_f32_minmax_scalar_params
705  k-block: 4
706