xref: /aosp_15_r20/external/XNNPACK/test/f32-vmulc-relu.cc (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 // Auto-generated file. Do not edit!
7 //   Specification: test/f32-vmulc-relu.yaml
8 //   Generator: tools/generate-vbinary-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/microparams-init.h>
17 #include <xnnpack/vbinary.h>
18 #include "vbinaryc-microkernel-tester.h"
19 
20 
21 #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASMSIMD_X4,batch_eq_4)22   TEST(F32_VMULC_RELU__WASMSIMD_X4, batch_eq_4) {
23     VBinaryCMicrokernelTester()
24       .batch_size(4)
25       .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x4, VBinaryCMicrokernelTester::OpType::MulC);
26   }
27 
TEST(F32_VMULC_RELU__WASMSIMD_X4,batch_div_4)28   TEST(F32_VMULC_RELU__WASMSIMD_X4, batch_div_4) {
29     for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
30       VBinaryCMicrokernelTester()
31         .batch_size(batch_size)
32         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x4, VBinaryCMicrokernelTester::OpType::MulC);
33     }
34   }
35 
TEST(F32_VMULC_RELU__WASMSIMD_X4,batch_lt_4)36   TEST(F32_VMULC_RELU__WASMSIMD_X4, batch_lt_4) {
37     for (size_t batch_size = 1; batch_size < 4; batch_size++) {
38       VBinaryCMicrokernelTester()
39         .batch_size(batch_size)
40         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x4, VBinaryCMicrokernelTester::OpType::MulC);
41     }
42   }
43 
TEST(F32_VMULC_RELU__WASMSIMD_X4,batch_gt_4)44   TEST(F32_VMULC_RELU__WASMSIMD_X4, batch_gt_4) {
45     for (size_t batch_size = 5; batch_size < 8; batch_size++) {
46       VBinaryCMicrokernelTester()
47         .batch_size(batch_size)
48         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x4, VBinaryCMicrokernelTester::OpType::MulC);
49     }
50   }
51 
TEST(F32_VMULC_RELU__WASMSIMD_X4,inplace)52   TEST(F32_VMULC_RELU__WASMSIMD_X4, inplace) {
53     for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
54       VBinaryCMicrokernelTester()
55         .batch_size(batch_size)
56         .inplace(true)
57         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x4, VBinaryCMicrokernelTester::OpType::MulC);
58     }
59   }
60 #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
61 
62 
63 #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASMSIMD_X8,batch_eq_8)64   TEST(F32_VMULC_RELU__WASMSIMD_X8, batch_eq_8) {
65     VBinaryCMicrokernelTester()
66       .batch_size(8)
67       .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x8, VBinaryCMicrokernelTester::OpType::MulC);
68   }
69 
TEST(F32_VMULC_RELU__WASMSIMD_X8,batch_div_8)70   TEST(F32_VMULC_RELU__WASMSIMD_X8, batch_div_8) {
71     for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
72       VBinaryCMicrokernelTester()
73         .batch_size(batch_size)
74         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x8, VBinaryCMicrokernelTester::OpType::MulC);
75     }
76   }
77 
TEST(F32_VMULC_RELU__WASMSIMD_X8,batch_lt_8)78   TEST(F32_VMULC_RELU__WASMSIMD_X8, batch_lt_8) {
79     for (size_t batch_size = 1; batch_size < 8; batch_size++) {
80       VBinaryCMicrokernelTester()
81         .batch_size(batch_size)
82         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x8, VBinaryCMicrokernelTester::OpType::MulC);
83     }
84   }
85 
TEST(F32_VMULC_RELU__WASMSIMD_X8,batch_gt_8)86   TEST(F32_VMULC_RELU__WASMSIMD_X8, batch_gt_8) {
87     for (size_t batch_size = 9; batch_size < 16; batch_size++) {
88       VBinaryCMicrokernelTester()
89         .batch_size(batch_size)
90         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x8, VBinaryCMicrokernelTester::OpType::MulC);
91     }
92   }
93 
TEST(F32_VMULC_RELU__WASMSIMD_X8,inplace)94   TEST(F32_VMULC_RELU__WASMSIMD_X8, inplace) {
95     for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
96       VBinaryCMicrokernelTester()
97         .batch_size(batch_size)
98         .inplace(true)
99         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x8, VBinaryCMicrokernelTester::OpType::MulC);
100     }
101   }
102 #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
103 
104 
105 #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASMSIMD_X16,batch_eq_16)106   TEST(F32_VMULC_RELU__WASMSIMD_X16, batch_eq_16) {
107     VBinaryCMicrokernelTester()
108       .batch_size(16)
109       .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x16, VBinaryCMicrokernelTester::OpType::MulC);
110   }
111 
TEST(F32_VMULC_RELU__WASMSIMD_X16,batch_div_16)112   TEST(F32_VMULC_RELU__WASMSIMD_X16, batch_div_16) {
113     for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
114       VBinaryCMicrokernelTester()
115         .batch_size(batch_size)
116         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x16, VBinaryCMicrokernelTester::OpType::MulC);
117     }
118   }
119 
TEST(F32_VMULC_RELU__WASMSIMD_X16,batch_lt_16)120   TEST(F32_VMULC_RELU__WASMSIMD_X16, batch_lt_16) {
121     for (size_t batch_size = 1; batch_size < 16; batch_size++) {
122       VBinaryCMicrokernelTester()
123         .batch_size(batch_size)
124         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x16, VBinaryCMicrokernelTester::OpType::MulC);
125     }
126   }
127 
TEST(F32_VMULC_RELU__WASMSIMD_X16,batch_gt_16)128   TEST(F32_VMULC_RELU__WASMSIMD_X16, batch_gt_16) {
129     for (size_t batch_size = 17; batch_size < 32; batch_size++) {
130       VBinaryCMicrokernelTester()
131         .batch_size(batch_size)
132         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x16, VBinaryCMicrokernelTester::OpType::MulC);
133     }
134   }
135 
TEST(F32_VMULC_RELU__WASMSIMD_X16,inplace)136   TEST(F32_VMULC_RELU__WASMSIMD_X16, inplace) {
137     for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
138       VBinaryCMicrokernelTester()
139         .batch_size(batch_size)
140         .inplace(true)
141         .Test(xnn_f32_vmulc_relu_ukernel__wasmsimd_x16, VBinaryCMicrokernelTester::OpType::MulC);
142     }
143   }
144 #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
145 
146 
147 #if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASM_X1,batch_eq_1)148   TEST(F32_VMULC_RELU__WASM_X1, batch_eq_1) {
149     VBinaryCMicrokernelTester()
150       .batch_size(1)
151       .Test(xnn_f32_vmulc_relu_ukernel__wasm_x1, VBinaryCMicrokernelTester::OpType::MulC);
152   }
153 
TEST(F32_VMULC_RELU__WASM_X1,batch_gt_1)154   TEST(F32_VMULC_RELU__WASM_X1, batch_gt_1) {
155     for (size_t batch_size = 2; batch_size < 10; batch_size++) {
156       VBinaryCMicrokernelTester()
157         .batch_size(batch_size)
158         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x1, VBinaryCMicrokernelTester::OpType::MulC);
159     }
160   }
161 
TEST(F32_VMULC_RELU__WASM_X1,inplace)162   TEST(F32_VMULC_RELU__WASM_X1, inplace) {
163     for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
164       VBinaryCMicrokernelTester()
165         .batch_size(batch_size)
166         .inplace(true)
167         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x1, VBinaryCMicrokernelTester::OpType::MulC);
168     }
169   }
170 #endif  // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
171 
172 
173 #if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASM_X2,batch_eq_2)174   TEST(F32_VMULC_RELU__WASM_X2, batch_eq_2) {
175     VBinaryCMicrokernelTester()
176       .batch_size(2)
177       .Test(xnn_f32_vmulc_relu_ukernel__wasm_x2, VBinaryCMicrokernelTester::OpType::MulC);
178   }
179 
TEST(F32_VMULC_RELU__WASM_X2,batch_div_2)180   TEST(F32_VMULC_RELU__WASM_X2, batch_div_2) {
181     for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
182       VBinaryCMicrokernelTester()
183         .batch_size(batch_size)
184         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x2, VBinaryCMicrokernelTester::OpType::MulC);
185     }
186   }
187 
TEST(F32_VMULC_RELU__WASM_X2,batch_lt_2)188   TEST(F32_VMULC_RELU__WASM_X2, batch_lt_2) {
189     for (size_t batch_size = 1; batch_size < 2; batch_size++) {
190       VBinaryCMicrokernelTester()
191         .batch_size(batch_size)
192         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x2, VBinaryCMicrokernelTester::OpType::MulC);
193     }
194   }
195 
TEST(F32_VMULC_RELU__WASM_X2,batch_gt_2)196   TEST(F32_VMULC_RELU__WASM_X2, batch_gt_2) {
197     for (size_t batch_size = 3; batch_size < 4; batch_size++) {
198       VBinaryCMicrokernelTester()
199         .batch_size(batch_size)
200         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x2, VBinaryCMicrokernelTester::OpType::MulC);
201     }
202   }
203 
TEST(F32_VMULC_RELU__WASM_X2,inplace)204   TEST(F32_VMULC_RELU__WASM_X2, inplace) {
205     for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
206       VBinaryCMicrokernelTester()
207         .batch_size(batch_size)
208         .inplace(true)
209         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x2, VBinaryCMicrokernelTester::OpType::MulC);
210     }
211   }
212 #endif  // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
213 
214 
215 #if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASM_X4,batch_eq_4)216   TEST(F32_VMULC_RELU__WASM_X4, batch_eq_4) {
217     VBinaryCMicrokernelTester()
218       .batch_size(4)
219       .Test(xnn_f32_vmulc_relu_ukernel__wasm_x4, VBinaryCMicrokernelTester::OpType::MulC);
220   }
221 
TEST(F32_VMULC_RELU__WASM_X4,batch_div_4)222   TEST(F32_VMULC_RELU__WASM_X4, batch_div_4) {
223     for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
224       VBinaryCMicrokernelTester()
225         .batch_size(batch_size)
226         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x4, VBinaryCMicrokernelTester::OpType::MulC);
227     }
228   }
229 
TEST(F32_VMULC_RELU__WASM_X4,batch_lt_4)230   TEST(F32_VMULC_RELU__WASM_X4, batch_lt_4) {
231     for (size_t batch_size = 1; batch_size < 4; batch_size++) {
232       VBinaryCMicrokernelTester()
233         .batch_size(batch_size)
234         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x4, VBinaryCMicrokernelTester::OpType::MulC);
235     }
236   }
237 
TEST(F32_VMULC_RELU__WASM_X4,batch_gt_4)238   TEST(F32_VMULC_RELU__WASM_X4, batch_gt_4) {
239     for (size_t batch_size = 5; batch_size < 8; batch_size++) {
240       VBinaryCMicrokernelTester()
241         .batch_size(batch_size)
242         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x4, VBinaryCMicrokernelTester::OpType::MulC);
243     }
244   }
245 
TEST(F32_VMULC_RELU__WASM_X4,inplace)246   TEST(F32_VMULC_RELU__WASM_X4, inplace) {
247     for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
248       VBinaryCMicrokernelTester()
249         .batch_size(batch_size)
250         .inplace(true)
251         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x4, VBinaryCMicrokernelTester::OpType::MulC);
252     }
253   }
254 #endif  // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
255 
256 
257 #if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VMULC_RELU__WASM_X8,batch_eq_8)258   TEST(F32_VMULC_RELU__WASM_X8, batch_eq_8) {
259     VBinaryCMicrokernelTester()
260       .batch_size(8)
261       .Test(xnn_f32_vmulc_relu_ukernel__wasm_x8, VBinaryCMicrokernelTester::OpType::MulC);
262   }
263 
TEST(F32_VMULC_RELU__WASM_X8,batch_div_8)264   TEST(F32_VMULC_RELU__WASM_X8, batch_div_8) {
265     for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
266       VBinaryCMicrokernelTester()
267         .batch_size(batch_size)
268         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x8, VBinaryCMicrokernelTester::OpType::MulC);
269     }
270   }
271 
TEST(F32_VMULC_RELU__WASM_X8,batch_lt_8)272   TEST(F32_VMULC_RELU__WASM_X8, batch_lt_8) {
273     for (size_t batch_size = 1; batch_size < 8; batch_size++) {
274       VBinaryCMicrokernelTester()
275         .batch_size(batch_size)
276         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x8, VBinaryCMicrokernelTester::OpType::MulC);
277     }
278   }
279 
TEST(F32_VMULC_RELU__WASM_X8,batch_gt_8)280   TEST(F32_VMULC_RELU__WASM_X8, batch_gt_8) {
281     for (size_t batch_size = 9; batch_size < 16; batch_size++) {
282       VBinaryCMicrokernelTester()
283         .batch_size(batch_size)
284         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x8, VBinaryCMicrokernelTester::OpType::MulC);
285     }
286   }
287 
TEST(F32_VMULC_RELU__WASM_X8,inplace)288   TEST(F32_VMULC_RELU__WASM_X8, inplace) {
289     for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
290       VBinaryCMicrokernelTester()
291         .batch_size(batch_size)
292         .inplace(true)
293         .Test(xnn_f32_vmulc_relu_ukernel__wasm_x8, VBinaryCMicrokernelTester::OpType::MulC);
294     }
295   }
296 #endif  // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
297 
298 
TEST(F32_VMULC_RELU__SCALAR_X1,batch_eq_1)299 TEST(F32_VMULC_RELU__SCALAR_X1, batch_eq_1) {
300   VBinaryCMicrokernelTester()
301     .batch_size(1)
302     .Test(xnn_f32_vmulc_relu_ukernel__scalar_x1, VBinaryCMicrokernelTester::OpType::MulC);
303 }
304 
TEST(F32_VMULC_RELU__SCALAR_X1,batch_gt_1)305 TEST(F32_VMULC_RELU__SCALAR_X1, batch_gt_1) {
306   for (size_t batch_size = 2; batch_size < 10; batch_size++) {
307     VBinaryCMicrokernelTester()
308       .batch_size(batch_size)
309       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x1, VBinaryCMicrokernelTester::OpType::MulC);
310   }
311 }
312 
TEST(F32_VMULC_RELU__SCALAR_X1,inplace)313 TEST(F32_VMULC_RELU__SCALAR_X1, inplace) {
314   for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
315     VBinaryCMicrokernelTester()
316       .batch_size(batch_size)
317       .inplace(true)
318       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x1, VBinaryCMicrokernelTester::OpType::MulC);
319   }
320 }
321 
322 
TEST(F32_VMULC_RELU__SCALAR_X2,batch_eq_2)323 TEST(F32_VMULC_RELU__SCALAR_X2, batch_eq_2) {
324   VBinaryCMicrokernelTester()
325     .batch_size(2)
326     .Test(xnn_f32_vmulc_relu_ukernel__scalar_x2, VBinaryCMicrokernelTester::OpType::MulC);
327 }
328 
TEST(F32_VMULC_RELU__SCALAR_X2,batch_div_2)329 TEST(F32_VMULC_RELU__SCALAR_X2, batch_div_2) {
330   for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
331     VBinaryCMicrokernelTester()
332       .batch_size(batch_size)
333       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x2, VBinaryCMicrokernelTester::OpType::MulC);
334   }
335 }
336 
TEST(F32_VMULC_RELU__SCALAR_X2,batch_lt_2)337 TEST(F32_VMULC_RELU__SCALAR_X2, batch_lt_2) {
338   for (size_t batch_size = 1; batch_size < 2; batch_size++) {
339     VBinaryCMicrokernelTester()
340       .batch_size(batch_size)
341       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x2, VBinaryCMicrokernelTester::OpType::MulC);
342   }
343 }
344 
TEST(F32_VMULC_RELU__SCALAR_X2,batch_gt_2)345 TEST(F32_VMULC_RELU__SCALAR_X2, batch_gt_2) {
346   for (size_t batch_size = 3; batch_size < 4; batch_size++) {
347     VBinaryCMicrokernelTester()
348       .batch_size(batch_size)
349       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x2, VBinaryCMicrokernelTester::OpType::MulC);
350   }
351 }
352 
TEST(F32_VMULC_RELU__SCALAR_X2,inplace)353 TEST(F32_VMULC_RELU__SCALAR_X2, inplace) {
354   for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
355     VBinaryCMicrokernelTester()
356       .batch_size(batch_size)
357       .inplace(true)
358       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x2, VBinaryCMicrokernelTester::OpType::MulC);
359   }
360 }
361 
362 
TEST(F32_VMULC_RELU__SCALAR_X4,batch_eq_4)363 TEST(F32_VMULC_RELU__SCALAR_X4, batch_eq_4) {
364   VBinaryCMicrokernelTester()
365     .batch_size(4)
366     .Test(xnn_f32_vmulc_relu_ukernel__scalar_x4, VBinaryCMicrokernelTester::OpType::MulC);
367 }
368 
TEST(F32_VMULC_RELU__SCALAR_X4,batch_div_4)369 TEST(F32_VMULC_RELU__SCALAR_X4, batch_div_4) {
370   for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
371     VBinaryCMicrokernelTester()
372       .batch_size(batch_size)
373       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x4, VBinaryCMicrokernelTester::OpType::MulC);
374   }
375 }
376 
TEST(F32_VMULC_RELU__SCALAR_X4,batch_lt_4)377 TEST(F32_VMULC_RELU__SCALAR_X4, batch_lt_4) {
378   for (size_t batch_size = 1; batch_size < 4; batch_size++) {
379     VBinaryCMicrokernelTester()
380       .batch_size(batch_size)
381       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x4, VBinaryCMicrokernelTester::OpType::MulC);
382   }
383 }
384 
TEST(F32_VMULC_RELU__SCALAR_X4,batch_gt_4)385 TEST(F32_VMULC_RELU__SCALAR_X4, batch_gt_4) {
386   for (size_t batch_size = 5; batch_size < 8; batch_size++) {
387     VBinaryCMicrokernelTester()
388       .batch_size(batch_size)
389       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x4, VBinaryCMicrokernelTester::OpType::MulC);
390   }
391 }
392 
TEST(F32_VMULC_RELU__SCALAR_X4,inplace)393 TEST(F32_VMULC_RELU__SCALAR_X4, inplace) {
394   for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
395     VBinaryCMicrokernelTester()
396       .batch_size(batch_size)
397       .inplace(true)
398       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x4, VBinaryCMicrokernelTester::OpType::MulC);
399   }
400 }
401 
402 
TEST(F32_VMULC_RELU__SCALAR_X8,batch_eq_8)403 TEST(F32_VMULC_RELU__SCALAR_X8, batch_eq_8) {
404   VBinaryCMicrokernelTester()
405     .batch_size(8)
406     .Test(xnn_f32_vmulc_relu_ukernel__scalar_x8, VBinaryCMicrokernelTester::OpType::MulC);
407 }
408 
TEST(F32_VMULC_RELU__SCALAR_X8,batch_div_8)409 TEST(F32_VMULC_RELU__SCALAR_X8, batch_div_8) {
410   for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
411     VBinaryCMicrokernelTester()
412       .batch_size(batch_size)
413       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x8, VBinaryCMicrokernelTester::OpType::MulC);
414   }
415 }
416 
TEST(F32_VMULC_RELU__SCALAR_X8,batch_lt_8)417 TEST(F32_VMULC_RELU__SCALAR_X8, batch_lt_8) {
418   for (size_t batch_size = 1; batch_size < 8; batch_size++) {
419     VBinaryCMicrokernelTester()
420       .batch_size(batch_size)
421       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x8, VBinaryCMicrokernelTester::OpType::MulC);
422   }
423 }
424 
TEST(F32_VMULC_RELU__SCALAR_X8,batch_gt_8)425 TEST(F32_VMULC_RELU__SCALAR_X8, batch_gt_8) {
426   for (size_t batch_size = 9; batch_size < 16; batch_size++) {
427     VBinaryCMicrokernelTester()
428       .batch_size(batch_size)
429       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x8, VBinaryCMicrokernelTester::OpType::MulC);
430   }
431 }
432 
TEST(F32_VMULC_RELU__SCALAR_X8,inplace)433 TEST(F32_VMULC_RELU__SCALAR_X8, inplace) {
434   for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
435     VBinaryCMicrokernelTester()
436       .batch_size(batch_size)
437       .inplace(true)
438       .Test(xnn_f32_vmulc_relu_ukernel__scalar_x8, VBinaryCMicrokernelTester::OpType::MulC);
439   }
440 }
441