• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // Auto-generated file. Do not edit!
7 //   Specification: test/f32-raddexpminusmax.yaml
8 //   Generator: tools/generate-raddexpminusmax-test.py
9 
10 
11 #include <gtest/gtest.h>
12 
13 #include <xnnpack/common.h>
14 #include <xnnpack/isa-checks.h>
15 
16 #include <xnnpack/raddexpminusmax.h>
17 #include "raddexpminusmax-microkernel-tester.h"
18 
19 
20 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64,elements_eq_64)21   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64, elements_eq_64) {
22     TEST_REQUIRES_X86_AVX2;
23     RAddExpMinusMaxMicrokernelTester()
24       .elements(64)
25       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64);
26   }
27 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64,elements_div_64)28   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64, elements_div_64) {
29     TEST_REQUIRES_X86_AVX2;
30     for (size_t elements = 128; elements < 640; elements += 64) {
31       RAddExpMinusMaxMicrokernelTester()
32         .elements(elements)
33         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64);
34     }
35   }
36 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64,elements_lt_64)37   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64, elements_lt_64) {
38     TEST_REQUIRES_X86_AVX2;
39     for (size_t elements = 1; elements < 64; elements++) {
40       RAddExpMinusMaxMicrokernelTester()
41         .elements(elements)
42         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64);
43     }
44   }
45 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64,elements_gt_64)46   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64, elements_gt_64) {
47     TEST_REQUIRES_X86_AVX2;
48     for (size_t elements = 65; elements < 128; elements++) {
49       RAddExpMinusMaxMicrokernelTester()
50         .elements(elements)
51         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64);
52     }
53   }
54 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
55 
56 
57 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2,elements_eq_64)58   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2, elements_eq_64) {
59     TEST_REQUIRES_X86_AVX2;
60     RAddExpMinusMaxMicrokernelTester()
61       .elements(64)
62       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc2);
63   }
64 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2,elements_div_64)65   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2, elements_div_64) {
66     TEST_REQUIRES_X86_AVX2;
67     for (size_t elements = 128; elements < 640; elements += 64) {
68       RAddExpMinusMaxMicrokernelTester()
69         .elements(elements)
70         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc2);
71     }
72   }
73 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2,elements_lt_64)74   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2, elements_lt_64) {
75     TEST_REQUIRES_X86_AVX2;
76     for (size_t elements = 1; elements < 64; elements++) {
77       RAddExpMinusMaxMicrokernelTester()
78         .elements(elements)
79         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc2);
80     }
81   }
82 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2,elements_gt_64)83   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC2, elements_gt_64) {
84     TEST_REQUIRES_X86_AVX2;
85     for (size_t elements = 65; elements < 128; elements++) {
86       RAddExpMinusMaxMicrokernelTester()
87         .elements(elements)
88         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc2);
89     }
90   }
91 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
92 
93 
94 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4,elements_eq_64)95   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4, elements_eq_64) {
96     TEST_REQUIRES_X86_AVX2;
97     RAddExpMinusMaxMicrokernelTester()
98       .elements(64)
99       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc4);
100   }
101 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4,elements_div_64)102   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4, elements_div_64) {
103     TEST_REQUIRES_X86_AVX2;
104     for (size_t elements = 128; elements < 640; elements += 64) {
105       RAddExpMinusMaxMicrokernelTester()
106         .elements(elements)
107         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc4);
108     }
109   }
110 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4,elements_lt_64)111   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4, elements_lt_64) {
112     TEST_REQUIRES_X86_AVX2;
113     for (size_t elements = 1; elements < 64; elements++) {
114       RAddExpMinusMaxMicrokernelTester()
115         .elements(elements)
116         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc4);
117     }
118   }
119 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4,elements_gt_64)120   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X64_ACC4, elements_gt_64) {
121     TEST_REQUIRES_X86_AVX2;
122     for (size_t elements = 65; elements < 128; elements++) {
123       RAddExpMinusMaxMicrokernelTester()
124         .elements(elements)
125         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x64_acc4);
126     }
127   }
128 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
129 
130 
131 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72,elements_eq_72)132   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72, elements_eq_72) {
133     TEST_REQUIRES_X86_AVX2;
134     RAddExpMinusMaxMicrokernelTester()
135       .elements(72)
136       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72);
137   }
138 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72,elements_div_72)139   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72, elements_div_72) {
140     TEST_REQUIRES_X86_AVX2;
141     for (size_t elements = 144; elements < 720; elements += 72) {
142       RAddExpMinusMaxMicrokernelTester()
143         .elements(elements)
144         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72);
145     }
146   }
147 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72,elements_lt_72)148   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72, elements_lt_72) {
149     TEST_REQUIRES_X86_AVX2;
150     for (size_t elements = 1; elements < 72; elements++) {
151       RAddExpMinusMaxMicrokernelTester()
152         .elements(elements)
153         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72);
154     }
155   }
156 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72,elements_gt_72)157   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72, elements_gt_72) {
158     TEST_REQUIRES_X86_AVX2;
159     for (size_t elements = 73; elements < 144; elements++) {
160       RAddExpMinusMaxMicrokernelTester()
161         .elements(elements)
162         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72);
163     }
164   }
165 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
166 
167 
168 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3,elements_eq_72)169   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3, elements_eq_72) {
170     TEST_REQUIRES_X86_AVX2;
171     RAddExpMinusMaxMicrokernelTester()
172       .elements(72)
173       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72_acc3);
174   }
175 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3,elements_div_72)176   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3, elements_div_72) {
177     TEST_REQUIRES_X86_AVX2;
178     for (size_t elements = 144; elements < 720; elements += 72) {
179       RAddExpMinusMaxMicrokernelTester()
180         .elements(elements)
181         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72_acc3);
182     }
183   }
184 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3,elements_lt_72)185   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3, elements_lt_72) {
186     TEST_REQUIRES_X86_AVX2;
187     for (size_t elements = 1; elements < 72; elements++) {
188       RAddExpMinusMaxMicrokernelTester()
189         .elements(elements)
190         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72_acc3);
191     }
192   }
193 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3,elements_gt_72)194   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X72_ACC3, elements_gt_72) {
195     TEST_REQUIRES_X86_AVX2;
196     for (size_t elements = 73; elements < 144; elements++) {
197       RAddExpMinusMaxMicrokernelTester()
198         .elements(elements)
199         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x72_acc3);
200     }
201   }
202 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
203 
204 
205 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80,elements_eq_80)206   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80, elements_eq_80) {
207     TEST_REQUIRES_X86_AVX2;
208     RAddExpMinusMaxMicrokernelTester()
209       .elements(80)
210       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80);
211   }
212 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80,elements_div_80)213   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80, elements_div_80) {
214     TEST_REQUIRES_X86_AVX2;
215     for (size_t elements = 160; elements < 800; elements += 80) {
216       RAddExpMinusMaxMicrokernelTester()
217         .elements(elements)
218         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80);
219     }
220   }
221 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80,elements_lt_80)222   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80, elements_lt_80) {
223     TEST_REQUIRES_X86_AVX2;
224     for (size_t elements = 1; elements < 80; elements++) {
225       RAddExpMinusMaxMicrokernelTester()
226         .elements(elements)
227         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80);
228     }
229   }
230 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80,elements_gt_80)231   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80, elements_gt_80) {
232     TEST_REQUIRES_X86_AVX2;
233     for (size_t elements = 81; elements < 160; elements++) {
234       RAddExpMinusMaxMicrokernelTester()
235         .elements(elements)
236         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80);
237     }
238   }
239 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
240 
241 
242 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2,elements_eq_80)243   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2, elements_eq_80) {
244     TEST_REQUIRES_X86_AVX2;
245     RAddExpMinusMaxMicrokernelTester()
246       .elements(80)
247       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc2);
248   }
249 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2,elements_div_80)250   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2, elements_div_80) {
251     TEST_REQUIRES_X86_AVX2;
252     for (size_t elements = 160; elements < 800; elements += 80) {
253       RAddExpMinusMaxMicrokernelTester()
254         .elements(elements)
255         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc2);
256     }
257   }
258 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2,elements_lt_80)259   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2, elements_lt_80) {
260     TEST_REQUIRES_X86_AVX2;
261     for (size_t elements = 1; elements < 80; elements++) {
262       RAddExpMinusMaxMicrokernelTester()
263         .elements(elements)
264         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc2);
265     }
266   }
267 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2,elements_gt_80)268   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC2, elements_gt_80) {
269     TEST_REQUIRES_X86_AVX2;
270     for (size_t elements = 81; elements < 160; elements++) {
271       RAddExpMinusMaxMicrokernelTester()
272         .elements(elements)
273         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc2);
274     }
275   }
276 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
277 
278 
279 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5,elements_eq_80)280   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5, elements_eq_80) {
281     TEST_REQUIRES_X86_AVX2;
282     RAddExpMinusMaxMicrokernelTester()
283       .elements(80)
284       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc5);
285   }
286 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5,elements_div_80)287   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5, elements_div_80) {
288     TEST_REQUIRES_X86_AVX2;
289     for (size_t elements = 160; elements < 800; elements += 80) {
290       RAddExpMinusMaxMicrokernelTester()
291         .elements(elements)
292         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc5);
293     }
294   }
295 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5,elements_lt_80)296   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5, elements_lt_80) {
297     TEST_REQUIRES_X86_AVX2;
298     for (size_t elements = 1; elements < 80; elements++) {
299       RAddExpMinusMaxMicrokernelTester()
300         .elements(elements)
301         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc5);
302     }
303   }
304 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5,elements_gt_80)305   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X80_ACC5, elements_gt_80) {
306     TEST_REQUIRES_X86_AVX2;
307     for (size_t elements = 81; elements < 160; elements++) {
308       RAddExpMinusMaxMicrokernelTester()
309         .elements(elements)
310         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x80_acc5);
311     }
312   }
313 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
314 
315 
316 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96,elements_eq_96)317   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96, elements_eq_96) {
318     TEST_REQUIRES_X86_AVX2;
319     RAddExpMinusMaxMicrokernelTester()
320       .elements(96)
321       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96);
322   }
323 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96,elements_div_96)324   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96, elements_div_96) {
325     TEST_REQUIRES_X86_AVX2;
326     for (size_t elements = 192; elements < 960; elements += 96) {
327       RAddExpMinusMaxMicrokernelTester()
328         .elements(elements)
329         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96);
330     }
331   }
332 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96,elements_lt_96)333   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96, elements_lt_96) {
334     TEST_REQUIRES_X86_AVX2;
335     for (size_t elements = 1; elements < 96; elements++) {
336       RAddExpMinusMaxMicrokernelTester()
337         .elements(elements)
338         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96);
339     }
340   }
341 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96,elements_gt_96)342   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96, elements_gt_96) {
343     TEST_REQUIRES_X86_AVX2;
344     for (size_t elements = 97; elements < 192; elements++) {
345       RAddExpMinusMaxMicrokernelTester()
346         .elements(elements)
347         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96);
348     }
349   }
350 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
351 
352 
353 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2,elements_eq_96)354   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2, elements_eq_96) {
355     TEST_REQUIRES_X86_AVX2;
356     RAddExpMinusMaxMicrokernelTester()
357       .elements(96)
358       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc2);
359   }
360 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2,elements_div_96)361   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2, elements_div_96) {
362     TEST_REQUIRES_X86_AVX2;
363     for (size_t elements = 192; elements < 960; elements += 96) {
364       RAddExpMinusMaxMicrokernelTester()
365         .elements(elements)
366         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc2);
367     }
368   }
369 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2,elements_lt_96)370   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2, elements_lt_96) {
371     TEST_REQUIRES_X86_AVX2;
372     for (size_t elements = 1; elements < 96; elements++) {
373       RAddExpMinusMaxMicrokernelTester()
374         .elements(elements)
375         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc2);
376     }
377   }
378 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2,elements_gt_96)379   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC2, elements_gt_96) {
380     TEST_REQUIRES_X86_AVX2;
381     for (size_t elements = 97; elements < 192; elements++) {
382       RAddExpMinusMaxMicrokernelTester()
383         .elements(elements)
384         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc2);
385     }
386   }
387 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
388 
389 
390 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3,elements_eq_96)391   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3, elements_eq_96) {
392     TEST_REQUIRES_X86_AVX2;
393     RAddExpMinusMaxMicrokernelTester()
394       .elements(96)
395       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc3);
396   }
397 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3,elements_div_96)398   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3, elements_div_96) {
399     TEST_REQUIRES_X86_AVX2;
400     for (size_t elements = 192; elements < 960; elements += 96) {
401       RAddExpMinusMaxMicrokernelTester()
402         .elements(elements)
403         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc3);
404     }
405   }
406 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3,elements_lt_96)407   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3, elements_lt_96) {
408     TEST_REQUIRES_X86_AVX2;
409     for (size_t elements = 1; elements < 96; elements++) {
410       RAddExpMinusMaxMicrokernelTester()
411         .elements(elements)
412         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc3);
413     }
414   }
415 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3,elements_gt_96)416   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC3, elements_gt_96) {
417     TEST_REQUIRES_X86_AVX2;
418     for (size_t elements = 97; elements < 192; elements++) {
419       RAddExpMinusMaxMicrokernelTester()
420         .elements(elements)
421         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc3);
422     }
423   }
424 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
425 
426 
427 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6,elements_eq_96)428   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6, elements_eq_96) {
429     TEST_REQUIRES_X86_AVX2;
430     RAddExpMinusMaxMicrokernelTester()
431       .elements(96)
432       .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc6);
433   }
434 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6,elements_div_96)435   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6, elements_div_96) {
436     TEST_REQUIRES_X86_AVX2;
437     for (size_t elements = 192; elements < 960; elements += 96) {
438       RAddExpMinusMaxMicrokernelTester()
439         .elements(elements)
440         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc6);
441     }
442   }
443 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6,elements_lt_96)444   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6, elements_lt_96) {
445     TEST_REQUIRES_X86_AVX2;
446     for (size_t elements = 1; elements < 96; elements++) {
447       RAddExpMinusMaxMicrokernelTester()
448         .elements(elements)
449         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc6);
450     }
451   }
452 
TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6,elements_gt_96)453   TEST(F32_RADDEXPMINUSMAX__AVX2_P5_X96_ACC6, elements_gt_96) {
454     TEST_REQUIRES_X86_AVX2;
455     for (size_t elements = 97; elements < 192; elements++) {
456       RAddExpMinusMaxMicrokernelTester()
457         .elements(elements)
458         .Test(xnn_f32_raddexpminusmax_ukernel__avx2_p5_x96_acc6);
459     }
460   }
461 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
462 
463 
464 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_eq_128)465   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_eq_128) {
466     TEST_REQUIRES_X86_AVX512F;
467     RAddExpMinusMaxMicrokernelTester()
468       .elements(128)
469       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128);
470   }
471 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_div_128)472   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_div_128) {
473     TEST_REQUIRES_X86_AVX512F;
474     for (size_t elements = 256; elements < 1280; elements += 128) {
475       RAddExpMinusMaxMicrokernelTester()
476         .elements(elements)
477         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128);
478     }
479   }
480 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_lt_128)481   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_lt_128) {
482     TEST_REQUIRES_X86_AVX512F;
483     for (size_t elements = 1; elements < 128; elements++) {
484       RAddExpMinusMaxMicrokernelTester()
485         .elements(elements)
486         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128);
487     }
488   }
489 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_gt_128)490   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_gt_128) {
491     TEST_REQUIRES_X86_AVX512F;
492     for (size_t elements = 129; elements < 256; elements++) {
493       RAddExpMinusMaxMicrokernelTester()
494         .elements(elements)
495         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128);
496     }
497   }
498 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
499 
500 
501 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2,elements_eq_128)502   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2, elements_eq_128) {
503     TEST_REQUIRES_X86_AVX512F;
504     RAddExpMinusMaxMicrokernelTester()
505       .elements(128)
506       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc2);
507   }
508 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2,elements_div_128)509   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2, elements_div_128) {
510     TEST_REQUIRES_X86_AVX512F;
511     for (size_t elements = 256; elements < 1280; elements += 128) {
512       RAddExpMinusMaxMicrokernelTester()
513         .elements(elements)
514         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc2);
515     }
516   }
517 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2,elements_lt_128)518   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2, elements_lt_128) {
519     TEST_REQUIRES_X86_AVX512F;
520     for (size_t elements = 1; elements < 128; elements++) {
521       RAddExpMinusMaxMicrokernelTester()
522         .elements(elements)
523         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc2);
524     }
525   }
526 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2,elements_gt_128)527   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC2, elements_gt_128) {
528     TEST_REQUIRES_X86_AVX512F;
529     for (size_t elements = 129; elements < 256; elements++) {
530       RAddExpMinusMaxMicrokernelTester()
531         .elements(elements)
532         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc2);
533     }
534   }
535 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
536 
537 
538 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4,elements_eq_128)539   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4, elements_eq_128) {
540     TEST_REQUIRES_X86_AVX512F;
541     RAddExpMinusMaxMicrokernelTester()
542       .elements(128)
543       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc4);
544   }
545 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4,elements_div_128)546   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4, elements_div_128) {
547     TEST_REQUIRES_X86_AVX512F;
548     for (size_t elements = 256; elements < 1280; elements += 128) {
549       RAddExpMinusMaxMicrokernelTester()
550         .elements(elements)
551         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc4);
552     }
553   }
554 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4,elements_lt_128)555   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4, elements_lt_128) {
556     TEST_REQUIRES_X86_AVX512F;
557     for (size_t elements = 1; elements < 128; elements++) {
558       RAddExpMinusMaxMicrokernelTester()
559         .elements(elements)
560         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc4);
561     }
562   }
563 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4,elements_gt_128)564   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X128_ACC4, elements_gt_128) {
565     TEST_REQUIRES_X86_AVX512F;
566     for (size_t elements = 129; elements < 256; elements++) {
567       RAddExpMinusMaxMicrokernelTester()
568         .elements(elements)
569         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x128_acc4);
570     }
571   }
572 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
573 
574 
575 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_eq_144)576   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_eq_144) {
577     TEST_REQUIRES_X86_AVX512F;
578     RAddExpMinusMaxMicrokernelTester()
579       .elements(144)
580       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144);
581   }
582 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_div_144)583   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_div_144) {
584     TEST_REQUIRES_X86_AVX512F;
585     for (size_t elements = 288; elements < 1440; elements += 144) {
586       RAddExpMinusMaxMicrokernelTester()
587         .elements(elements)
588         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144);
589     }
590   }
591 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_lt_144)592   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_lt_144) {
593     TEST_REQUIRES_X86_AVX512F;
594     for (size_t elements = 1; elements < 144; elements++) {
595       RAddExpMinusMaxMicrokernelTester()
596         .elements(elements)
597         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144);
598     }
599   }
600 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_gt_144)601   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_gt_144) {
602     TEST_REQUIRES_X86_AVX512F;
603     for (size_t elements = 145; elements < 288; elements++) {
604       RAddExpMinusMaxMicrokernelTester()
605         .elements(elements)
606         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144);
607     }
608   }
609 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
610 
611 
612 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3,elements_eq_144)613   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3, elements_eq_144) {
614     TEST_REQUIRES_X86_AVX512F;
615     RAddExpMinusMaxMicrokernelTester()
616       .elements(144)
617       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144_acc3);
618   }
619 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3,elements_div_144)620   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3, elements_div_144) {
621     TEST_REQUIRES_X86_AVX512F;
622     for (size_t elements = 288; elements < 1440; elements += 144) {
623       RAddExpMinusMaxMicrokernelTester()
624         .elements(elements)
625         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144_acc3);
626     }
627   }
628 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3,elements_lt_144)629   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3, elements_lt_144) {
630     TEST_REQUIRES_X86_AVX512F;
631     for (size_t elements = 1; elements < 144; elements++) {
632       RAddExpMinusMaxMicrokernelTester()
633         .elements(elements)
634         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144_acc3);
635     }
636   }
637 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3,elements_gt_144)638   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X144_ACC3, elements_gt_144) {
639     TEST_REQUIRES_X86_AVX512F;
640     for (size_t elements = 145; elements < 288; elements++) {
641       RAddExpMinusMaxMicrokernelTester()
642         .elements(elements)
643         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x144_acc3);
644     }
645   }
646 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
647 
648 
649 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_eq_160)650   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_eq_160) {
651     TEST_REQUIRES_X86_AVX512F;
652     RAddExpMinusMaxMicrokernelTester()
653       .elements(160)
654       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160);
655   }
656 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_div_160)657   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_div_160) {
658     TEST_REQUIRES_X86_AVX512F;
659     for (size_t elements = 320; elements < 1600; elements += 160) {
660       RAddExpMinusMaxMicrokernelTester()
661         .elements(elements)
662         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160);
663     }
664   }
665 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_lt_160)666   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_lt_160) {
667     TEST_REQUIRES_X86_AVX512F;
668     for (size_t elements = 1; elements < 160; elements++) {
669       RAddExpMinusMaxMicrokernelTester()
670         .elements(elements)
671         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160);
672     }
673   }
674 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_gt_160)675   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_gt_160) {
676     TEST_REQUIRES_X86_AVX512F;
677     for (size_t elements = 161; elements < 320; elements++) {
678       RAddExpMinusMaxMicrokernelTester()
679         .elements(elements)
680         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160);
681     }
682   }
683 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
684 
685 
686 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2,elements_eq_160)687   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2, elements_eq_160) {
688     TEST_REQUIRES_X86_AVX512F;
689     RAddExpMinusMaxMicrokernelTester()
690       .elements(160)
691       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc2);
692   }
693 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2,elements_div_160)694   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2, elements_div_160) {
695     TEST_REQUIRES_X86_AVX512F;
696     for (size_t elements = 320; elements < 1600; elements += 160) {
697       RAddExpMinusMaxMicrokernelTester()
698         .elements(elements)
699         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc2);
700     }
701   }
702 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2,elements_lt_160)703   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2, elements_lt_160) {
704     TEST_REQUIRES_X86_AVX512F;
705     for (size_t elements = 1; elements < 160; elements++) {
706       RAddExpMinusMaxMicrokernelTester()
707         .elements(elements)
708         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc2);
709     }
710   }
711 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2,elements_gt_160)712   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC2, elements_gt_160) {
713     TEST_REQUIRES_X86_AVX512F;
714     for (size_t elements = 161; elements < 320; elements++) {
715       RAddExpMinusMaxMicrokernelTester()
716         .elements(elements)
717         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc2);
718     }
719   }
720 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
721 
722 
723 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5,elements_eq_160)724   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5, elements_eq_160) {
725     TEST_REQUIRES_X86_AVX512F;
726     RAddExpMinusMaxMicrokernelTester()
727       .elements(160)
728       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc5);
729   }
730 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5,elements_div_160)731   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5, elements_div_160) {
732     TEST_REQUIRES_X86_AVX512F;
733     for (size_t elements = 320; elements < 1600; elements += 160) {
734       RAddExpMinusMaxMicrokernelTester()
735         .elements(elements)
736         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc5);
737     }
738   }
739 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5,elements_lt_160)740   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5, elements_lt_160) {
741     TEST_REQUIRES_X86_AVX512F;
742     for (size_t elements = 1; elements < 160; elements++) {
743       RAddExpMinusMaxMicrokernelTester()
744         .elements(elements)
745         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc5);
746     }
747   }
748 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5,elements_gt_160)749   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X160_ACC5, elements_gt_160) {
750     TEST_REQUIRES_X86_AVX512F;
751     for (size_t elements = 161; elements < 320; elements++) {
752       RAddExpMinusMaxMicrokernelTester()
753         .elements(elements)
754         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x160_acc5);
755     }
756   }
757 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
758 
759 
760 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_eq_192)761   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_eq_192) {
762     TEST_REQUIRES_X86_AVX512F;
763     RAddExpMinusMaxMicrokernelTester()
764       .elements(192)
765       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192);
766   }
767 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_div_192)768   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_div_192) {
769     TEST_REQUIRES_X86_AVX512F;
770     for (size_t elements = 384; elements < 1920; elements += 192) {
771       RAddExpMinusMaxMicrokernelTester()
772         .elements(elements)
773         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192);
774     }
775   }
776 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_lt_192)777   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_lt_192) {
778     TEST_REQUIRES_X86_AVX512F;
779     for (size_t elements = 1; elements < 192; elements++) {
780       RAddExpMinusMaxMicrokernelTester()
781         .elements(elements)
782         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192);
783     }
784   }
785 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_gt_192)786   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_gt_192) {
787     TEST_REQUIRES_X86_AVX512F;
788     for (size_t elements = 193; elements < 384; elements++) {
789       RAddExpMinusMaxMicrokernelTester()
790         .elements(elements)
791         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192);
792     }
793   }
794 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
795 
796 
797 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2,elements_eq_192)798   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2, elements_eq_192) {
799     TEST_REQUIRES_X86_AVX512F;
800     RAddExpMinusMaxMicrokernelTester()
801       .elements(192)
802       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc2);
803   }
804 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2,elements_div_192)805   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2, elements_div_192) {
806     TEST_REQUIRES_X86_AVX512F;
807     for (size_t elements = 384; elements < 1920; elements += 192) {
808       RAddExpMinusMaxMicrokernelTester()
809         .elements(elements)
810         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc2);
811     }
812   }
813 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2,elements_lt_192)814   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2, elements_lt_192) {
815     TEST_REQUIRES_X86_AVX512F;
816     for (size_t elements = 1; elements < 192; elements++) {
817       RAddExpMinusMaxMicrokernelTester()
818         .elements(elements)
819         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc2);
820     }
821   }
822 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2,elements_gt_192)823   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC2, elements_gt_192) {
824     TEST_REQUIRES_X86_AVX512F;
825     for (size_t elements = 193; elements < 384; elements++) {
826       RAddExpMinusMaxMicrokernelTester()
827         .elements(elements)
828         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc2);
829     }
830   }
831 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
832 
833 
834 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3,elements_eq_192)835   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3, elements_eq_192) {
836     TEST_REQUIRES_X86_AVX512F;
837     RAddExpMinusMaxMicrokernelTester()
838       .elements(192)
839       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc3);
840   }
841 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3,elements_div_192)842   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3, elements_div_192) {
843     TEST_REQUIRES_X86_AVX512F;
844     for (size_t elements = 384; elements < 1920; elements += 192) {
845       RAddExpMinusMaxMicrokernelTester()
846         .elements(elements)
847         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc3);
848     }
849   }
850 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3,elements_lt_192)851   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3, elements_lt_192) {
852     TEST_REQUIRES_X86_AVX512F;
853     for (size_t elements = 1; elements < 192; elements++) {
854       RAddExpMinusMaxMicrokernelTester()
855         .elements(elements)
856         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc3);
857     }
858   }
859 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3,elements_gt_192)860   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC3, elements_gt_192) {
861     TEST_REQUIRES_X86_AVX512F;
862     for (size_t elements = 193; elements < 384; elements++) {
863       RAddExpMinusMaxMicrokernelTester()
864         .elements(elements)
865         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc3);
866     }
867   }
868 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
869 
870 
871 #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6,elements_eq_192)872   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6, elements_eq_192) {
873     TEST_REQUIRES_X86_AVX512F;
874     RAddExpMinusMaxMicrokernelTester()
875       .elements(192)
876       .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc6);
877   }
878 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6,elements_div_192)879   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6, elements_div_192) {
880     TEST_REQUIRES_X86_AVX512F;
881     for (size_t elements = 384; elements < 1920; elements += 192) {
882       RAddExpMinusMaxMicrokernelTester()
883         .elements(elements)
884         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc6);
885     }
886   }
887 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6,elements_lt_192)888   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6, elements_lt_192) {
889     TEST_REQUIRES_X86_AVX512F;
890     for (size_t elements = 1; elements < 192; elements++) {
891       RAddExpMinusMaxMicrokernelTester()
892         .elements(elements)
893         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc6);
894     }
895   }
896 
TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6,elements_gt_192)897   TEST(F32_RADDEXPMINUSMAX__AVX512F_P5_SCALEF_X192_ACC6, elements_gt_192) {
898     TEST_REQUIRES_X86_AVX512F;
899     for (size_t elements = 193; elements < 384; elements++) {
900       RAddExpMinusMaxMicrokernelTester()
901         .elements(elements)
902         .Test(xnn_f32_raddexpminusmax_ukernel__avx512f_p5_scalef_x192_acc6);
903     }
904   }
905 #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
906