blob: 3074e86bcc01bbf2a241b3fa6b136575d2c7aabb [file] [log] [blame]
Frank Barchard674778d2020-08-08 10:17:25 -07001// 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-vsub-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
Marat Dukhan87bd5112021-08-02 11:43:53 -070016#include <xnnpack/params-init.h>
Frank Barchard674778d2020-08-08 10:17:25 -070017#include <xnnpack/vbinary.h>
18#include "vbinary-microkernel-tester.h"
19
20
Marat Dukhan4c617792021-12-21 15:47:58 -080021#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -070022 TEST(F32_VSUB_RELU__WASMSIMD_X4, batch_eq_4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070023 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070024 .batch_size(4)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070025 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070026 }
27
28 TEST(F32_VSUB_RELU__WASMSIMD_X4, batch_div_4) {
29 for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070030 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070031 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070032 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070033 }
34 }
35
36 TEST(F32_VSUB_RELU__WASMSIMD_X4, batch_lt_4) {
37 for (size_t batch_size = 1; batch_size < 4; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070038 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070039 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070040 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070041 }
42 }
43
44 TEST(F32_VSUB_RELU__WASMSIMD_X4, batch_gt_4) {
45 for (size_t batch_size = 5; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070046 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070047 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070048 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070049 }
50 }
51
52 TEST(F32_VSUB_RELU__WASMSIMD_X4, inplace_a) {
53 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070054 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070055 .batch_size(batch_size)
56 .inplace_a(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070057 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070058 }
59 }
60
61 TEST(F32_VSUB_RELU__WASMSIMD_X4, inplace_b) {
62 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070063 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070064 .batch_size(batch_size)
65 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070066 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070067 }
68 }
69
70 TEST(F32_VSUB_RELU__WASMSIMD_X4, inplace_a_and_b) {
71 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070072 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070073 .batch_size(batch_size)
74 .inplace_a(true)
75 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070076 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070077 }
78 }
Marat Dukhan4c617792021-12-21 15:47:58 -080079#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -070080
81
Marat Dukhan4c617792021-12-21 15:47:58 -080082#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -070083 TEST(F32_VSUB_RELU__WASMSIMD_X8, batch_eq_8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070084 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070085 .batch_size(8)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070086 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070087 }
88
89 TEST(F32_VSUB_RELU__WASMSIMD_X8, batch_div_8) {
90 for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070091 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -070092 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -070093 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -070094 }
95 }
96
97 TEST(F32_VSUB_RELU__WASMSIMD_X8, batch_lt_8) {
98 for (size_t batch_size = 1; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -070099 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700100 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700101 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700102 }
103 }
104
105 TEST(F32_VSUB_RELU__WASMSIMD_X8, batch_gt_8) {
106 for (size_t batch_size = 9; batch_size < 16; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700107 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700108 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700109 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700110 }
111 }
112
113 TEST(F32_VSUB_RELU__WASMSIMD_X8, inplace_a) {
114 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700115 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700116 .batch_size(batch_size)
117 .inplace_a(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700118 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700119 }
120 }
121
122 TEST(F32_VSUB_RELU__WASMSIMD_X8, inplace_b) {
123 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700124 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700125 .batch_size(batch_size)
126 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700127 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700128 }
129 }
130
131 TEST(F32_VSUB_RELU__WASMSIMD_X8, inplace_a_and_b) {
132 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700133 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700134 .batch_size(batch_size)
135 .inplace_a(true)
136 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700137 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700138 }
139 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800140#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700141
142
Marat Dukhan4c617792021-12-21 15:47:58 -0800143#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard9c7308f2020-08-31 17:03:01 -0700144 TEST(F32_VSUB_RELU__WASMSIMD_X16, batch_eq_16) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700145 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700146 .batch_size(16)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700147 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700148 }
149
150 TEST(F32_VSUB_RELU__WASMSIMD_X16, batch_div_16) {
151 for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700152 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700153 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700154 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700155 }
156 }
157
158 TEST(F32_VSUB_RELU__WASMSIMD_X16, batch_lt_16) {
159 for (size_t batch_size = 1; batch_size < 16; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700160 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700161 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700162 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700163 }
164 }
165
166 TEST(F32_VSUB_RELU__WASMSIMD_X16, batch_gt_16) {
167 for (size_t batch_size = 17; batch_size < 32; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700168 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700169 .batch_size(batch_size)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700170 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700171 }
172 }
173
174 TEST(F32_VSUB_RELU__WASMSIMD_X16, inplace_a) {
175 for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700176 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700177 .batch_size(batch_size)
178 .inplace_a(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700179 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700180 }
181 }
182
183 TEST(F32_VSUB_RELU__WASMSIMD_X16, inplace_b) {
184 for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700185 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700186 .batch_size(batch_size)
187 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700188 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700189 }
190 }
191
192 TEST(F32_VSUB_RELU__WASMSIMD_X16, inplace_a_and_b) {
193 for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700194 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700195 .batch_size(batch_size)
196 .inplace_a(true)
197 .inplace_b(true)
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700198 .Test(xnn_f32_vsub_relu_ukernel__wasmsimd_x16, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700199 }
200 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800201#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard9c7308f2020-08-31 17:03:01 -0700202
203
Marat Dukhan4c617792021-12-21 15:47:58 -0800204#if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700205 TEST(F32_VSUB_RELU__WASM_X1, batch_eq_1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700206 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700207 .batch_size(1)
Marat Dukhan98c52152021-12-30 13:31:00 -0800208 .Test(xnn_f32_vsub_relu_ukernel__wasm_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700209 }
210
211 TEST(F32_VSUB_RELU__WASM_X1, batch_gt_1) {
212 for (size_t batch_size = 2; batch_size < 10; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700213 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700214 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800215 .Test(xnn_f32_vsub_relu_ukernel__wasm_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700216 }
217 }
218
219 TEST(F32_VSUB_RELU__WASM_X1, inplace_a) {
220 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700221 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700222 .batch_size(batch_size)
223 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800224 .Test(xnn_f32_vsub_relu_ukernel__wasm_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700225 }
226 }
227
228 TEST(F32_VSUB_RELU__WASM_X1, inplace_b) {
229 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700230 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700231 .batch_size(batch_size)
232 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800233 .Test(xnn_f32_vsub_relu_ukernel__wasm_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700234 }
235 }
236
237 TEST(F32_VSUB_RELU__WASM_X1, inplace_a_and_b) {
238 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700239 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700240 .batch_size(batch_size)
241 .inplace_a(true)
242 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800243 .Test(xnn_f32_vsub_relu_ukernel__wasm_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700244 }
245 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800246#endif // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700247
248
Marat Dukhan4c617792021-12-21 15:47:58 -0800249#if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700250 TEST(F32_VSUB_RELU__WASM_X2, batch_eq_2) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700251 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700252 .batch_size(2)
Marat Dukhan98c52152021-12-30 13:31:00 -0800253 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700254 }
255
256 TEST(F32_VSUB_RELU__WASM_X2, batch_div_2) {
257 for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700258 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700259 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800260 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700261 }
262 }
263
264 TEST(F32_VSUB_RELU__WASM_X2, batch_lt_2) {
265 for (size_t batch_size = 1; batch_size < 2; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700266 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700267 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800268 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700269 }
270 }
271
272 TEST(F32_VSUB_RELU__WASM_X2, batch_gt_2) {
273 for (size_t batch_size = 3; batch_size < 4; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700274 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700275 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800276 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700277 }
278 }
279
280 TEST(F32_VSUB_RELU__WASM_X2, inplace_a) {
281 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700282 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700283 .batch_size(batch_size)
284 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800285 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700286 }
287 }
288
289 TEST(F32_VSUB_RELU__WASM_X2, inplace_b) {
290 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700291 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700292 .batch_size(batch_size)
293 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800294 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700295 }
296 }
297
298 TEST(F32_VSUB_RELU__WASM_X2, inplace_a_and_b) {
299 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700300 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700301 .batch_size(batch_size)
302 .inplace_a(true)
303 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800304 .Test(xnn_f32_vsub_relu_ukernel__wasm_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700305 }
306 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800307#endif // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700308
309
Marat Dukhan4c617792021-12-21 15:47:58 -0800310#if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700311 TEST(F32_VSUB_RELU__WASM_X4, batch_eq_4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700312 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700313 .batch_size(4)
Marat Dukhan98c52152021-12-30 13:31:00 -0800314 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700315 }
316
317 TEST(F32_VSUB_RELU__WASM_X4, batch_div_4) {
318 for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700319 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700320 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800321 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700322 }
323 }
324
325 TEST(F32_VSUB_RELU__WASM_X4, batch_lt_4) {
326 for (size_t batch_size = 1; batch_size < 4; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700327 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700328 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800329 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700330 }
331 }
332
333 TEST(F32_VSUB_RELU__WASM_X4, batch_gt_4) {
334 for (size_t batch_size = 5; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700335 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700336 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800337 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700338 }
339 }
340
341 TEST(F32_VSUB_RELU__WASM_X4, inplace_a) {
342 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700343 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700344 .batch_size(batch_size)
345 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800346 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700347 }
348 }
349
350 TEST(F32_VSUB_RELU__WASM_X4, inplace_b) {
351 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700352 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700353 .batch_size(batch_size)
354 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800355 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700356 }
357 }
358
359 TEST(F32_VSUB_RELU__WASM_X4, inplace_a_and_b) {
360 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700361 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700362 .batch_size(batch_size)
363 .inplace_a(true)
364 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800365 .Test(xnn_f32_vsub_relu_ukernel__wasm_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700366 }
367 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800368#endif // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard674778d2020-08-08 10:17:25 -0700369
370
Marat Dukhan4c617792021-12-21 15:47:58 -0800371#if XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard9c7308f2020-08-31 17:03:01 -0700372 TEST(F32_VSUB_RELU__WASM_X8, batch_eq_8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700373 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700374 .batch_size(8)
Marat Dukhan98c52152021-12-30 13:31:00 -0800375 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700376 }
377
378 TEST(F32_VSUB_RELU__WASM_X8, batch_div_8) {
379 for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700380 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700381 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800382 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700383 }
384 }
385
386 TEST(F32_VSUB_RELU__WASM_X8, batch_lt_8) {
387 for (size_t batch_size = 1; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700388 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700389 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800390 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700391 }
392 }
393
394 TEST(F32_VSUB_RELU__WASM_X8, batch_gt_8) {
395 for (size_t batch_size = 9; batch_size < 16; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700396 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700397 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800398 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700399 }
400 }
401
402 TEST(F32_VSUB_RELU__WASM_X8, inplace_a) {
403 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700404 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700405 .batch_size(batch_size)
406 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800407 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700408 }
409 }
410
411 TEST(F32_VSUB_RELU__WASM_X8, inplace_b) {
412 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700413 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700414 .batch_size(batch_size)
415 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800416 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700417 }
418 }
419
420 TEST(F32_VSUB_RELU__WASM_X8, inplace_a_and_b) {
421 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700422 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700423 .batch_size(batch_size)
424 .inplace_a(true)
425 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800426 .Test(xnn_f32_vsub_relu_ukernel__wasm_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700427 }
428 }
Marat Dukhan4c617792021-12-21 15:47:58 -0800429#endif // XNN_ARCH_WASM || XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
Frank Barchard9c7308f2020-08-31 17:03:01 -0700430
431
Frank Barchard674778d2020-08-08 10:17:25 -0700432TEST(F32_VSUB_RELU__SCALAR_X1, batch_eq_1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700433 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700434 .batch_size(1)
Marat Dukhan98c52152021-12-30 13:31:00 -0800435 .Test(xnn_f32_vsub_relu_ukernel__scalar_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700436}
437
438TEST(F32_VSUB_RELU__SCALAR_X1, batch_gt_1) {
439 for (size_t batch_size = 2; batch_size < 10; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700440 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700441 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800442 .Test(xnn_f32_vsub_relu_ukernel__scalar_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700443 }
444}
445
446TEST(F32_VSUB_RELU__SCALAR_X1, inplace_a) {
447 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700448 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700449 .batch_size(batch_size)
450 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800451 .Test(xnn_f32_vsub_relu_ukernel__scalar_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700452 }
453}
454
455TEST(F32_VSUB_RELU__SCALAR_X1, inplace_b) {
456 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700457 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700458 .batch_size(batch_size)
459 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800460 .Test(xnn_f32_vsub_relu_ukernel__scalar_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700461 }
462}
463
464TEST(F32_VSUB_RELU__SCALAR_X1, inplace_a_and_b) {
465 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700466 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700467 .batch_size(batch_size)
468 .inplace_a(true)
469 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800470 .Test(xnn_f32_vsub_relu_ukernel__scalar_x1, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700471 }
472}
473
474
475TEST(F32_VSUB_RELU__SCALAR_X2, batch_eq_2) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700476 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700477 .batch_size(2)
Marat Dukhan98c52152021-12-30 13:31:00 -0800478 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700479}
480
481TEST(F32_VSUB_RELU__SCALAR_X2, batch_div_2) {
482 for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700483 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700484 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800485 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700486 }
487}
488
489TEST(F32_VSUB_RELU__SCALAR_X2, batch_lt_2) {
490 for (size_t batch_size = 1; batch_size < 2; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700491 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700492 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800493 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700494 }
495}
496
497TEST(F32_VSUB_RELU__SCALAR_X2, batch_gt_2) {
498 for (size_t batch_size = 3; batch_size < 4; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700499 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700500 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800501 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700502 }
503}
504
505TEST(F32_VSUB_RELU__SCALAR_X2, inplace_a) {
506 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700507 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700508 .batch_size(batch_size)
509 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800510 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700511 }
512}
513
514TEST(F32_VSUB_RELU__SCALAR_X2, inplace_b) {
515 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700516 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700517 .batch_size(batch_size)
518 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800519 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700520 }
521}
522
523TEST(F32_VSUB_RELU__SCALAR_X2, inplace_a_and_b) {
524 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700525 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700526 .batch_size(batch_size)
527 .inplace_a(true)
528 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800529 .Test(xnn_f32_vsub_relu_ukernel__scalar_x2, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700530 }
531}
532
533
534TEST(F32_VSUB_RELU__SCALAR_X4, batch_eq_4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700535 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700536 .batch_size(4)
Marat Dukhan98c52152021-12-30 13:31:00 -0800537 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700538}
539
540TEST(F32_VSUB_RELU__SCALAR_X4, batch_div_4) {
541 for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700542 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700543 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800544 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700545 }
546}
547
548TEST(F32_VSUB_RELU__SCALAR_X4, batch_lt_4) {
549 for (size_t batch_size = 1; batch_size < 4; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700550 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700551 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800552 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700553 }
554}
555
556TEST(F32_VSUB_RELU__SCALAR_X4, batch_gt_4) {
557 for (size_t batch_size = 5; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700558 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700559 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800560 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700561 }
562}
563
564TEST(F32_VSUB_RELU__SCALAR_X4, inplace_a) {
565 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700566 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700567 .batch_size(batch_size)
568 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800569 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700570 }
571}
572
573TEST(F32_VSUB_RELU__SCALAR_X4, inplace_b) {
574 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700575 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700576 .batch_size(batch_size)
577 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800578 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700579 }
580}
581
582TEST(F32_VSUB_RELU__SCALAR_X4, inplace_a_and_b) {
583 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700584 VBinaryMicrokernelTester()
Frank Barchard674778d2020-08-08 10:17:25 -0700585 .batch_size(batch_size)
586 .inplace_a(true)
587 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800588 .Test(xnn_f32_vsub_relu_ukernel__scalar_x4, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard674778d2020-08-08 10:17:25 -0700589 }
590}
Frank Barchard9c7308f2020-08-31 17:03:01 -0700591
592
593TEST(F32_VSUB_RELU__SCALAR_X8, batch_eq_8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700594 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700595 .batch_size(8)
Marat Dukhan98c52152021-12-30 13:31:00 -0800596 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700597}
598
599TEST(F32_VSUB_RELU__SCALAR_X8, batch_div_8) {
600 for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700601 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700602 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800603 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700604 }
605}
606
607TEST(F32_VSUB_RELU__SCALAR_X8, batch_lt_8) {
608 for (size_t batch_size = 1; batch_size < 8; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700609 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700610 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800611 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700612 }
613}
614
615TEST(F32_VSUB_RELU__SCALAR_X8, batch_gt_8) {
616 for (size_t batch_size = 9; batch_size < 16; batch_size++) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700617 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700618 .batch_size(batch_size)
Marat Dukhan98c52152021-12-30 13:31:00 -0800619 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700620 }
621}
622
623TEST(F32_VSUB_RELU__SCALAR_X8, inplace_a) {
624 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700625 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700626 .batch_size(batch_size)
627 .inplace_a(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800628 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700629 }
630}
631
632TEST(F32_VSUB_RELU__SCALAR_X8, inplace_b) {
633 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700634 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700635 .batch_size(batch_size)
636 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800637 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700638 }
639}
640
641TEST(F32_VSUB_RELU__SCALAR_X8, inplace_a_and_b) {
642 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
Marat Dukhan10f1fe02021-05-13 12:51:12 -0700643 VBinaryMicrokernelTester()
Frank Barchard9c7308f2020-08-31 17:03:01 -0700644 .batch_size(batch_size)
645 .inplace_a(true)
646 .inplace_b(true)
Marat Dukhan98c52152021-12-30 13:31:00 -0800647 .Test(xnn_f32_vsub_relu_ukernel__scalar_x8, VBinaryMicrokernelTester::OpType::Sub);
Frank Barchard9c7308f2020-08-31 17:03:01 -0700648 }
649}