blob: f8ce677be72b1a801c5293364deb292c3918847c [file] [log] [blame]
Frank Barchardd5b9f1c2020-07-01 15:00:19 -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-vaddc.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/vbinary.h>
17#include "vbinaryc-microkernel-tester.h"
18
19
20#if XNN_ARCH_WASMSIMD
21 TEST(F32_VADDC__WASMSIMD_X4, batch_eq_4) {
22 VBinOpCMicrokernelTester()
23 .batch_size(4)
24 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x4, VBinOpCMicrokernelTester::OpType::AddC);
25 }
26
27 TEST(F32_VADDC__WASMSIMD_X4, batch_div_4) {
28 for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
29 VBinOpCMicrokernelTester()
30 .batch_size(batch_size)
31 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x4, VBinOpCMicrokernelTester::OpType::AddC);
32 }
33 }
34
35 TEST(F32_VADDC__WASMSIMD_X4, batch_lt_4) {
36 for (size_t batch_size = 1; batch_size < 4; batch_size++) {
37 VBinOpCMicrokernelTester()
38 .batch_size(batch_size)
39 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x4, VBinOpCMicrokernelTester::OpType::AddC);
40 }
41 }
42
43 TEST(F32_VADDC__WASMSIMD_X4, batch_gt_4) {
44 for (size_t batch_size = 5; batch_size < 8; batch_size++) {
45 VBinOpCMicrokernelTester()
46 .batch_size(batch_size)
47 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x4, VBinOpCMicrokernelTester::OpType::AddC);
48 }
49 }
50
51 TEST(F32_VADDC__WASMSIMD_X4, inplace) {
52 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
53 VBinOpCMicrokernelTester()
54 .batch_size(batch_size)
55 .inplace(true)
56 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x4, VBinOpCMicrokernelTester::OpType::AddC);
57 }
58 }
59#endif // XNN_ARCH_WASMSIMD
60
61
62#if XNN_ARCH_WASMSIMD
63 TEST(F32_VADDC__WASMSIMD_X8, batch_eq_8) {
64 VBinOpCMicrokernelTester()
65 .batch_size(8)
66 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x8, VBinOpCMicrokernelTester::OpType::AddC);
67 }
68
69 TEST(F32_VADDC__WASMSIMD_X8, batch_div_8) {
70 for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
71 VBinOpCMicrokernelTester()
72 .batch_size(batch_size)
73 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x8, VBinOpCMicrokernelTester::OpType::AddC);
74 }
75 }
76
77 TEST(F32_VADDC__WASMSIMD_X8, batch_lt_8) {
78 for (size_t batch_size = 1; batch_size < 8; batch_size++) {
79 VBinOpCMicrokernelTester()
80 .batch_size(batch_size)
81 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x8, VBinOpCMicrokernelTester::OpType::AddC);
82 }
83 }
84
85 TEST(F32_VADDC__WASMSIMD_X8, batch_gt_8) {
86 for (size_t batch_size = 9; batch_size < 16; batch_size++) {
87 VBinOpCMicrokernelTester()
88 .batch_size(batch_size)
89 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x8, VBinOpCMicrokernelTester::OpType::AddC);
90 }
91 }
92
93 TEST(F32_VADDC__WASMSIMD_X8, inplace) {
94 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
95 VBinOpCMicrokernelTester()
96 .batch_size(batch_size)
97 .inplace(true)
98 .Test(xnn_f32_vaddc_ukernel__wasmsimd_x8, VBinOpCMicrokernelTester::OpType::AddC);
99 }
100 }
101#endif // XNN_ARCH_WASMSIMD
Frank Barchard8e229db2020-07-06 23:31:35 -0700102
103
104TEST(F32_VADDC__SCALAR_X1, batch_eq_1) {
105 VBinOpCMicrokernelTester()
106 .batch_size(1)
107 .Test(xnn_f32_vaddc_ukernel__scalar_x1, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
108}
109
110TEST(F32_VADDC__SCALAR_X1, batch_gt_1) {
111 for (size_t batch_size = 2; batch_size < 10; batch_size++) {
112 VBinOpCMicrokernelTester()
113 .batch_size(batch_size)
114 .Test(xnn_f32_vaddc_ukernel__scalar_x1, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
115 }
116}
117
118TEST(F32_VADDC__SCALAR_X1, inplace) {
119 for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
120 VBinOpCMicrokernelTester()
121 .batch_size(batch_size)
122 .inplace(true)
123 .Test(xnn_f32_vaddc_ukernel__scalar_x1, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
124 }
125}
126
127
128TEST(F32_VADDC__SCALAR_X2, batch_eq_2) {
129 VBinOpCMicrokernelTester()
130 .batch_size(2)
131 .Test(xnn_f32_vaddc_ukernel__scalar_x2, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
132}
133
134TEST(F32_VADDC__SCALAR_X2, batch_div_2) {
135 for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
136 VBinOpCMicrokernelTester()
137 .batch_size(batch_size)
138 .Test(xnn_f32_vaddc_ukernel__scalar_x2, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
139 }
140}
141
142TEST(F32_VADDC__SCALAR_X2, batch_lt_2) {
143 for (size_t batch_size = 1; batch_size < 2; batch_size++) {
144 VBinOpCMicrokernelTester()
145 .batch_size(batch_size)
146 .Test(xnn_f32_vaddc_ukernel__scalar_x2, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
147 }
148}
149
150TEST(F32_VADDC__SCALAR_X2, batch_gt_2) {
151 for (size_t batch_size = 3; batch_size < 4; batch_size++) {
152 VBinOpCMicrokernelTester()
153 .batch_size(batch_size)
154 .Test(xnn_f32_vaddc_ukernel__scalar_x2, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
155 }
156}
157
158TEST(F32_VADDC__SCALAR_X2, inplace) {
159 for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
160 VBinOpCMicrokernelTester()
161 .batch_size(batch_size)
162 .inplace(true)
163 .Test(xnn_f32_vaddc_ukernel__scalar_x2, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
164 }
165}
166
167
168TEST(F32_VADDC__SCALAR_X4, batch_eq_4) {
169 VBinOpCMicrokernelTester()
170 .batch_size(4)
171 .Test(xnn_f32_vaddc_ukernel__scalar_x4, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
172}
173
174TEST(F32_VADDC__SCALAR_X4, batch_div_4) {
175 for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
176 VBinOpCMicrokernelTester()
177 .batch_size(batch_size)
178 .Test(xnn_f32_vaddc_ukernel__scalar_x4, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
179 }
180}
181
182TEST(F32_VADDC__SCALAR_X4, batch_lt_4) {
183 for (size_t batch_size = 1; batch_size < 4; batch_size++) {
184 VBinOpCMicrokernelTester()
185 .batch_size(batch_size)
186 .Test(xnn_f32_vaddc_ukernel__scalar_x4, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
187 }
188}
189
190TEST(F32_VADDC__SCALAR_X4, batch_gt_4) {
191 for (size_t batch_size = 5; batch_size < 8; batch_size++) {
192 VBinOpCMicrokernelTester()
193 .batch_size(batch_size)
194 .Test(xnn_f32_vaddc_ukernel__scalar_x4, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
195 }
196}
197
198TEST(F32_VADDC__SCALAR_X4, inplace) {
199 for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
200 VBinOpCMicrokernelTester()
201 .batch_size(batch_size)
202 .inplace(true)
203 .Test(xnn_f32_vaddc_ukernel__scalar_x4, VBinOpCMicrokernelTester::OpType::AddC, VBinOpCMicrokernelTester::Variant::Scalar);
204 }
205}