1 // Copyright 2022 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/u32-vlog.yaml
8 // Generator: tools/generate-vlog-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/vlog.h>
17 #include "vlog-microkernel-tester.h"
18
19
TEST(U32_VLOG__SCALAR_X1,DISABLED_batch_eq_1)20 TEST(U32_VLOG__SCALAR_X1, DISABLED_batch_eq_1) {
21 VLogMicrokernelTester()
22 .batch(1)
23 .Test(xnn_u32_vlog_ukernel__scalar_x1);
24 }
25
TEST(U32_VLOG__SCALAR_X1,DISABLED_batch_gt_1)26 TEST(U32_VLOG__SCALAR_X1, DISABLED_batch_gt_1) {
27 for (size_t batch = 2; batch < 10; batch++) {
28 VLogMicrokernelTester()
29 .batch(batch)
30 .Test(xnn_u32_vlog_ukernel__scalar_x1);
31 }
32 }
33
TEST(U32_VLOG__SCALAR_X1,DISABLED_input_lshift)34 TEST(U32_VLOG__SCALAR_X1, DISABLED_input_lshift) {
35 for (uint32_t input_lshift = 0; input_lshift < 32; input_lshift++) {
36 VLogMicrokernelTester()
37 .batch(1)
38 .input_lshift(input_lshift)
39 .Test(xnn_u32_vlog_ukernel__scalar_x1);
40 }
41 }
42
TEST(U32_VLOG__SCALAR_X1,DISABLED_output_scale)43 TEST(U32_VLOG__SCALAR_X1, DISABLED_output_scale) {
44 for (uint32_t output_scale = 0; output_scale < 65536; output_scale += 3) {
45 VLogMicrokernelTester()
46 .batch(1)
47 .output_scale(output_scale)
48 .Test(xnn_u32_vlog_ukernel__scalar_x1);
49 }
50 }
51
TEST(U32_VLOG__SCALAR_X1,DISABLED_inplace)52 TEST(U32_VLOG__SCALAR_X1, DISABLED_inplace) {
53 for (size_t batch = 2; batch < 10; batch++) {
54 VLogMicrokernelTester()
55 .batch(batch)
56 .inplace(true)
57 .Test(xnn_u32_vlog_ukernel__scalar_x1);
58 }
59 }
60
61
TEST(U32_VLOG__SCALAR_X2,DISABLED_batch_eq_2)62 TEST(U32_VLOG__SCALAR_X2, DISABLED_batch_eq_2) {
63 VLogMicrokernelTester()
64 .batch(2)
65 .Test(xnn_u32_vlog_ukernel__scalar_x2);
66 }
67
TEST(U32_VLOG__SCALAR_X2,DISABLED_batch_div_2)68 TEST(U32_VLOG__SCALAR_X2, DISABLED_batch_div_2) {
69 for (size_t batch = 4; batch < 20; batch += 2) {
70 VLogMicrokernelTester()
71 .batch(batch)
72 .Test(xnn_u32_vlog_ukernel__scalar_x2);
73 }
74 }
75
TEST(U32_VLOG__SCALAR_X2,DISABLED_batch_lt_2)76 TEST(U32_VLOG__SCALAR_X2, DISABLED_batch_lt_2) {
77 for (size_t batch = 1; batch < 2; batch++) {
78 VLogMicrokernelTester()
79 .batch(batch)
80 .Test(xnn_u32_vlog_ukernel__scalar_x2);
81 }
82 }
83
TEST(U32_VLOG__SCALAR_X2,DISABLED_batch_gt_2)84 TEST(U32_VLOG__SCALAR_X2, DISABLED_batch_gt_2) {
85 for (size_t batch = 3; batch < 4; batch++) {
86 VLogMicrokernelTester()
87 .batch(batch)
88 .Test(xnn_u32_vlog_ukernel__scalar_x2);
89 }
90 }
91
TEST(U32_VLOG__SCALAR_X2,DISABLED_input_lshift)92 TEST(U32_VLOG__SCALAR_X2, DISABLED_input_lshift) {
93 for (uint32_t input_lshift = 0; input_lshift < 32; input_lshift++) {
94 VLogMicrokernelTester()
95 .batch(2)
96 .input_lshift(input_lshift)
97 .Test(xnn_u32_vlog_ukernel__scalar_x2);
98 }
99 }
100
TEST(U32_VLOG__SCALAR_X2,DISABLED_output_scale)101 TEST(U32_VLOG__SCALAR_X2, DISABLED_output_scale) {
102 for (uint32_t output_scale = 0; output_scale < 65536; output_scale += 5) {
103 VLogMicrokernelTester()
104 .batch(2)
105 .output_scale(output_scale)
106 .Test(xnn_u32_vlog_ukernel__scalar_x2);
107 }
108 }
109
TEST(U32_VLOG__SCALAR_X2,DISABLED_inplace)110 TEST(U32_VLOG__SCALAR_X2, DISABLED_inplace) {
111 for (size_t batch = 3; batch < 4; batch++) {
112 VLogMicrokernelTester()
113 .batch(batch)
114 .inplace(true)
115 .Test(xnn_u32_vlog_ukernel__scalar_x2);
116 }
117 }
118
119
TEST(U32_VLOG__SCALAR_X3,DISABLED_batch_eq_3)120 TEST(U32_VLOG__SCALAR_X3, DISABLED_batch_eq_3) {
121 VLogMicrokernelTester()
122 .batch(3)
123 .Test(xnn_u32_vlog_ukernel__scalar_x3);
124 }
125
TEST(U32_VLOG__SCALAR_X3,DISABLED_batch_div_3)126 TEST(U32_VLOG__SCALAR_X3, DISABLED_batch_div_3) {
127 for (size_t batch = 6; batch < 30; batch += 3) {
128 VLogMicrokernelTester()
129 .batch(batch)
130 .Test(xnn_u32_vlog_ukernel__scalar_x3);
131 }
132 }
133
TEST(U32_VLOG__SCALAR_X3,DISABLED_batch_lt_3)134 TEST(U32_VLOG__SCALAR_X3, DISABLED_batch_lt_3) {
135 for (size_t batch = 1; batch < 3; batch++) {
136 VLogMicrokernelTester()
137 .batch(batch)
138 .Test(xnn_u32_vlog_ukernel__scalar_x3);
139 }
140 }
141
TEST(U32_VLOG__SCALAR_X3,DISABLED_batch_gt_3)142 TEST(U32_VLOG__SCALAR_X3, DISABLED_batch_gt_3) {
143 for (size_t batch = 4; batch < 6; batch++) {
144 VLogMicrokernelTester()
145 .batch(batch)
146 .Test(xnn_u32_vlog_ukernel__scalar_x3);
147 }
148 }
149
TEST(U32_VLOG__SCALAR_X3,DISABLED_input_lshift)150 TEST(U32_VLOG__SCALAR_X3, DISABLED_input_lshift) {
151 for (uint32_t input_lshift = 0; input_lshift < 32; input_lshift++) {
152 VLogMicrokernelTester()
153 .batch(3)
154 .input_lshift(input_lshift)
155 .Test(xnn_u32_vlog_ukernel__scalar_x3);
156 }
157 }
158
TEST(U32_VLOG__SCALAR_X3,DISABLED_output_scale)159 TEST(U32_VLOG__SCALAR_X3, DISABLED_output_scale) {
160 for (uint32_t output_scale = 0; output_scale < 65536; output_scale += 5) {
161 VLogMicrokernelTester()
162 .batch(3)
163 .output_scale(output_scale)
164 .Test(xnn_u32_vlog_ukernel__scalar_x3);
165 }
166 }
167
TEST(U32_VLOG__SCALAR_X3,DISABLED_inplace)168 TEST(U32_VLOG__SCALAR_X3, DISABLED_inplace) {
169 for (size_t batch = 4; batch < 6; batch++) {
170 VLogMicrokernelTester()
171 .batch(batch)
172 .inplace(true)
173 .Test(xnn_u32_vlog_ukernel__scalar_x3);
174 }
175 }
176
177
TEST(U32_VLOG__SCALAR_X4,DISABLED_batch_eq_4)178 TEST(U32_VLOG__SCALAR_X4, DISABLED_batch_eq_4) {
179 VLogMicrokernelTester()
180 .batch(4)
181 .Test(xnn_u32_vlog_ukernel__scalar_x4);
182 }
183
TEST(U32_VLOG__SCALAR_X4,DISABLED_batch_div_4)184 TEST(U32_VLOG__SCALAR_X4, DISABLED_batch_div_4) {
185 for (size_t batch = 8; batch < 40; batch += 4) {
186 VLogMicrokernelTester()
187 .batch(batch)
188 .Test(xnn_u32_vlog_ukernel__scalar_x4);
189 }
190 }
191
TEST(U32_VLOG__SCALAR_X4,DISABLED_batch_lt_4)192 TEST(U32_VLOG__SCALAR_X4, DISABLED_batch_lt_4) {
193 for (size_t batch = 1; batch < 4; batch++) {
194 VLogMicrokernelTester()
195 .batch(batch)
196 .Test(xnn_u32_vlog_ukernel__scalar_x4);
197 }
198 }
199
TEST(U32_VLOG__SCALAR_X4,DISABLED_batch_gt_4)200 TEST(U32_VLOG__SCALAR_X4, DISABLED_batch_gt_4) {
201 for (size_t batch = 5; batch < 8; batch++) {
202 VLogMicrokernelTester()
203 .batch(batch)
204 .Test(xnn_u32_vlog_ukernel__scalar_x4);
205 }
206 }
207
TEST(U32_VLOG__SCALAR_X4,DISABLED_input_lshift)208 TEST(U32_VLOG__SCALAR_X4, DISABLED_input_lshift) {
209 for (uint32_t input_lshift = 0; input_lshift < 32; input_lshift++) {
210 VLogMicrokernelTester()
211 .batch(4)
212 .input_lshift(input_lshift)
213 .Test(xnn_u32_vlog_ukernel__scalar_x4);
214 }
215 }
216
TEST(U32_VLOG__SCALAR_X4,DISABLED_output_scale)217 TEST(U32_VLOG__SCALAR_X4, DISABLED_output_scale) {
218 for (uint32_t output_scale = 0; output_scale < 65536; output_scale += 7) {
219 VLogMicrokernelTester()
220 .batch(4)
221 .output_scale(output_scale)
222 .Test(xnn_u32_vlog_ukernel__scalar_x4);
223 }
224 }
225
TEST(U32_VLOG__SCALAR_X4,DISABLED_inplace)226 TEST(U32_VLOG__SCALAR_X4, DISABLED_inplace) {
227 for (size_t batch = 5; batch < 8; batch++) {
228 VLogMicrokernelTester()
229 .batch(batch)
230 .inplace(true)
231 .Test(xnn_u32_vlog_ukernel__scalar_x4);
232 }
233 }
234