1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 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/f32-vsqrt.yaml
8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-vunary-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/vunary.h>
17*4bdc9457SAndroid Build Coastguard Worker #include "vunary-microkernel-tester.h"
18*4bdc9457SAndroid Build Coastguard Worker
19*4bdc9457SAndroid Build Coastguard Worker
20*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(F32_VSQRT__NEON_SQRT_X4,batch_eq_4)21*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X4, batch_eq_4) {
22*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
23*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
24*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
25*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x4);
26*4bdc9457SAndroid Build Coastguard Worker }
27*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X4,batch_div_4)28*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X4, batch_div_4) {
29*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
30*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
31*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
32*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
33*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x4);
34*4bdc9457SAndroid Build Coastguard Worker }
35*4bdc9457SAndroid Build Coastguard Worker }
36*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X4,batch_lt_4)37*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X4, batch_lt_4) {
38*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
39*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
40*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
41*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
42*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x4);
43*4bdc9457SAndroid Build Coastguard Worker }
44*4bdc9457SAndroid Build Coastguard Worker }
45*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X4,batch_gt_4)46*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X4, batch_gt_4) {
47*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
48*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
49*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
50*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
51*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x4);
52*4bdc9457SAndroid Build Coastguard Worker }
53*4bdc9457SAndroid Build Coastguard Worker }
54*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X4,inplace)55*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X4, inplace) {
56*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
57*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
58*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
59*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
60*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
61*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x4);
62*4bdc9457SAndroid Build Coastguard Worker }
63*4bdc9457SAndroid Build Coastguard Worker }
64*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM64
65*4bdc9457SAndroid Build Coastguard Worker
66*4bdc9457SAndroid Build Coastguard Worker
67*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(F32_VSQRT__NEON_SQRT_X8,batch_eq_8)68*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X8, batch_eq_8) {
69*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
70*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
71*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
72*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x8);
73*4bdc9457SAndroid Build Coastguard Worker }
74*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X8,batch_div_8)75*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X8, batch_div_8) {
76*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
77*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
78*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
79*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
80*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x8);
81*4bdc9457SAndroid Build Coastguard Worker }
82*4bdc9457SAndroid Build Coastguard Worker }
83*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X8,batch_lt_8)84*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X8, batch_lt_8) {
85*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
86*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
87*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
88*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
89*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x8);
90*4bdc9457SAndroid Build Coastguard Worker }
91*4bdc9457SAndroid Build Coastguard Worker }
92*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X8,batch_gt_8)93*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X8, batch_gt_8) {
94*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
95*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
96*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
97*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
98*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x8);
99*4bdc9457SAndroid Build Coastguard Worker }
100*4bdc9457SAndroid Build Coastguard Worker }
101*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEON_SQRT_X8,inplace)102*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEON_SQRT_X8, inplace) {
103*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
104*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
105*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
106*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
107*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
108*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neon_sqrt_x8);
109*4bdc9457SAndroid Build Coastguard Worker }
110*4bdc9457SAndroid Build Coastguard Worker }
111*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM64
112*4bdc9457SAndroid Build Coastguard Worker
113*4bdc9457SAndroid Build Coastguard Worker
114*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4,batch_eq_4)115*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4, batch_eq_4) {
116*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
117*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
118*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
119*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x4);
120*4bdc9457SAndroid Build Coastguard Worker }
121*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4,batch_div_4)122*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4, batch_div_4) {
123*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
124*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
125*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
126*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
127*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x4);
128*4bdc9457SAndroid Build Coastguard Worker }
129*4bdc9457SAndroid Build Coastguard Worker }
130*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4,batch_lt_4)131*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4, batch_lt_4) {
132*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
133*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
134*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
135*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
136*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x4);
137*4bdc9457SAndroid Build Coastguard Worker }
138*4bdc9457SAndroid Build Coastguard Worker }
139*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4,batch_gt_4)140*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4, batch_gt_4) {
141*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
142*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
143*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
144*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
145*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x4);
146*4bdc9457SAndroid Build Coastguard Worker }
147*4bdc9457SAndroid Build Coastguard Worker }
148*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4,inplace)149*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X4, inplace) {
150*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
151*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
152*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
153*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
154*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
155*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x4);
156*4bdc9457SAndroid Build Coastguard Worker }
157*4bdc9457SAndroid Build Coastguard Worker }
158*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
159*4bdc9457SAndroid Build Coastguard Worker
160*4bdc9457SAndroid Build Coastguard Worker
161*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8,batch_eq_8)162*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8, batch_eq_8) {
163*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
164*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
165*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
166*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x8);
167*4bdc9457SAndroid Build Coastguard Worker }
168*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8,batch_div_8)169*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8, batch_div_8) {
170*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
171*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
172*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
173*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
174*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x8);
175*4bdc9457SAndroid Build Coastguard Worker }
176*4bdc9457SAndroid Build Coastguard Worker }
177*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8,batch_lt_8)178*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8, batch_lt_8) {
179*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
180*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
181*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
182*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
183*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x8);
184*4bdc9457SAndroid Build Coastguard Worker }
185*4bdc9457SAndroid Build Coastguard Worker }
186*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8,batch_gt_8)187*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8, batch_gt_8) {
188*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
189*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
190*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
191*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
192*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x8);
193*4bdc9457SAndroid Build Coastguard Worker }
194*4bdc9457SAndroid Build Coastguard Worker }
195*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8,inplace)196*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X8, inplace) {
197*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
198*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
199*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
200*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
201*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
202*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x8);
203*4bdc9457SAndroid Build Coastguard Worker }
204*4bdc9457SAndroid Build Coastguard Worker }
205*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
206*4bdc9457SAndroid Build Coastguard Worker
207*4bdc9457SAndroid Build Coastguard Worker
208*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12,batch_eq_12)209*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12, batch_eq_12) {
210*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
211*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
212*4bdc9457SAndroid Build Coastguard Worker .batch_size(12)
213*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x12);
214*4bdc9457SAndroid Build Coastguard Worker }
215*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12,batch_div_12)216*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12, batch_div_12) {
217*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
218*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 24; batch_size < 120; batch_size += 12) {
219*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
220*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
221*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x12);
222*4bdc9457SAndroid Build Coastguard Worker }
223*4bdc9457SAndroid Build Coastguard Worker }
224*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12,batch_lt_12)225*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12, batch_lt_12) {
226*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
227*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 12; batch_size++) {
228*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
229*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
230*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x12);
231*4bdc9457SAndroid Build Coastguard Worker }
232*4bdc9457SAndroid Build Coastguard Worker }
233*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12,batch_gt_12)234*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12, batch_gt_12) {
235*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
236*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 13; batch_size < 24; batch_size++) {
237*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
238*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
239*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x12);
240*4bdc9457SAndroid Build Coastguard Worker }
241*4bdc9457SAndroid Build Coastguard Worker }
242*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12,inplace)243*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X12, inplace) {
244*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
245*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 60; batch_size += 11) {
246*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
247*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
248*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
249*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x12);
250*4bdc9457SAndroid Build Coastguard Worker }
251*4bdc9457SAndroid Build Coastguard Worker }
252*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
253*4bdc9457SAndroid Build Coastguard Worker
254*4bdc9457SAndroid Build Coastguard Worker
255*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16,batch_eq_16)256*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16, batch_eq_16) {
257*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
258*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
259*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
260*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x16);
261*4bdc9457SAndroid Build Coastguard Worker }
262*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16,batch_div_16)263*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16, batch_div_16) {
264*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
265*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
266*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
267*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
268*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x16);
269*4bdc9457SAndroid Build Coastguard Worker }
270*4bdc9457SAndroid Build Coastguard Worker }
271*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16,batch_lt_16)272*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16, batch_lt_16) {
273*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
274*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
275*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
276*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
277*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x16);
278*4bdc9457SAndroid Build Coastguard Worker }
279*4bdc9457SAndroid Build Coastguard Worker }
280*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16,batch_gt_16)281*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16, batch_gt_16) {
282*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
283*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
284*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
285*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
286*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x16);
287*4bdc9457SAndroid Build Coastguard Worker }
288*4bdc9457SAndroid Build Coastguard Worker }
289*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16,inplace)290*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X16, inplace) {
291*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
292*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
293*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
294*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
295*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
296*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x16);
297*4bdc9457SAndroid Build Coastguard Worker }
298*4bdc9457SAndroid Build Coastguard Worker }
299*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
300*4bdc9457SAndroid Build Coastguard Worker
301*4bdc9457SAndroid Build Coastguard Worker
302*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20,batch_eq_20)303*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20, batch_eq_20) {
304*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
305*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
306*4bdc9457SAndroid Build Coastguard Worker .batch_size(20)
307*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x20);
308*4bdc9457SAndroid Build Coastguard Worker }
309*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20,batch_div_20)310*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20, batch_div_20) {
311*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
312*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 40; batch_size < 200; batch_size += 20) {
313*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
314*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
315*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x20);
316*4bdc9457SAndroid Build Coastguard Worker }
317*4bdc9457SAndroid Build Coastguard Worker }
318*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20,batch_lt_20)319*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20, batch_lt_20) {
320*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
321*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 20; batch_size++) {
322*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
323*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
324*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x20);
325*4bdc9457SAndroid Build Coastguard Worker }
326*4bdc9457SAndroid Build Coastguard Worker }
327*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20,batch_gt_20)328*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20, batch_gt_20) {
329*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
330*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 21; batch_size < 40; batch_size++) {
331*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
332*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
333*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x20);
334*4bdc9457SAndroid Build Coastguard Worker }
335*4bdc9457SAndroid Build Coastguard Worker }
336*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20,inplace)337*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X20, inplace) {
338*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
339*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 100; batch_size += 19) {
340*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
341*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
342*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
343*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x20);
344*4bdc9457SAndroid Build Coastguard Worker }
345*4bdc9457SAndroid Build Coastguard Worker }
346*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
347*4bdc9457SAndroid Build Coastguard Worker
348*4bdc9457SAndroid Build Coastguard Worker
349*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24,batch_eq_24)350*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24, batch_eq_24) {
351*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
352*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
353*4bdc9457SAndroid Build Coastguard Worker .batch_size(24)
354*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x24);
355*4bdc9457SAndroid Build Coastguard Worker }
356*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24,batch_div_24)357*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24, batch_div_24) {
358*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
359*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 48; batch_size < 240; batch_size += 24) {
360*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
361*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
362*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x24);
363*4bdc9457SAndroid Build Coastguard Worker }
364*4bdc9457SAndroid Build Coastguard Worker }
365*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24,batch_lt_24)366*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24, batch_lt_24) {
367*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
368*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 24; batch_size++) {
369*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
370*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
371*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x24);
372*4bdc9457SAndroid Build Coastguard Worker }
373*4bdc9457SAndroid Build Coastguard Worker }
374*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24,batch_gt_24)375*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24, batch_gt_24) {
376*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
377*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 25; batch_size < 48; batch_size++) {
378*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
379*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
380*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x24);
381*4bdc9457SAndroid Build Coastguard Worker }
382*4bdc9457SAndroid Build Coastguard Worker }
383*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24,inplace)384*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X24, inplace) {
385*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
386*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 120; batch_size += 23) {
387*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
388*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
389*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
390*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x24);
391*4bdc9457SAndroid Build Coastguard Worker }
392*4bdc9457SAndroid Build Coastguard Worker }
393*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
394*4bdc9457SAndroid Build Coastguard Worker
395*4bdc9457SAndroid Build Coastguard Worker
396*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28,batch_eq_28)397*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28, batch_eq_28) {
398*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
399*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
400*4bdc9457SAndroid Build Coastguard Worker .batch_size(28)
401*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x28);
402*4bdc9457SAndroid Build Coastguard Worker }
403*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28,batch_div_28)404*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28, batch_div_28) {
405*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
406*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 56; batch_size < 280; batch_size += 28) {
407*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
408*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
409*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x28);
410*4bdc9457SAndroid Build Coastguard Worker }
411*4bdc9457SAndroid Build Coastguard Worker }
412*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28,batch_lt_28)413*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28, batch_lt_28) {
414*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
415*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 28; batch_size++) {
416*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
417*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
418*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x28);
419*4bdc9457SAndroid Build Coastguard Worker }
420*4bdc9457SAndroid Build Coastguard Worker }
421*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28,batch_gt_28)422*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28, batch_gt_28) {
423*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
424*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 29; batch_size < 56; batch_size++) {
425*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
426*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
427*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x28);
428*4bdc9457SAndroid Build Coastguard Worker }
429*4bdc9457SAndroid Build Coastguard Worker }
430*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28,inplace)431*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X28, inplace) {
432*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
433*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 140; batch_size += 27) {
434*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
435*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
436*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
437*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x28);
438*4bdc9457SAndroid Build Coastguard Worker }
439*4bdc9457SAndroid Build Coastguard Worker }
440*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
441*4bdc9457SAndroid Build Coastguard Worker
442*4bdc9457SAndroid Build Coastguard Worker
443*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32,batch_eq_32)444*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32, batch_eq_32) {
445*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
446*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
447*4bdc9457SAndroid Build Coastguard Worker .batch_size(32)
448*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x32);
449*4bdc9457SAndroid Build Coastguard Worker }
450*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32,batch_div_32)451*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32, batch_div_32) {
452*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
453*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
454*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
455*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
456*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x32);
457*4bdc9457SAndroid Build Coastguard Worker }
458*4bdc9457SAndroid Build Coastguard Worker }
459*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32,batch_lt_32)460*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32, batch_lt_32) {
461*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
462*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 32; batch_size++) {
463*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
464*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
465*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x32);
466*4bdc9457SAndroid Build Coastguard Worker }
467*4bdc9457SAndroid Build Coastguard Worker }
468*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32,batch_gt_32)469*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32, batch_gt_32) {
470*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
471*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 33; batch_size < 64; batch_size++) {
472*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
473*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
474*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x32);
475*4bdc9457SAndroid Build Coastguard Worker }
476*4bdc9457SAndroid Build Coastguard Worker }
477*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32,inplace)478*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X32, inplace) {
479*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
480*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
481*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
482*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
483*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
484*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x32);
485*4bdc9457SAndroid Build Coastguard Worker }
486*4bdc9457SAndroid Build Coastguard Worker }
487*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
488*4bdc9457SAndroid Build Coastguard Worker
489*4bdc9457SAndroid Build Coastguard Worker
490*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36,batch_eq_36)491*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36, batch_eq_36) {
492*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
493*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
494*4bdc9457SAndroid Build Coastguard Worker .batch_size(36)
495*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x36);
496*4bdc9457SAndroid Build Coastguard Worker }
497*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36,batch_div_36)498*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36, batch_div_36) {
499*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
500*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 72; batch_size < 360; batch_size += 36) {
501*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
502*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
503*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x36);
504*4bdc9457SAndroid Build Coastguard Worker }
505*4bdc9457SAndroid Build Coastguard Worker }
506*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36,batch_lt_36)507*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36, batch_lt_36) {
508*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
509*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 36; batch_size++) {
510*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
511*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
512*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x36);
513*4bdc9457SAndroid Build Coastguard Worker }
514*4bdc9457SAndroid Build Coastguard Worker }
515*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36,batch_gt_36)516*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36, batch_gt_36) {
517*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
518*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 37; batch_size < 72; batch_size++) {
519*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
520*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
521*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x36);
522*4bdc9457SAndroid Build Coastguard Worker }
523*4bdc9457SAndroid Build Coastguard Worker }
524*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36,inplace)525*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X36, inplace) {
526*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
527*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 180; batch_size += 35) {
528*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
529*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
530*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
531*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x36);
532*4bdc9457SAndroid Build Coastguard Worker }
533*4bdc9457SAndroid Build Coastguard Worker }
534*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
535*4bdc9457SAndroid Build Coastguard Worker
536*4bdc9457SAndroid Build Coastguard Worker
537*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40,batch_eq_40)538*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40, batch_eq_40) {
539*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
540*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
541*4bdc9457SAndroid Build Coastguard Worker .batch_size(40)
542*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x40);
543*4bdc9457SAndroid Build Coastguard Worker }
544*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40,batch_div_40)545*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40, batch_div_40) {
546*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
547*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 80; batch_size < 400; batch_size += 40) {
548*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
549*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
550*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x40);
551*4bdc9457SAndroid Build Coastguard Worker }
552*4bdc9457SAndroid Build Coastguard Worker }
553*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40,batch_lt_40)554*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40, batch_lt_40) {
555*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
556*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 40; batch_size++) {
557*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
558*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
559*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x40);
560*4bdc9457SAndroid Build Coastguard Worker }
561*4bdc9457SAndroid Build Coastguard Worker }
562*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40,batch_gt_40)563*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40, batch_gt_40) {
564*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
565*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 41; batch_size < 80; batch_size++) {
566*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
567*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
568*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x40);
569*4bdc9457SAndroid Build Coastguard Worker }
570*4bdc9457SAndroid Build Coastguard Worker }
571*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40,inplace)572*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR1RSQRTS1FMA1ADJ_X40, inplace) {
573*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
574*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 200; batch_size += 39) {
575*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
576*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
577*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
578*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr1rsqrts1fma1adj_x40);
579*4bdc9457SAndroid Build Coastguard Worker }
580*4bdc9457SAndroid Build Coastguard Worker }
581*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
582*4bdc9457SAndroid Build Coastguard Worker
583*4bdc9457SAndroid Build Coastguard Worker
584*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4,batch_eq_4)585*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4, batch_eq_4) {
586*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
587*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
588*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
589*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x4);
590*4bdc9457SAndroid Build Coastguard Worker }
591*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4,batch_div_4)592*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4, batch_div_4) {
593*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
594*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
595*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
596*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
597*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x4);
598*4bdc9457SAndroid Build Coastguard Worker }
599*4bdc9457SAndroid Build Coastguard Worker }
600*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4,batch_lt_4)601*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4, batch_lt_4) {
602*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
603*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
604*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
605*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
606*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x4);
607*4bdc9457SAndroid Build Coastguard Worker }
608*4bdc9457SAndroid Build Coastguard Worker }
609*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4,batch_gt_4)610*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4, batch_gt_4) {
611*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
612*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
613*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
614*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
615*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x4);
616*4bdc9457SAndroid Build Coastguard Worker }
617*4bdc9457SAndroid Build Coastguard Worker }
618*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4,inplace)619*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X4, inplace) {
620*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
621*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
622*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
623*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
624*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
625*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x4);
626*4bdc9457SAndroid Build Coastguard Worker }
627*4bdc9457SAndroid Build Coastguard Worker }
628*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
629*4bdc9457SAndroid Build Coastguard Worker
630*4bdc9457SAndroid Build Coastguard Worker
631*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8,batch_eq_8)632*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8, batch_eq_8) {
633*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
634*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
635*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
636*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x8);
637*4bdc9457SAndroid Build Coastguard Worker }
638*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8,batch_div_8)639*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8, batch_div_8) {
640*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
641*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
642*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
643*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
644*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x8);
645*4bdc9457SAndroid Build Coastguard Worker }
646*4bdc9457SAndroid Build Coastguard Worker }
647*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8,batch_lt_8)648*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8, batch_lt_8) {
649*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
650*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
651*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
652*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
653*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x8);
654*4bdc9457SAndroid Build Coastguard Worker }
655*4bdc9457SAndroid Build Coastguard Worker }
656*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8,batch_gt_8)657*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8, batch_gt_8) {
658*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
659*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
660*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
661*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
662*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x8);
663*4bdc9457SAndroid Build Coastguard Worker }
664*4bdc9457SAndroid Build Coastguard Worker }
665*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8,inplace)666*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X8, inplace) {
667*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
668*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
669*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
670*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
671*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
672*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x8);
673*4bdc9457SAndroid Build Coastguard Worker }
674*4bdc9457SAndroid Build Coastguard Worker }
675*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
676*4bdc9457SAndroid Build Coastguard Worker
677*4bdc9457SAndroid Build Coastguard Worker
678*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12,batch_eq_12)679*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12, batch_eq_12) {
680*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
681*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
682*4bdc9457SAndroid Build Coastguard Worker .batch_size(12)
683*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x12);
684*4bdc9457SAndroid Build Coastguard Worker }
685*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12,batch_div_12)686*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12, batch_div_12) {
687*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
688*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 24; batch_size < 120; batch_size += 12) {
689*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
690*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
691*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x12);
692*4bdc9457SAndroid Build Coastguard Worker }
693*4bdc9457SAndroid Build Coastguard Worker }
694*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12,batch_lt_12)695*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12, batch_lt_12) {
696*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
697*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 12; batch_size++) {
698*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
699*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
700*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x12);
701*4bdc9457SAndroid Build Coastguard Worker }
702*4bdc9457SAndroid Build Coastguard Worker }
703*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12,batch_gt_12)704*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12, batch_gt_12) {
705*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
706*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 13; batch_size < 24; batch_size++) {
707*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
708*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
709*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x12);
710*4bdc9457SAndroid Build Coastguard Worker }
711*4bdc9457SAndroid Build Coastguard Worker }
712*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12,inplace)713*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X12, inplace) {
714*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
715*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 60; batch_size += 11) {
716*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
717*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
718*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
719*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x12);
720*4bdc9457SAndroid Build Coastguard Worker }
721*4bdc9457SAndroid Build Coastguard Worker }
722*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
723*4bdc9457SAndroid Build Coastguard Worker
724*4bdc9457SAndroid Build Coastguard Worker
725*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16,batch_eq_16)726*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16, batch_eq_16) {
727*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
728*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
729*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
730*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x16);
731*4bdc9457SAndroid Build Coastguard Worker }
732*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16,batch_div_16)733*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16, batch_div_16) {
734*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
735*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
736*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
737*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
738*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x16);
739*4bdc9457SAndroid Build Coastguard Worker }
740*4bdc9457SAndroid Build Coastguard Worker }
741*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16,batch_lt_16)742*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16, batch_lt_16) {
743*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
744*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
745*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
746*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
747*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x16);
748*4bdc9457SAndroid Build Coastguard Worker }
749*4bdc9457SAndroid Build Coastguard Worker }
750*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16,batch_gt_16)751*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16, batch_gt_16) {
752*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
753*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
754*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
755*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
756*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x16);
757*4bdc9457SAndroid Build Coastguard Worker }
758*4bdc9457SAndroid Build Coastguard Worker }
759*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16,inplace)760*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X16, inplace) {
761*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
762*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
763*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
764*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
765*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
766*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x16);
767*4bdc9457SAndroid Build Coastguard Worker }
768*4bdc9457SAndroid Build Coastguard Worker }
769*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
770*4bdc9457SAndroid Build Coastguard Worker
771*4bdc9457SAndroid Build Coastguard Worker
772*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20,batch_eq_20)773*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20, batch_eq_20) {
774*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
775*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
776*4bdc9457SAndroid Build Coastguard Worker .batch_size(20)
777*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x20);
778*4bdc9457SAndroid Build Coastguard Worker }
779*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20,batch_div_20)780*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20, batch_div_20) {
781*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
782*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 40; batch_size < 200; batch_size += 20) {
783*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
784*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
785*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x20);
786*4bdc9457SAndroid Build Coastguard Worker }
787*4bdc9457SAndroid Build Coastguard Worker }
788*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20,batch_lt_20)789*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20, batch_lt_20) {
790*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
791*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 20; batch_size++) {
792*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
793*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
794*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x20);
795*4bdc9457SAndroid Build Coastguard Worker }
796*4bdc9457SAndroid Build Coastguard Worker }
797*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20,batch_gt_20)798*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20, batch_gt_20) {
799*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
800*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 21; batch_size < 40; batch_size++) {
801*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
802*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
803*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x20);
804*4bdc9457SAndroid Build Coastguard Worker }
805*4bdc9457SAndroid Build Coastguard Worker }
806*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20,inplace)807*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X20, inplace) {
808*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
809*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 100; batch_size += 19) {
810*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
811*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
812*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
813*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x20);
814*4bdc9457SAndroid Build Coastguard Worker }
815*4bdc9457SAndroid Build Coastguard Worker }
816*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
817*4bdc9457SAndroid Build Coastguard Worker
818*4bdc9457SAndroid Build Coastguard Worker
819*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24,batch_eq_24)820*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24, batch_eq_24) {
821*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
822*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
823*4bdc9457SAndroid Build Coastguard Worker .batch_size(24)
824*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x24);
825*4bdc9457SAndroid Build Coastguard Worker }
826*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24,batch_div_24)827*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24, batch_div_24) {
828*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
829*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 48; batch_size < 240; batch_size += 24) {
830*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
831*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
832*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x24);
833*4bdc9457SAndroid Build Coastguard Worker }
834*4bdc9457SAndroid Build Coastguard Worker }
835*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24,batch_lt_24)836*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24, batch_lt_24) {
837*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
838*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 24; batch_size++) {
839*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
840*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
841*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x24);
842*4bdc9457SAndroid Build Coastguard Worker }
843*4bdc9457SAndroid Build Coastguard Worker }
844*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24,batch_gt_24)845*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24, batch_gt_24) {
846*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
847*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 25; batch_size < 48; batch_size++) {
848*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
849*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
850*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x24);
851*4bdc9457SAndroid Build Coastguard Worker }
852*4bdc9457SAndroid Build Coastguard Worker }
853*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24,inplace)854*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X24, inplace) {
855*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
856*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 120; batch_size += 23) {
857*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
858*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
859*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
860*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x24);
861*4bdc9457SAndroid Build Coastguard Worker }
862*4bdc9457SAndroid Build Coastguard Worker }
863*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
864*4bdc9457SAndroid Build Coastguard Worker
865*4bdc9457SAndroid Build Coastguard Worker
866*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28,batch_eq_28)867*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28, batch_eq_28) {
868*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
869*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
870*4bdc9457SAndroid Build Coastguard Worker .batch_size(28)
871*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x28);
872*4bdc9457SAndroid Build Coastguard Worker }
873*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28,batch_div_28)874*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28, batch_div_28) {
875*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
876*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 56; batch_size < 280; batch_size += 28) {
877*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
878*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
879*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x28);
880*4bdc9457SAndroid Build Coastguard Worker }
881*4bdc9457SAndroid Build Coastguard Worker }
882*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28,batch_lt_28)883*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28, batch_lt_28) {
884*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
885*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 28; batch_size++) {
886*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
887*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
888*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x28);
889*4bdc9457SAndroid Build Coastguard Worker }
890*4bdc9457SAndroid Build Coastguard Worker }
891*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28,batch_gt_28)892*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28, batch_gt_28) {
893*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
894*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 29; batch_size < 56; batch_size++) {
895*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
896*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
897*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x28);
898*4bdc9457SAndroid Build Coastguard Worker }
899*4bdc9457SAndroid Build Coastguard Worker }
900*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28,inplace)901*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X28, inplace) {
902*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
903*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 140; batch_size += 27) {
904*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
905*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
906*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
907*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x28);
908*4bdc9457SAndroid Build Coastguard Worker }
909*4bdc9457SAndroid Build Coastguard Worker }
910*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
911*4bdc9457SAndroid Build Coastguard Worker
912*4bdc9457SAndroid Build Coastguard Worker
913*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32,batch_eq_32)914*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32, batch_eq_32) {
915*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
916*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
917*4bdc9457SAndroid Build Coastguard Worker .batch_size(32)
918*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x32);
919*4bdc9457SAndroid Build Coastguard Worker }
920*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32,batch_div_32)921*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32, batch_div_32) {
922*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
923*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
924*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
925*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
926*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x32);
927*4bdc9457SAndroid Build Coastguard Worker }
928*4bdc9457SAndroid Build Coastguard Worker }
929*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32,batch_lt_32)930*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32, batch_lt_32) {
931*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
932*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 32; batch_size++) {
933*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
934*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
935*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x32);
936*4bdc9457SAndroid Build Coastguard Worker }
937*4bdc9457SAndroid Build Coastguard Worker }
938*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32,batch_gt_32)939*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32, batch_gt_32) {
940*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
941*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 33; batch_size < 64; batch_size++) {
942*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
943*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
944*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x32);
945*4bdc9457SAndroid Build Coastguard Worker }
946*4bdc9457SAndroid Build Coastguard Worker }
947*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32,inplace)948*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X32, inplace) {
949*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
950*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
951*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
952*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
953*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
954*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x32);
955*4bdc9457SAndroid Build Coastguard Worker }
956*4bdc9457SAndroid Build Coastguard Worker }
957*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
958*4bdc9457SAndroid Build Coastguard Worker
959*4bdc9457SAndroid Build Coastguard Worker
960*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36,batch_eq_36)961*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36, batch_eq_36) {
962*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
963*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
964*4bdc9457SAndroid Build Coastguard Worker .batch_size(36)
965*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x36);
966*4bdc9457SAndroid Build Coastguard Worker }
967*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36,batch_div_36)968*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36, batch_div_36) {
969*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
970*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 72; batch_size < 360; batch_size += 36) {
971*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
972*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
973*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x36);
974*4bdc9457SAndroid Build Coastguard Worker }
975*4bdc9457SAndroid Build Coastguard Worker }
976*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36,batch_lt_36)977*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36, batch_lt_36) {
978*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
979*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 36; batch_size++) {
980*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
981*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
982*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x36);
983*4bdc9457SAndroid Build Coastguard Worker }
984*4bdc9457SAndroid Build Coastguard Worker }
985*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36,batch_gt_36)986*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36, batch_gt_36) {
987*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
988*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 37; batch_size < 72; batch_size++) {
989*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
990*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
991*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x36);
992*4bdc9457SAndroid Build Coastguard Worker }
993*4bdc9457SAndroid Build Coastguard Worker }
994*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36,inplace)995*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X36, inplace) {
996*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
997*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 180; batch_size += 35) {
998*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
999*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1000*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1001*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x36);
1002*4bdc9457SAndroid Build Coastguard Worker }
1003*4bdc9457SAndroid Build Coastguard Worker }
1004*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
1005*4bdc9457SAndroid Build Coastguard Worker
1006*4bdc9457SAndroid Build Coastguard Worker
1007*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40,batch_eq_40)1008*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40, batch_eq_40) {
1009*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
1010*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1011*4bdc9457SAndroid Build Coastguard Worker .batch_size(40)
1012*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x40);
1013*4bdc9457SAndroid Build Coastguard Worker }
1014*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40,batch_div_40)1015*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40, batch_div_40) {
1016*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
1017*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 80; batch_size < 400; batch_size += 40) {
1018*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1019*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1020*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x40);
1021*4bdc9457SAndroid Build Coastguard Worker }
1022*4bdc9457SAndroid Build Coastguard Worker }
1023*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40,batch_lt_40)1024*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40, batch_lt_40) {
1025*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
1026*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 40; batch_size++) {
1027*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1028*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1029*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x40);
1030*4bdc9457SAndroid Build Coastguard Worker }
1031*4bdc9457SAndroid Build Coastguard Worker }
1032*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40,batch_gt_40)1033*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40, batch_gt_40) {
1034*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
1035*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 41; batch_size < 80; batch_size++) {
1036*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1037*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1038*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x40);
1039*4bdc9457SAndroid Build Coastguard Worker }
1040*4bdc9457SAndroid Build Coastguard Worker }
1041*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40,inplace)1042*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__NEONFMA_NR2FMA1ADJ_X40, inplace) {
1043*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FMA;
1044*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 200; batch_size += 39) {
1045*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1046*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1047*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1048*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__neonfma_nr2fma1adj_x40);
1049*4bdc9457SAndroid Build Coastguard Worker }
1050*4bdc9457SAndroid Build Coastguard Worker }
1051*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
1052*4bdc9457SAndroid Build Coastguard Worker
1053*4bdc9457SAndroid Build Coastguard Worker
1054*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__SSE_SQRT_X4,batch_eq_4)1055*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X4, batch_eq_4) {
1056*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1057*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1058*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
1059*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x4);
1060*4bdc9457SAndroid Build Coastguard Worker }
1061*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X4,batch_div_4)1062*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X4, batch_div_4) {
1063*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1064*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
1065*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1066*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1067*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x4);
1068*4bdc9457SAndroid Build Coastguard Worker }
1069*4bdc9457SAndroid Build Coastguard Worker }
1070*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X4,batch_lt_4)1071*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X4, batch_lt_4) {
1072*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1073*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
1074*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1075*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1076*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x4);
1077*4bdc9457SAndroid Build Coastguard Worker }
1078*4bdc9457SAndroid Build Coastguard Worker }
1079*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X4,batch_gt_4)1080*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X4, batch_gt_4) {
1081*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1082*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
1083*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1084*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1085*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x4);
1086*4bdc9457SAndroid Build Coastguard Worker }
1087*4bdc9457SAndroid Build Coastguard Worker }
1088*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X4,inplace)1089*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X4, inplace) {
1090*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1091*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
1092*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1093*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1094*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1095*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x4);
1096*4bdc9457SAndroid Build Coastguard Worker }
1097*4bdc9457SAndroid Build Coastguard Worker }
1098*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1099*4bdc9457SAndroid Build Coastguard Worker
1100*4bdc9457SAndroid Build Coastguard Worker
1101*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__SSE_SQRT_X8,batch_eq_8)1102*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X8, batch_eq_8) {
1103*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1104*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1105*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
1106*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x8);
1107*4bdc9457SAndroid Build Coastguard Worker }
1108*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X8,batch_div_8)1109*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X8, batch_div_8) {
1110*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1111*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
1112*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1113*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1114*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x8);
1115*4bdc9457SAndroid Build Coastguard Worker }
1116*4bdc9457SAndroid Build Coastguard Worker }
1117*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X8,batch_lt_8)1118*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X8, batch_lt_8) {
1119*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1120*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
1121*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1122*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1123*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x8);
1124*4bdc9457SAndroid Build Coastguard Worker }
1125*4bdc9457SAndroid Build Coastguard Worker }
1126*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X8,batch_gt_8)1127*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X8, batch_gt_8) {
1128*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1129*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
1130*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1131*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1132*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x8);
1133*4bdc9457SAndroid Build Coastguard Worker }
1134*4bdc9457SAndroid Build Coastguard Worker }
1135*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SSE_SQRT_X8,inplace)1136*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SSE_SQRT_X8, inplace) {
1137*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE;
1138*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
1139*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1140*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1141*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1142*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__sse_sqrt_x8);
1143*4bdc9457SAndroid Build Coastguard Worker }
1144*4bdc9457SAndroid Build Coastguard Worker }
1145*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1146*4bdc9457SAndroid Build Coastguard Worker
1147*4bdc9457SAndroid Build Coastguard Worker
1148*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX_SQRT_X8,batch_eq_8)1149*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X8, batch_eq_8) {
1150*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1151*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1152*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
1153*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x8, xnn_init_f32_sqrt_avx_params);
1154*4bdc9457SAndroid Build Coastguard Worker }
1155*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X8,batch_div_8)1156*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X8, batch_div_8) {
1157*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1158*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
1159*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1160*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1161*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x8, xnn_init_f32_sqrt_avx_params);
1162*4bdc9457SAndroid Build Coastguard Worker }
1163*4bdc9457SAndroid Build Coastguard Worker }
1164*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X8,batch_lt_8)1165*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X8, batch_lt_8) {
1166*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1167*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
1168*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1169*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1170*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x8, xnn_init_f32_sqrt_avx_params);
1171*4bdc9457SAndroid Build Coastguard Worker }
1172*4bdc9457SAndroid Build Coastguard Worker }
1173*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X8,batch_gt_8)1174*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X8, batch_gt_8) {
1175*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1176*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
1177*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1178*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1179*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x8, xnn_init_f32_sqrt_avx_params);
1180*4bdc9457SAndroid Build Coastguard Worker }
1181*4bdc9457SAndroid Build Coastguard Worker }
1182*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X8,inplace)1183*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X8, inplace) {
1184*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1185*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
1186*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1187*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1188*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1189*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x8, xnn_init_f32_sqrt_avx_params);
1190*4bdc9457SAndroid Build Coastguard Worker }
1191*4bdc9457SAndroid Build Coastguard Worker }
1192*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1193*4bdc9457SAndroid Build Coastguard Worker
1194*4bdc9457SAndroid Build Coastguard Worker
1195*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX_SQRT_X16,batch_eq_16)1196*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X16, batch_eq_16) {
1197*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1198*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1199*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
1200*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x16, xnn_init_f32_sqrt_avx_params);
1201*4bdc9457SAndroid Build Coastguard Worker }
1202*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X16,batch_div_16)1203*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X16, batch_div_16) {
1204*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1205*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
1206*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1207*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1208*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x16, xnn_init_f32_sqrt_avx_params);
1209*4bdc9457SAndroid Build Coastguard Worker }
1210*4bdc9457SAndroid Build Coastguard Worker }
1211*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X16,batch_lt_16)1212*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X16, batch_lt_16) {
1213*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1214*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
1215*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1216*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1217*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x16, xnn_init_f32_sqrt_avx_params);
1218*4bdc9457SAndroid Build Coastguard Worker }
1219*4bdc9457SAndroid Build Coastguard Worker }
1220*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X16,batch_gt_16)1221*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X16, batch_gt_16) {
1222*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1223*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
1224*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1225*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1226*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x16, xnn_init_f32_sqrt_avx_params);
1227*4bdc9457SAndroid Build Coastguard Worker }
1228*4bdc9457SAndroid Build Coastguard Worker }
1229*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX_SQRT_X16,inplace)1230*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX_SQRT_X16, inplace) {
1231*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX;
1232*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
1233*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1234*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1235*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1236*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx_sqrt_x16, xnn_init_f32_sqrt_avx_params);
1237*4bdc9457SAndroid Build Coastguard Worker }
1238*4bdc9457SAndroid Build Coastguard Worker }
1239*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1240*4bdc9457SAndroid Build Coastguard Worker
1241*4bdc9457SAndroid Build Coastguard Worker
1242*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8,batch_eq_8)1243*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8, batch_eq_8) {
1244*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1245*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1246*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
1247*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x8, xnn_init_f32_sqrt_fma_params);
1248*4bdc9457SAndroid Build Coastguard Worker }
1249*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8,batch_div_8)1250*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8, batch_div_8) {
1251*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1252*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
1253*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1254*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1255*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x8, xnn_init_f32_sqrt_fma_params);
1256*4bdc9457SAndroid Build Coastguard Worker }
1257*4bdc9457SAndroid Build Coastguard Worker }
1258*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8,batch_lt_8)1259*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8, batch_lt_8) {
1260*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1261*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
1262*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1263*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1264*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x8, xnn_init_f32_sqrt_fma_params);
1265*4bdc9457SAndroid Build Coastguard Worker }
1266*4bdc9457SAndroid Build Coastguard Worker }
1267*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8,batch_gt_8)1268*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8, batch_gt_8) {
1269*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1270*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
1271*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1272*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1273*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x8, xnn_init_f32_sqrt_fma_params);
1274*4bdc9457SAndroid Build Coastguard Worker }
1275*4bdc9457SAndroid Build Coastguard Worker }
1276*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8,inplace)1277*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X8, inplace) {
1278*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1279*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
1280*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1281*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1282*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1283*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x8, xnn_init_f32_sqrt_fma_params);
1284*4bdc9457SAndroid Build Coastguard Worker }
1285*4bdc9457SAndroid Build Coastguard Worker }
1286*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1287*4bdc9457SAndroid Build Coastguard Worker
1288*4bdc9457SAndroid Build Coastguard Worker
1289*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16,batch_eq_16)1290*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16, batch_eq_16) {
1291*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1292*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1293*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
1294*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x16, xnn_init_f32_sqrt_fma_params);
1295*4bdc9457SAndroid Build Coastguard Worker }
1296*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16,batch_div_16)1297*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16, batch_div_16) {
1298*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1299*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
1300*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1301*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1302*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x16, xnn_init_f32_sqrt_fma_params);
1303*4bdc9457SAndroid Build Coastguard Worker }
1304*4bdc9457SAndroid Build Coastguard Worker }
1305*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16,batch_lt_16)1306*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16, batch_lt_16) {
1307*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1308*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
1309*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1310*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1311*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x16, xnn_init_f32_sqrt_fma_params);
1312*4bdc9457SAndroid Build Coastguard Worker }
1313*4bdc9457SAndroid Build Coastguard Worker }
1314*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16,batch_gt_16)1315*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16, batch_gt_16) {
1316*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1317*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
1318*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1319*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1320*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x16, xnn_init_f32_sqrt_fma_params);
1321*4bdc9457SAndroid Build Coastguard Worker }
1322*4bdc9457SAndroid Build Coastguard Worker }
1323*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16,inplace)1324*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X16, inplace) {
1325*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1326*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
1327*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1328*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1329*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1330*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x16, xnn_init_f32_sqrt_fma_params);
1331*4bdc9457SAndroid Build Coastguard Worker }
1332*4bdc9457SAndroid Build Coastguard Worker }
1333*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1334*4bdc9457SAndroid Build Coastguard Worker
1335*4bdc9457SAndroid Build Coastguard Worker
1336*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24,batch_eq_24)1337*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24, batch_eq_24) {
1338*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1339*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1340*4bdc9457SAndroid Build Coastguard Worker .batch_size(24)
1341*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x24, xnn_init_f32_sqrt_fma_params);
1342*4bdc9457SAndroid Build Coastguard Worker }
1343*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24,batch_div_24)1344*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24, batch_div_24) {
1345*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1346*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 48; batch_size < 240; batch_size += 24) {
1347*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1348*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1349*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x24, xnn_init_f32_sqrt_fma_params);
1350*4bdc9457SAndroid Build Coastguard Worker }
1351*4bdc9457SAndroid Build Coastguard Worker }
1352*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24,batch_lt_24)1353*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24, batch_lt_24) {
1354*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1355*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 24; batch_size++) {
1356*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1357*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1358*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x24, xnn_init_f32_sqrt_fma_params);
1359*4bdc9457SAndroid Build Coastguard Worker }
1360*4bdc9457SAndroid Build Coastguard Worker }
1361*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24,batch_gt_24)1362*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24, batch_gt_24) {
1363*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1364*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 25; batch_size < 48; batch_size++) {
1365*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1366*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1367*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x24, xnn_init_f32_sqrt_fma_params);
1368*4bdc9457SAndroid Build Coastguard Worker }
1369*4bdc9457SAndroid Build Coastguard Worker }
1370*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24,inplace)1371*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X24, inplace) {
1372*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1373*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 120; batch_size += 23) {
1374*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1375*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1376*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1377*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x24, xnn_init_f32_sqrt_fma_params);
1378*4bdc9457SAndroid Build Coastguard Worker }
1379*4bdc9457SAndroid Build Coastguard Worker }
1380*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1381*4bdc9457SAndroid Build Coastguard Worker
1382*4bdc9457SAndroid Build Coastguard Worker
1383*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32,batch_eq_32)1384*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32, batch_eq_32) {
1385*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1386*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1387*4bdc9457SAndroid Build Coastguard Worker .batch_size(32)
1388*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x32, xnn_init_f32_sqrt_fma_params);
1389*4bdc9457SAndroid Build Coastguard Worker }
1390*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32,batch_div_32)1391*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32, batch_div_32) {
1392*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1393*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
1394*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1395*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1396*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x32, xnn_init_f32_sqrt_fma_params);
1397*4bdc9457SAndroid Build Coastguard Worker }
1398*4bdc9457SAndroid Build Coastguard Worker }
1399*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32,batch_lt_32)1400*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32, batch_lt_32) {
1401*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1402*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 32; batch_size++) {
1403*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1404*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1405*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x32, xnn_init_f32_sqrt_fma_params);
1406*4bdc9457SAndroid Build Coastguard Worker }
1407*4bdc9457SAndroid Build Coastguard Worker }
1408*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32,batch_gt_32)1409*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32, batch_gt_32) {
1410*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1411*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 33; batch_size < 64; batch_size++) {
1412*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1413*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1414*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x32, xnn_init_f32_sqrt_fma_params);
1415*4bdc9457SAndroid Build Coastguard Worker }
1416*4bdc9457SAndroid Build Coastguard Worker }
1417*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32,inplace)1418*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X32, inplace) {
1419*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1420*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
1421*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1422*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1423*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1424*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x32, xnn_init_f32_sqrt_fma_params);
1425*4bdc9457SAndroid Build Coastguard Worker }
1426*4bdc9457SAndroid Build Coastguard Worker }
1427*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1428*4bdc9457SAndroid Build Coastguard Worker
1429*4bdc9457SAndroid Build Coastguard Worker
1430*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40,batch_eq_40)1431*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40, batch_eq_40) {
1432*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1433*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1434*4bdc9457SAndroid Build Coastguard Worker .batch_size(40)
1435*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x40, xnn_init_f32_sqrt_fma_params);
1436*4bdc9457SAndroid Build Coastguard Worker }
1437*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40,batch_div_40)1438*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40, batch_div_40) {
1439*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1440*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 80; batch_size < 400; batch_size += 40) {
1441*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1442*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1443*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x40, xnn_init_f32_sqrt_fma_params);
1444*4bdc9457SAndroid Build Coastguard Worker }
1445*4bdc9457SAndroid Build Coastguard Worker }
1446*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40,batch_lt_40)1447*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40, batch_lt_40) {
1448*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1449*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 40; batch_size++) {
1450*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1451*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1452*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x40, xnn_init_f32_sqrt_fma_params);
1453*4bdc9457SAndroid Build Coastguard Worker }
1454*4bdc9457SAndroid Build Coastguard Worker }
1455*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40,batch_gt_40)1456*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40, batch_gt_40) {
1457*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1458*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 41; batch_size < 80; batch_size++) {
1459*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1460*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1461*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x40, xnn_init_f32_sqrt_fma_params);
1462*4bdc9457SAndroid Build Coastguard Worker }
1463*4bdc9457SAndroid Build Coastguard Worker }
1464*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40,inplace)1465*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X40, inplace) {
1466*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1467*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 200; batch_size += 39) {
1468*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1469*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1470*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1471*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x40, xnn_init_f32_sqrt_fma_params);
1472*4bdc9457SAndroid Build Coastguard Worker }
1473*4bdc9457SAndroid Build Coastguard Worker }
1474*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1475*4bdc9457SAndroid Build Coastguard Worker
1476*4bdc9457SAndroid Build Coastguard Worker
1477*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48,batch_eq_48)1478*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48, batch_eq_48) {
1479*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1480*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1481*4bdc9457SAndroid Build Coastguard Worker .batch_size(48)
1482*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x48, xnn_init_f32_sqrt_fma_params);
1483*4bdc9457SAndroid Build Coastguard Worker }
1484*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48,batch_div_48)1485*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48, batch_div_48) {
1486*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1487*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 96; batch_size < 480; batch_size += 48) {
1488*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1489*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1490*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x48, xnn_init_f32_sqrt_fma_params);
1491*4bdc9457SAndroid Build Coastguard Worker }
1492*4bdc9457SAndroid Build Coastguard Worker }
1493*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48,batch_lt_48)1494*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48, batch_lt_48) {
1495*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1496*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 48; batch_size++) {
1497*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1498*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1499*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x48, xnn_init_f32_sqrt_fma_params);
1500*4bdc9457SAndroid Build Coastguard Worker }
1501*4bdc9457SAndroid Build Coastguard Worker }
1502*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48,batch_gt_48)1503*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48, batch_gt_48) {
1504*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1505*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 49; batch_size < 96; batch_size++) {
1506*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1507*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1508*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x48, xnn_init_f32_sqrt_fma_params);
1509*4bdc9457SAndroid Build Coastguard Worker }
1510*4bdc9457SAndroid Build Coastguard Worker }
1511*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48,inplace)1512*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X48, inplace) {
1513*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1514*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 240; batch_size += 47) {
1515*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1516*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1517*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1518*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x48, xnn_init_f32_sqrt_fma_params);
1519*4bdc9457SAndroid Build Coastguard Worker }
1520*4bdc9457SAndroid Build Coastguard Worker }
1521*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1522*4bdc9457SAndroid Build Coastguard Worker
1523*4bdc9457SAndroid Build Coastguard Worker
1524*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56,batch_eq_56)1525*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56, batch_eq_56) {
1526*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1527*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1528*4bdc9457SAndroid Build Coastguard Worker .batch_size(56)
1529*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x56, xnn_init_f32_sqrt_fma_params);
1530*4bdc9457SAndroid Build Coastguard Worker }
1531*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56,batch_div_56)1532*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56, batch_div_56) {
1533*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1534*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 112; batch_size < 560; batch_size += 56) {
1535*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1536*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1537*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x56, xnn_init_f32_sqrt_fma_params);
1538*4bdc9457SAndroid Build Coastguard Worker }
1539*4bdc9457SAndroid Build Coastguard Worker }
1540*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56,batch_lt_56)1541*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56, batch_lt_56) {
1542*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1543*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 56; batch_size++) {
1544*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1545*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1546*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x56, xnn_init_f32_sqrt_fma_params);
1547*4bdc9457SAndroid Build Coastguard Worker }
1548*4bdc9457SAndroid Build Coastguard Worker }
1549*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56,batch_gt_56)1550*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56, batch_gt_56) {
1551*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1552*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 57; batch_size < 112; batch_size++) {
1553*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1554*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1555*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x56, xnn_init_f32_sqrt_fma_params);
1556*4bdc9457SAndroid Build Coastguard Worker }
1557*4bdc9457SAndroid Build Coastguard Worker }
1558*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56,inplace)1559*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X56, inplace) {
1560*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1561*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 280; batch_size += 55) {
1562*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1563*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1564*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1565*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x56, xnn_init_f32_sqrt_fma_params);
1566*4bdc9457SAndroid Build Coastguard Worker }
1567*4bdc9457SAndroid Build Coastguard Worker }
1568*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1569*4bdc9457SAndroid Build Coastguard Worker
1570*4bdc9457SAndroid Build Coastguard Worker
1571*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64,batch_eq_64)1572*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64, batch_eq_64) {
1573*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1574*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1575*4bdc9457SAndroid Build Coastguard Worker .batch_size(64)
1576*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x64, xnn_init_f32_sqrt_fma_params);
1577*4bdc9457SAndroid Build Coastguard Worker }
1578*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64,batch_div_64)1579*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64, batch_div_64) {
1580*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1581*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
1582*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1583*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1584*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x64, xnn_init_f32_sqrt_fma_params);
1585*4bdc9457SAndroid Build Coastguard Worker }
1586*4bdc9457SAndroid Build Coastguard Worker }
1587*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64,batch_lt_64)1588*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64, batch_lt_64) {
1589*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1590*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 64; batch_size++) {
1591*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1592*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1593*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x64, xnn_init_f32_sqrt_fma_params);
1594*4bdc9457SAndroid Build Coastguard Worker }
1595*4bdc9457SAndroid Build Coastguard Worker }
1596*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64,batch_gt_64)1597*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64, batch_gt_64) {
1598*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1599*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 65; batch_size < 128; batch_size++) {
1600*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1601*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1602*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x64, xnn_init_f32_sqrt_fma_params);
1603*4bdc9457SAndroid Build Coastguard Worker }
1604*4bdc9457SAndroid Build Coastguard Worker }
1605*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64,inplace)1606*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__FMA3_NR1FMA1ADJ_X64, inplace) {
1607*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_FMA3;
1608*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
1609*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1610*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1611*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1612*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__fma3_nr1fma1adj_x64, xnn_init_f32_sqrt_fma_params);
1613*4bdc9457SAndroid Build Coastguard Worker }
1614*4bdc9457SAndroid Build Coastguard Worker }
1615*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1616*4bdc9457SAndroid Build Coastguard Worker
1617*4bdc9457SAndroid Build Coastguard Worker
1618*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16,batch_eq_16)1619*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16, batch_eq_16) {
1620*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1621*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1622*4bdc9457SAndroid Build Coastguard Worker .batch_size(16)
1623*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x16, xnn_init_f32_sqrt_avx512_params);
1624*4bdc9457SAndroid Build Coastguard Worker }
1625*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16,batch_div_16)1626*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16, batch_div_16) {
1627*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1628*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
1629*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1630*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1631*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x16, xnn_init_f32_sqrt_avx512_params);
1632*4bdc9457SAndroid Build Coastguard Worker }
1633*4bdc9457SAndroid Build Coastguard Worker }
1634*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16,batch_lt_16)1635*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16, batch_lt_16) {
1636*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1637*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) {
1638*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1639*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1640*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x16, xnn_init_f32_sqrt_avx512_params);
1641*4bdc9457SAndroid Build Coastguard Worker }
1642*4bdc9457SAndroid Build Coastguard Worker }
1643*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16,batch_gt_16)1644*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16, batch_gt_16) {
1645*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1646*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) {
1647*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1648*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1649*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x16, xnn_init_f32_sqrt_avx512_params);
1650*4bdc9457SAndroid Build Coastguard Worker }
1651*4bdc9457SAndroid Build Coastguard Worker }
1652*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16,inplace)1653*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X16, inplace) {
1654*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1655*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
1656*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1657*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1658*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1659*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x16, xnn_init_f32_sqrt_avx512_params);
1660*4bdc9457SAndroid Build Coastguard Worker }
1661*4bdc9457SAndroid Build Coastguard Worker }
1662*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1663*4bdc9457SAndroid Build Coastguard Worker
1664*4bdc9457SAndroid Build Coastguard Worker
1665*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32,batch_eq_32)1666*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32, batch_eq_32) {
1667*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1668*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1669*4bdc9457SAndroid Build Coastguard Worker .batch_size(32)
1670*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x32, xnn_init_f32_sqrt_avx512_params);
1671*4bdc9457SAndroid Build Coastguard Worker }
1672*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32,batch_div_32)1673*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32, batch_div_32) {
1674*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1675*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
1676*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1677*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1678*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x32, xnn_init_f32_sqrt_avx512_params);
1679*4bdc9457SAndroid Build Coastguard Worker }
1680*4bdc9457SAndroid Build Coastguard Worker }
1681*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32,batch_lt_32)1682*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32, batch_lt_32) {
1683*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1684*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 32; batch_size++) {
1685*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1686*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1687*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x32, xnn_init_f32_sqrt_avx512_params);
1688*4bdc9457SAndroid Build Coastguard Worker }
1689*4bdc9457SAndroid Build Coastguard Worker }
1690*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32,batch_gt_32)1691*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32, batch_gt_32) {
1692*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1693*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 33; batch_size < 64; batch_size++) {
1694*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1695*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1696*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x32, xnn_init_f32_sqrt_avx512_params);
1697*4bdc9457SAndroid Build Coastguard Worker }
1698*4bdc9457SAndroid Build Coastguard Worker }
1699*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32,inplace)1700*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X32, inplace) {
1701*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1702*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
1703*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1704*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1705*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1706*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x32, xnn_init_f32_sqrt_avx512_params);
1707*4bdc9457SAndroid Build Coastguard Worker }
1708*4bdc9457SAndroid Build Coastguard Worker }
1709*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1710*4bdc9457SAndroid Build Coastguard Worker
1711*4bdc9457SAndroid Build Coastguard Worker
1712*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48,batch_eq_48)1713*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48, batch_eq_48) {
1714*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1715*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1716*4bdc9457SAndroid Build Coastguard Worker .batch_size(48)
1717*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x48, xnn_init_f32_sqrt_avx512_params);
1718*4bdc9457SAndroid Build Coastguard Worker }
1719*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48,batch_div_48)1720*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48, batch_div_48) {
1721*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1722*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 96; batch_size < 480; batch_size += 48) {
1723*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1724*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1725*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x48, xnn_init_f32_sqrt_avx512_params);
1726*4bdc9457SAndroid Build Coastguard Worker }
1727*4bdc9457SAndroid Build Coastguard Worker }
1728*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48,batch_lt_48)1729*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48, batch_lt_48) {
1730*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1731*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 48; batch_size++) {
1732*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1733*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1734*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x48, xnn_init_f32_sqrt_avx512_params);
1735*4bdc9457SAndroid Build Coastguard Worker }
1736*4bdc9457SAndroid Build Coastguard Worker }
1737*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48,batch_gt_48)1738*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48, batch_gt_48) {
1739*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1740*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 49; batch_size < 96; batch_size++) {
1741*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1742*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1743*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x48, xnn_init_f32_sqrt_avx512_params);
1744*4bdc9457SAndroid Build Coastguard Worker }
1745*4bdc9457SAndroid Build Coastguard Worker }
1746*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48,inplace)1747*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X48, inplace) {
1748*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1749*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 240; batch_size += 47) {
1750*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1751*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1752*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1753*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x48, xnn_init_f32_sqrt_avx512_params);
1754*4bdc9457SAndroid Build Coastguard Worker }
1755*4bdc9457SAndroid Build Coastguard Worker }
1756*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1757*4bdc9457SAndroid Build Coastguard Worker
1758*4bdc9457SAndroid Build Coastguard Worker
1759*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64,batch_eq_64)1760*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64, batch_eq_64) {
1761*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1762*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1763*4bdc9457SAndroid Build Coastguard Worker .batch_size(64)
1764*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x64, xnn_init_f32_sqrt_avx512_params);
1765*4bdc9457SAndroid Build Coastguard Worker }
1766*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64,batch_div_64)1767*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64, batch_div_64) {
1768*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1769*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
1770*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1771*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1772*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x64, xnn_init_f32_sqrt_avx512_params);
1773*4bdc9457SAndroid Build Coastguard Worker }
1774*4bdc9457SAndroid Build Coastguard Worker }
1775*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64,batch_lt_64)1776*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64, batch_lt_64) {
1777*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1778*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 64; batch_size++) {
1779*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1780*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1781*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x64, xnn_init_f32_sqrt_avx512_params);
1782*4bdc9457SAndroid Build Coastguard Worker }
1783*4bdc9457SAndroid Build Coastguard Worker }
1784*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64,batch_gt_64)1785*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64, batch_gt_64) {
1786*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1787*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 65; batch_size < 128; batch_size++) {
1788*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1789*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1790*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x64, xnn_init_f32_sqrt_avx512_params);
1791*4bdc9457SAndroid Build Coastguard Worker }
1792*4bdc9457SAndroid Build Coastguard Worker }
1793*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64,inplace)1794*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X64, inplace) {
1795*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1796*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
1797*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1798*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1799*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1800*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x64, xnn_init_f32_sqrt_avx512_params);
1801*4bdc9457SAndroid Build Coastguard Worker }
1802*4bdc9457SAndroid Build Coastguard Worker }
1803*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1804*4bdc9457SAndroid Build Coastguard Worker
1805*4bdc9457SAndroid Build Coastguard Worker
1806*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80,batch_eq_80)1807*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80, batch_eq_80) {
1808*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1809*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1810*4bdc9457SAndroid Build Coastguard Worker .batch_size(80)
1811*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x80, xnn_init_f32_sqrt_avx512_params);
1812*4bdc9457SAndroid Build Coastguard Worker }
1813*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80,batch_div_80)1814*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80, batch_div_80) {
1815*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1816*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 160; batch_size < 800; batch_size += 80) {
1817*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1818*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1819*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x80, xnn_init_f32_sqrt_avx512_params);
1820*4bdc9457SAndroid Build Coastguard Worker }
1821*4bdc9457SAndroid Build Coastguard Worker }
1822*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80,batch_lt_80)1823*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80, batch_lt_80) {
1824*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1825*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 80; batch_size++) {
1826*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1827*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1828*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x80, xnn_init_f32_sqrt_avx512_params);
1829*4bdc9457SAndroid Build Coastguard Worker }
1830*4bdc9457SAndroid Build Coastguard Worker }
1831*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80,batch_gt_80)1832*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80, batch_gt_80) {
1833*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1834*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 81; batch_size < 160; batch_size++) {
1835*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1836*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1837*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x80, xnn_init_f32_sqrt_avx512_params);
1838*4bdc9457SAndroid Build Coastguard Worker }
1839*4bdc9457SAndroid Build Coastguard Worker }
1840*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80,inplace)1841*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X80, inplace) {
1842*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1843*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 400; batch_size += 79) {
1844*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1845*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1846*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1847*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x80, xnn_init_f32_sqrt_avx512_params);
1848*4bdc9457SAndroid Build Coastguard Worker }
1849*4bdc9457SAndroid Build Coastguard Worker }
1850*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1851*4bdc9457SAndroid Build Coastguard Worker
1852*4bdc9457SAndroid Build Coastguard Worker
1853*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96,batch_eq_96)1854*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96, batch_eq_96) {
1855*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1856*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1857*4bdc9457SAndroid Build Coastguard Worker .batch_size(96)
1858*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x96, xnn_init_f32_sqrt_avx512_params);
1859*4bdc9457SAndroid Build Coastguard Worker }
1860*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96,batch_div_96)1861*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96, batch_div_96) {
1862*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1863*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 192; batch_size < 960; batch_size += 96) {
1864*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1865*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1866*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x96, xnn_init_f32_sqrt_avx512_params);
1867*4bdc9457SAndroid Build Coastguard Worker }
1868*4bdc9457SAndroid Build Coastguard Worker }
1869*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96,batch_lt_96)1870*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96, batch_lt_96) {
1871*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1872*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 96; batch_size++) {
1873*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1874*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1875*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x96, xnn_init_f32_sqrt_avx512_params);
1876*4bdc9457SAndroid Build Coastguard Worker }
1877*4bdc9457SAndroid Build Coastguard Worker }
1878*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96,batch_gt_96)1879*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96, batch_gt_96) {
1880*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1881*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 97; batch_size < 192; batch_size++) {
1882*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1883*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1884*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x96, xnn_init_f32_sqrt_avx512_params);
1885*4bdc9457SAndroid Build Coastguard Worker }
1886*4bdc9457SAndroid Build Coastguard Worker }
1887*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96,inplace)1888*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X96, inplace) {
1889*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1890*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 480; batch_size += 95) {
1891*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1892*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1893*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1894*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x96, xnn_init_f32_sqrt_avx512_params);
1895*4bdc9457SAndroid Build Coastguard Worker }
1896*4bdc9457SAndroid Build Coastguard Worker }
1897*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1898*4bdc9457SAndroid Build Coastguard Worker
1899*4bdc9457SAndroid Build Coastguard Worker
1900*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112,batch_eq_112)1901*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112, batch_eq_112) {
1902*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1903*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1904*4bdc9457SAndroid Build Coastguard Worker .batch_size(112)
1905*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x112, xnn_init_f32_sqrt_avx512_params);
1906*4bdc9457SAndroid Build Coastguard Worker }
1907*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112,batch_div_112)1908*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112, batch_div_112) {
1909*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1910*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 224; batch_size < 1120; batch_size += 112) {
1911*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1912*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1913*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x112, xnn_init_f32_sqrt_avx512_params);
1914*4bdc9457SAndroid Build Coastguard Worker }
1915*4bdc9457SAndroid Build Coastguard Worker }
1916*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112,batch_lt_112)1917*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112, batch_lt_112) {
1918*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1919*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 112; batch_size++) {
1920*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1921*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1922*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x112, xnn_init_f32_sqrt_avx512_params);
1923*4bdc9457SAndroid Build Coastguard Worker }
1924*4bdc9457SAndroid Build Coastguard Worker }
1925*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112,batch_gt_112)1926*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112, batch_gt_112) {
1927*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1928*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 113; batch_size < 224; batch_size++) {
1929*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1930*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1931*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x112, xnn_init_f32_sqrt_avx512_params);
1932*4bdc9457SAndroid Build Coastguard Worker }
1933*4bdc9457SAndroid Build Coastguard Worker }
1934*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112,inplace)1935*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X112, inplace) {
1936*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1937*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 560; batch_size += 111) {
1938*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1939*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1940*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1941*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x112, xnn_init_f32_sqrt_avx512_params);
1942*4bdc9457SAndroid Build Coastguard Worker }
1943*4bdc9457SAndroid Build Coastguard Worker }
1944*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1945*4bdc9457SAndroid Build Coastguard Worker
1946*4bdc9457SAndroid Build Coastguard Worker
1947*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128,batch_eq_128)1948*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128, batch_eq_128) {
1949*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1950*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1951*4bdc9457SAndroid Build Coastguard Worker .batch_size(128)
1952*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x128, xnn_init_f32_sqrt_avx512_params);
1953*4bdc9457SAndroid Build Coastguard Worker }
1954*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128,batch_div_128)1955*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128, batch_div_128) {
1956*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1957*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 256; batch_size < 1280; batch_size += 128) {
1958*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1959*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1960*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x128, xnn_init_f32_sqrt_avx512_params);
1961*4bdc9457SAndroid Build Coastguard Worker }
1962*4bdc9457SAndroid Build Coastguard Worker }
1963*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128,batch_lt_128)1964*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128, batch_lt_128) {
1965*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1966*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 128; batch_size++) {
1967*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1968*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1969*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x128, xnn_init_f32_sqrt_avx512_params);
1970*4bdc9457SAndroid Build Coastguard Worker }
1971*4bdc9457SAndroid Build Coastguard Worker }
1972*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128,batch_gt_128)1973*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128, batch_gt_128) {
1974*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1975*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 129; batch_size < 256; batch_size++) {
1976*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1977*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1978*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x128, xnn_init_f32_sqrt_avx512_params);
1979*4bdc9457SAndroid Build Coastguard Worker }
1980*4bdc9457SAndroid Build Coastguard Worker }
1981*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128,inplace)1982*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__AVX512F_NR1FMA1ADJ_X128, inplace) {
1983*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F;
1984*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 640; batch_size += 127) {
1985*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1986*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
1987*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
1988*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__avx512f_nr1fma1adj_x128, xnn_init_f32_sqrt_avx512_params);
1989*4bdc9457SAndroid Build Coastguard Worker }
1990*4bdc9457SAndroid Build Coastguard Worker }
1991*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
1992*4bdc9457SAndroid Build Coastguard Worker
1993*4bdc9457SAndroid Build Coastguard Worker
1994*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VSQRT__WASMSIMD_SQRT_X4,batch_eq_4)1995*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X4, batch_eq_4) {
1996*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
1997*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
1998*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x4);
1999*4bdc9457SAndroid Build Coastguard Worker }
2000*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X4,batch_div_4)2001*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X4, batch_div_4) {
2002*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
2003*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2004*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2005*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x4);
2006*4bdc9457SAndroid Build Coastguard Worker }
2007*4bdc9457SAndroid Build Coastguard Worker }
2008*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X4,batch_lt_4)2009*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X4, batch_lt_4) {
2010*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
2011*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2012*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2013*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x4);
2014*4bdc9457SAndroid Build Coastguard Worker }
2015*4bdc9457SAndroid Build Coastguard Worker }
2016*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X4,batch_gt_4)2017*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X4, batch_gt_4) {
2018*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
2019*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2020*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2021*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x4);
2022*4bdc9457SAndroid Build Coastguard Worker }
2023*4bdc9457SAndroid Build Coastguard Worker }
2024*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X4,inplace)2025*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X4, inplace) {
2026*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
2027*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2028*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2029*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
2030*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x4);
2031*4bdc9457SAndroid Build Coastguard Worker }
2032*4bdc9457SAndroid Build Coastguard Worker }
2033*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
2034*4bdc9457SAndroid Build Coastguard Worker
2035*4bdc9457SAndroid Build Coastguard Worker
2036*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(F32_VSQRT__WASMSIMD_SQRT_X8,batch_eq_8)2037*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X8, batch_eq_8) {
2038*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2039*4bdc9457SAndroid Build Coastguard Worker .batch_size(8)
2040*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x8);
2041*4bdc9457SAndroid Build Coastguard Worker }
2042*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X8,batch_div_8)2043*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X8, batch_div_8) {
2044*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
2045*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2046*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2047*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x8);
2048*4bdc9457SAndroid Build Coastguard Worker }
2049*4bdc9457SAndroid Build Coastguard Worker }
2050*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X8,batch_lt_8)2051*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X8, batch_lt_8) {
2052*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) {
2053*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2054*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2055*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x8);
2056*4bdc9457SAndroid Build Coastguard Worker }
2057*4bdc9457SAndroid Build Coastguard Worker }
2058*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X8,batch_gt_8)2059*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X8, batch_gt_8) {
2060*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) {
2061*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2062*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2063*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x8);
2064*4bdc9457SAndroid Build Coastguard Worker }
2065*4bdc9457SAndroid Build Coastguard Worker }
2066*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__WASMSIMD_SQRT_X8,inplace)2067*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__WASMSIMD_SQRT_X8, inplace) {
2068*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
2069*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2070*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2071*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
2072*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__wasmsimd_sqrt_x8);
2073*4bdc9457SAndroid Build Coastguard Worker }
2074*4bdc9457SAndroid Build Coastguard Worker }
2075*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
2076*4bdc9457SAndroid Build Coastguard Worker
2077*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X1,batch_eq_1)2078*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X1, batch_eq_1) {
2079*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2080*4bdc9457SAndroid Build Coastguard Worker .batch_size(1)
2081*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x1);
2082*4bdc9457SAndroid Build Coastguard Worker }
2083*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X1,batch_gt_1)2084*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X1, batch_gt_1) {
2085*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 2; batch_size < 10; batch_size++) {
2086*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2087*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2088*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x1);
2089*4bdc9457SAndroid Build Coastguard Worker }
2090*4bdc9457SAndroid Build Coastguard Worker }
2091*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X1,inplace)2092*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X1, inplace) {
2093*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
2094*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2095*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2096*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
2097*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x1);
2098*4bdc9457SAndroid Build Coastguard Worker }
2099*4bdc9457SAndroid Build Coastguard Worker }
2100*4bdc9457SAndroid Build Coastguard Worker
2101*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X2,batch_eq_2)2102*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X2, batch_eq_2) {
2103*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2104*4bdc9457SAndroid Build Coastguard Worker .batch_size(2)
2105*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x2);
2106*4bdc9457SAndroid Build Coastguard Worker }
2107*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X2,batch_div_2)2108*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X2, batch_div_2) {
2109*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
2110*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2111*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2112*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x2);
2113*4bdc9457SAndroid Build Coastguard Worker }
2114*4bdc9457SAndroid Build Coastguard Worker }
2115*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X2,batch_lt_2)2116*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X2, batch_lt_2) {
2117*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 2; batch_size++) {
2118*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2119*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2120*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x2);
2121*4bdc9457SAndroid Build Coastguard Worker }
2122*4bdc9457SAndroid Build Coastguard Worker }
2123*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X2,batch_gt_2)2124*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X2, batch_gt_2) {
2125*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 3; batch_size < 4; batch_size++) {
2126*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2127*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2128*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x2);
2129*4bdc9457SAndroid Build Coastguard Worker }
2130*4bdc9457SAndroid Build Coastguard Worker }
2131*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X2,inplace)2132*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X2, inplace) {
2133*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
2134*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2135*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2136*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
2137*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x2);
2138*4bdc9457SAndroid Build Coastguard Worker }
2139*4bdc9457SAndroid Build Coastguard Worker }
2140*4bdc9457SAndroid Build Coastguard Worker
2141*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X4,batch_eq_4)2142*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X4, batch_eq_4) {
2143*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2144*4bdc9457SAndroid Build Coastguard Worker .batch_size(4)
2145*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x4);
2146*4bdc9457SAndroid Build Coastguard Worker }
2147*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X4,batch_div_4)2148*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X4, batch_div_4) {
2149*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
2150*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2151*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2152*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x4);
2153*4bdc9457SAndroid Build Coastguard Worker }
2154*4bdc9457SAndroid Build Coastguard Worker }
2155*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X4,batch_lt_4)2156*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X4, batch_lt_4) {
2157*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 4; batch_size++) {
2158*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2159*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2160*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x4);
2161*4bdc9457SAndroid Build Coastguard Worker }
2162*4bdc9457SAndroid Build Coastguard Worker }
2163*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X4,batch_gt_4)2164*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X4, batch_gt_4) {
2165*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 5; batch_size < 8; batch_size++) {
2166*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2167*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2168*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x4);
2169*4bdc9457SAndroid Build Coastguard Worker }
2170*4bdc9457SAndroid Build Coastguard Worker }
2171*4bdc9457SAndroid Build Coastguard Worker
TEST(F32_VSQRT__SCALAR_SQRT_X4,inplace)2172*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSQRT__SCALAR_SQRT_X4, inplace) {
2173*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
2174*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester()
2175*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size)
2176*4bdc9457SAndroid Build Coastguard Worker .inplace(true)
2177*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vsqrt_ukernel__scalar_sqrt_x4);
2178*4bdc9457SAndroid Build Coastguard Worker }
2179*4bdc9457SAndroid Build Coastguard Worker }
2180