1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2022 Google LLC
2*4bdc9457SAndroid Build Coastguard Worker //
3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
5*4bdc9457SAndroid Build Coastguard Worker //
6*4bdc9457SAndroid Build Coastguard Worker // Auto-generated file. Do not edit!
7*4bdc9457SAndroid Build Coastguard Worker // Specification: test/cs16-vsquareabs.yaml
8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-vsquareabs-test.py
9*4bdc9457SAndroid Build Coastguard Worker
10*4bdc9457SAndroid Build Coastguard Worker
11*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h>
12*4bdc9457SAndroid Build Coastguard Worker
13*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h>
14*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/isa-checks.h>
15*4bdc9457SAndroid Build Coastguard Worker
16*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/vsquareabs.h>
17*4bdc9457SAndroid Build Coastguard Worker #include "vsquareabs-microkernel-tester.h"
18*4bdc9457SAndroid Build Coastguard Worker
19*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X1,batch_eq_1)20*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X1, batch_eq_1) {
21*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
22*4bdc9457SAndroid Build Coastguard Worker .batch_size(1)
23*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x1);
24*4bdc9457SAndroid Build Coastguard Worker }
25*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X1,batch_gt_1)26*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X1, batch_gt_1) {
27*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 2; batch_size < 10; batch_size++) {
28*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
29*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
30*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x1);
31*4bdc9457SAndroid Build Coastguard Worker }
32*4bdc9457SAndroid Build Coastguard Worker }
33*4bdc9457SAndroid Build Coastguard Worker
34*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X2,batch_eq_2)35*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X2, batch_eq_2) {
36*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
37*4bdc9457SAndroid Build Coastguard Worker .batch_size(2)
38*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x2);
39*4bdc9457SAndroid Build Coastguard Worker }
40*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X2,batch_div_2)41*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X2, batch_div_2) {
42*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
43*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
44*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
45*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x2);
46*4bdc9457SAndroid Build Coastguard Worker }
47*4bdc9457SAndroid Build Coastguard Worker }
48*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X2,batch_lt_2)49*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X2, batch_lt_2) {
50*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 2; batch_size++) {
51*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
52*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
53*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x2);
54*4bdc9457SAndroid Build Coastguard Worker }
55*4bdc9457SAndroid Build Coastguard Worker }
56*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X2,batch_gt_2)57*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X2, batch_gt_2) {
58*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 3; batch_size < 4; batch_size++) {
59*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
60*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
61*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x2);
62*4bdc9457SAndroid Build Coastguard Worker }
63*4bdc9457SAndroid Build Coastguard Worker }
64*4bdc9457SAndroid Build Coastguard Worker
65*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X3,batch_eq_3)66*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X3, batch_eq_3) {
67*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
68*4bdc9457SAndroid Build Coastguard Worker .batch_size(3)
69*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x3);
70*4bdc9457SAndroid Build Coastguard Worker }
71*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X3,batch_div_3)72*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X3, batch_div_3) {
73*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 6; batch_size < 30; batch_size += 3) {
74*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
75*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
76*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x3);
77*4bdc9457SAndroid Build Coastguard Worker }
78*4bdc9457SAndroid Build Coastguard Worker }
79*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X3,batch_lt_3)80*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X3, batch_lt_3) {
81*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 3; batch_size++) {
82*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
83*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
84*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x3);
85*4bdc9457SAndroid Build Coastguard Worker }
86*4bdc9457SAndroid Build Coastguard Worker }
87*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X3,batch_gt_3)88*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X3, batch_gt_3) {
89*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 4; batch_size < 6; batch_size++) {
90*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
91*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
92*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x3);
93*4bdc9457SAndroid Build Coastguard Worker }
94*4bdc9457SAndroid Build Coastguard Worker }
95*4bdc9457SAndroid Build Coastguard Worker
96*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X4,batch_eq_4)97*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X4, batch_eq_4) {
98*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
99*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
100*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x4);
101*4bdc9457SAndroid Build Coastguard Worker }
102*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X4,batch_div_4)103*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X4, batch_div_4) {
104*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
105*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
106*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
107*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x4);
108*4bdc9457SAndroid Build Coastguard Worker }
109*4bdc9457SAndroid Build Coastguard Worker }
110*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X4,batch_lt_4)111*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X4, batch_lt_4) {
112*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
113*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
114*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
115*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x4);
116*4bdc9457SAndroid Build Coastguard Worker }
117*4bdc9457SAndroid Build Coastguard Worker }
118*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__SCALAR_X4,batch_gt_4)119*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__SCALAR_X4, batch_gt_4) {
120*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
121*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
122*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
123*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__scalar_x4);
124*4bdc9457SAndroid Build Coastguard Worker }
125*4bdc9457SAndroid Build Coastguard Worker }
126*4bdc9457SAndroid Build Coastguard Worker
127*4bdc9457SAndroid Build Coastguard Worker
128*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4,batch_eq_4)129*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4, batch_eq_4) {
130*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
131*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
132*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
133*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x4);
134*4bdc9457SAndroid Build Coastguard Worker }
135*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4,batch_div_4)136*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4, batch_div_4) {
137*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
138*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
139*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
140*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
141*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x4);
142*4bdc9457SAndroid Build Coastguard Worker }
143*4bdc9457SAndroid Build Coastguard Worker }
144*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4,batch_lt_4)145*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4, batch_lt_4) {
146*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
147*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
148*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
149*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
150*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x4);
151*4bdc9457SAndroid Build Coastguard Worker }
152*4bdc9457SAndroid Build Coastguard Worker }
153*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4,batch_gt_4)154*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X4, batch_gt_4) {
155*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
156*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
157*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
158*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
159*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x4);
160*4bdc9457SAndroid Build Coastguard Worker }
161*4bdc9457SAndroid Build Coastguard Worker }
162*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
163*4bdc9457SAndroid Build Coastguard Worker
164*4bdc9457SAndroid Build Coastguard Worker
165*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8,batch_eq_8)166*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8, batch_eq_8) {
167*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
168*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
169*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
170*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x8);
171*4bdc9457SAndroid Build Coastguard Worker }
172*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8,batch_div_8)173*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8, batch_div_8) {
174*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
175*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
176*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
177*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
178*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x8);
179*4bdc9457SAndroid Build Coastguard Worker }
180*4bdc9457SAndroid Build Coastguard Worker }
181*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8,batch_lt_8)182*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8, batch_lt_8) {
183*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
184*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
185*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
186*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
187*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x8);
188*4bdc9457SAndroid Build Coastguard Worker }
189*4bdc9457SAndroid Build Coastguard Worker }
190*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8,batch_gt_8)191*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X8, batch_gt_8) {
192*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
193*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
194*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
195*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
196*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x8);
197*4bdc9457SAndroid Build Coastguard Worker }
198*4bdc9457SAndroid Build Coastguard Worker }
199*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
200*4bdc9457SAndroid Build Coastguard Worker
201*4bdc9457SAndroid Build Coastguard Worker
202*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12,batch_eq_12)203*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12, batch_eq_12) {
204*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
205*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
206*4bdc9457SAndroid Build Coastguard Worker .batch_size(12)
207*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x12);
208*4bdc9457SAndroid Build Coastguard Worker }
209*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12,batch_div_12)210*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12, batch_div_12) {
211*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
212*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 24; batch_size < 120; batch_size += 12) {
213*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
214*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
215*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x12);
216*4bdc9457SAndroid Build Coastguard Worker }
217*4bdc9457SAndroid Build Coastguard Worker }
218*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12,batch_lt_12)219*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12, batch_lt_12) {
220*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
221*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 12; batch_size++) {
222*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
223*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
224*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x12);
225*4bdc9457SAndroid Build Coastguard Worker }
226*4bdc9457SAndroid Build Coastguard Worker }
227*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12,batch_gt_12)228*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X12, batch_gt_12) {
229*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
230*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 13; batch_size < 24; batch_size++) {
231*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
232*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
233*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x12);
234*4bdc9457SAndroid Build Coastguard Worker }
235*4bdc9457SAndroid Build Coastguard Worker }
236*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
237*4bdc9457SAndroid Build Coastguard Worker
238*4bdc9457SAndroid Build Coastguard Worker
239*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16,batch_eq_16)240*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16, batch_eq_16) {
241*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
242*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
243*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
244*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x16);
245*4bdc9457SAndroid Build Coastguard Worker }
246*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16,batch_div_16)247*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16, batch_div_16) {
248*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
249*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
250*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
251*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
252*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x16);
253*4bdc9457SAndroid Build Coastguard Worker }
254*4bdc9457SAndroid Build Coastguard Worker }
255*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16,batch_lt_16)256*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16, batch_lt_16) {
257*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
258*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
259*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
260*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
261*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x16);
262*4bdc9457SAndroid Build Coastguard Worker }
263*4bdc9457SAndroid Build Coastguard Worker }
264*4bdc9457SAndroid Build Coastguard Worker
TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16,batch_gt_16)265*4bdc9457SAndroid Build Coastguard Worker TEST(CS16_VSQUAREABS__NEON_MLAL_LD128_X16, batch_gt_16) {
266*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
267*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
268*4bdc9457SAndroid Build Coastguard Worker VSquareAbsMicrokernelTester()
269*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
270*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_cs16_vsquareabs_ukernel__neon_mlal_ld128_x16);
271*4bdc9457SAndroid Build Coastguard Worker }
272*4bdc9457SAndroid Build Coastguard Worker }
273*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
274