xref: /aosp_15_r20/external/XNNPACK/test/x8-lut.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2021 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/x8-lut.yaml
8*4bdc9457SAndroid Build Coastguard Worker //   Generator: tools/generate-lut-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/lut.h>
17*4bdc9457SAndroid Build Coastguard Worker #include "lut-microkernel-tester.h"
18*4bdc9457SAndroid Build Coastguard Worker 
19*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X1,batch_eq_1)20*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X1, batch_eq_1) {
21*4bdc9457SAndroid Build Coastguard Worker   LUTMicrokernelTester()
22*4bdc9457SAndroid Build Coastguard Worker     .batch_size(1)
23*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_x8_lut_ukernel__scalar_x1);
24*4bdc9457SAndroid Build Coastguard Worker }
25*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X1,batch_gt_1)26*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X1, batch_gt_1) {
27*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 2; batch_size < 10; batch_size++) {
28*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
29*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
30*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x1);
31*4bdc9457SAndroid Build Coastguard Worker   }
32*4bdc9457SAndroid Build Coastguard Worker }
33*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X1,inplace)34*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X1, inplace) {
35*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size <= 5; batch_size += 1) {
36*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
37*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
38*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
39*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x1);
40*4bdc9457SAndroid Build Coastguard Worker   }
41*4bdc9457SAndroid Build Coastguard Worker }
42*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X2,batch_eq_2)43*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X2, batch_eq_2) {
44*4bdc9457SAndroid Build Coastguard Worker   LUTMicrokernelTester()
45*4bdc9457SAndroid Build Coastguard Worker     .batch_size(2)
46*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_x8_lut_ukernel__scalar_x2);
47*4bdc9457SAndroid Build Coastguard Worker }
48*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X2,batch_div_2)49*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X2, batch_div_2) {
50*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 4; batch_size < 20; batch_size += 2) {
51*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
52*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
53*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x2);
54*4bdc9457SAndroid Build Coastguard Worker   }
55*4bdc9457SAndroid Build Coastguard Worker }
56*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X2,batch_lt_2)57*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X2, batch_lt_2) {
58*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size < 2; batch_size++) {
59*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
60*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
61*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x2);
62*4bdc9457SAndroid Build Coastguard Worker   }
63*4bdc9457SAndroid Build Coastguard Worker }
64*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X2,batch_gt_2)65*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X2, batch_gt_2) {
66*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 3; batch_size < 4; batch_size++) {
67*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
68*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
69*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x2);
70*4bdc9457SAndroid Build Coastguard Worker   }
71*4bdc9457SAndroid Build Coastguard Worker }
72*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X2,inplace)73*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X2, inplace) {
74*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size <= 10; batch_size += 1) {
75*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
76*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
77*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
78*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x2);
79*4bdc9457SAndroid Build Coastguard Worker   }
80*4bdc9457SAndroid Build Coastguard Worker }
81*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X4,batch_eq_4)82*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X4, batch_eq_4) {
83*4bdc9457SAndroid Build Coastguard Worker   LUTMicrokernelTester()
84*4bdc9457SAndroid Build Coastguard Worker     .batch_size(4)
85*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_x8_lut_ukernel__scalar_x4);
86*4bdc9457SAndroid Build Coastguard Worker }
87*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X4,batch_div_4)88*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X4, batch_div_4) {
89*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 8; batch_size < 40; batch_size += 4) {
90*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
91*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
92*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x4);
93*4bdc9457SAndroid Build Coastguard Worker   }
94*4bdc9457SAndroid Build Coastguard Worker }
95*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X4,batch_lt_4)96*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X4, batch_lt_4) {
97*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size < 4; batch_size++) {
98*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
99*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
100*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x4);
101*4bdc9457SAndroid Build Coastguard Worker   }
102*4bdc9457SAndroid Build Coastguard Worker }
103*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X4,batch_gt_4)104*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X4, batch_gt_4) {
105*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 5; batch_size < 8; batch_size++) {
106*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
107*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
108*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x4);
109*4bdc9457SAndroid Build Coastguard Worker   }
110*4bdc9457SAndroid Build Coastguard Worker }
111*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X4,inplace)112*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X4, inplace) {
113*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size <= 20; batch_size += 3) {
114*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
115*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
116*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
117*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x4);
118*4bdc9457SAndroid Build Coastguard Worker   }
119*4bdc9457SAndroid Build Coastguard Worker }
120*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X8,batch_eq_8)121*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X8, batch_eq_8) {
122*4bdc9457SAndroid Build Coastguard Worker   LUTMicrokernelTester()
123*4bdc9457SAndroid Build Coastguard Worker     .batch_size(8)
124*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_x8_lut_ukernel__scalar_x8);
125*4bdc9457SAndroid Build Coastguard Worker }
126*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X8,batch_div_8)127*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X8, batch_div_8) {
128*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
129*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
130*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
131*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x8);
132*4bdc9457SAndroid Build Coastguard Worker   }
133*4bdc9457SAndroid Build Coastguard Worker }
134*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X8,batch_lt_8)135*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X8, batch_lt_8) {
136*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size < 8; batch_size++) {
137*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
138*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
139*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x8);
140*4bdc9457SAndroid Build Coastguard Worker   }
141*4bdc9457SAndroid Build Coastguard Worker }
142*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X8,batch_gt_8)143*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X8, batch_gt_8) {
144*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 9; batch_size < 16; batch_size++) {
145*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
146*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
147*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x8);
148*4bdc9457SAndroid Build Coastguard Worker   }
149*4bdc9457SAndroid Build Coastguard Worker }
150*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X8,inplace)151*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X8, inplace) {
152*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
153*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
154*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
155*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
156*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x8);
157*4bdc9457SAndroid Build Coastguard Worker   }
158*4bdc9457SAndroid Build Coastguard Worker }
159*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X16,batch_eq_16)160*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X16, batch_eq_16) {
161*4bdc9457SAndroid Build Coastguard Worker   LUTMicrokernelTester()
162*4bdc9457SAndroid Build Coastguard Worker     .batch_size(16)
163*4bdc9457SAndroid Build Coastguard Worker     .Test(xnn_x8_lut_ukernel__scalar_x16);
164*4bdc9457SAndroid Build Coastguard Worker }
165*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X16,batch_div_16)166*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X16, batch_div_16) {
167*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
168*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
169*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
170*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x16);
171*4bdc9457SAndroid Build Coastguard Worker   }
172*4bdc9457SAndroid Build Coastguard Worker }
173*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X16,batch_lt_16)174*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X16, batch_lt_16) {
175*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size < 16; batch_size++) {
176*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
177*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
178*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x16);
179*4bdc9457SAndroid Build Coastguard Worker   }
180*4bdc9457SAndroid Build Coastguard Worker }
181*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X16,batch_gt_16)182*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X16, batch_gt_16) {
183*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 17; batch_size < 32; batch_size++) {
184*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
185*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
186*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x16);
187*4bdc9457SAndroid Build Coastguard Worker   }
188*4bdc9457SAndroid Build Coastguard Worker }
189*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SCALAR_X16,inplace)190*4bdc9457SAndroid Build Coastguard Worker TEST(X8_LUT__SCALAR_X16, inplace) {
191*4bdc9457SAndroid Build Coastguard Worker   for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
192*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
193*4bdc9457SAndroid Build Coastguard Worker       .batch_size(batch_size)
194*4bdc9457SAndroid Build Coastguard Worker       .inplace(true)
195*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__scalar_x16);
196*4bdc9457SAndroid Build Coastguard Worker   }
197*4bdc9457SAndroid Build Coastguard Worker }
198*4bdc9457SAndroid Build Coastguard Worker 
199*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(X8_LUT__NEON_TBX128X4_X16,batch_eq_16)200*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X16, batch_eq_16) {
201*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
202*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
203*4bdc9457SAndroid Build Coastguard Worker       .batch_size(16)
204*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x16);
205*4bdc9457SAndroid Build Coastguard Worker   }
206*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X16,batch_div_16)207*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X16, batch_div_16) {
208*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
209*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
210*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
211*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
212*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x16);
213*4bdc9457SAndroid Build Coastguard Worker     }
214*4bdc9457SAndroid Build Coastguard Worker   }
215*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X16,batch_lt_16)216*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X16, batch_lt_16) {
217*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
218*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 16; batch_size++) {
219*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
220*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
221*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x16);
222*4bdc9457SAndroid Build Coastguard Worker     }
223*4bdc9457SAndroid Build Coastguard Worker   }
224*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X16,batch_gt_16)225*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X16, batch_gt_16) {
226*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
227*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 17; batch_size < 32; batch_size++) {
228*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
229*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
230*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x16);
231*4bdc9457SAndroid Build Coastguard Worker     }
232*4bdc9457SAndroid Build Coastguard Worker   }
233*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X16,inplace)234*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X16, inplace) {
235*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
236*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
237*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
238*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
239*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
240*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x16);
241*4bdc9457SAndroid Build Coastguard Worker     }
242*4bdc9457SAndroid Build Coastguard Worker   }
243*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_ARM64
244*4bdc9457SAndroid Build Coastguard Worker 
245*4bdc9457SAndroid Build Coastguard Worker 
246*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(X8_LUT__NEON_TBX128X4_X32,batch_eq_32)247*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X32, batch_eq_32) {
248*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
249*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
250*4bdc9457SAndroid Build Coastguard Worker       .batch_size(32)
251*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x32);
252*4bdc9457SAndroid Build Coastguard Worker   }
253*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X32,batch_div_32)254*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X32, batch_div_32) {
255*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
256*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
257*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
258*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
259*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x32);
260*4bdc9457SAndroid Build Coastguard Worker     }
261*4bdc9457SAndroid Build Coastguard Worker   }
262*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X32,batch_lt_32)263*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X32, batch_lt_32) {
264*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
265*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 32; batch_size++) {
266*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
267*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
268*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x32);
269*4bdc9457SAndroid Build Coastguard Worker     }
270*4bdc9457SAndroid Build Coastguard Worker   }
271*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X32,batch_gt_32)272*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X32, batch_gt_32) {
273*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
274*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 33; batch_size < 64; batch_size++) {
275*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
276*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
277*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x32);
278*4bdc9457SAndroid Build Coastguard Worker     }
279*4bdc9457SAndroid Build Coastguard Worker   }
280*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X32,inplace)281*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X32, inplace) {
282*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
283*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
284*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
285*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
286*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
287*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x32);
288*4bdc9457SAndroid Build Coastguard Worker     }
289*4bdc9457SAndroid Build Coastguard Worker   }
290*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_ARM64
291*4bdc9457SAndroid Build Coastguard Worker 
292*4bdc9457SAndroid Build Coastguard Worker 
293*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(X8_LUT__NEON_TBX128X4_X48,batch_eq_48)294*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X48, batch_eq_48) {
295*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
296*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
297*4bdc9457SAndroid Build Coastguard Worker       .batch_size(48)
298*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x48);
299*4bdc9457SAndroid Build Coastguard Worker   }
300*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X48,batch_div_48)301*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X48, batch_div_48) {
302*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
303*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 96; batch_size < 480; batch_size += 48) {
304*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
305*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
306*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x48);
307*4bdc9457SAndroid Build Coastguard Worker     }
308*4bdc9457SAndroid Build Coastguard Worker   }
309*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X48,batch_lt_48)310*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X48, batch_lt_48) {
311*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
312*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 48; batch_size++) {
313*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
314*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
315*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x48);
316*4bdc9457SAndroid Build Coastguard Worker     }
317*4bdc9457SAndroid Build Coastguard Worker   }
318*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X48,batch_gt_48)319*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X48, batch_gt_48) {
320*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
321*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 49; batch_size < 96; batch_size++) {
322*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
323*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
324*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x48);
325*4bdc9457SAndroid Build Coastguard Worker     }
326*4bdc9457SAndroid Build Coastguard Worker   }
327*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X48,inplace)328*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X48, inplace) {
329*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
330*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 240; batch_size += 47) {
331*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
332*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
333*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
334*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x48);
335*4bdc9457SAndroid Build Coastguard Worker     }
336*4bdc9457SAndroid Build Coastguard Worker   }
337*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_ARM64
338*4bdc9457SAndroid Build Coastguard Worker 
339*4bdc9457SAndroid Build Coastguard Worker 
340*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM64
TEST(X8_LUT__NEON_TBX128X4_X64,batch_eq_64)341*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X64, batch_eq_64) {
342*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
343*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
344*4bdc9457SAndroid Build Coastguard Worker       .batch_size(64)
345*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x64);
346*4bdc9457SAndroid Build Coastguard Worker   }
347*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X64,batch_div_64)348*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X64, batch_div_64) {
349*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
350*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
351*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
352*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
353*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x64);
354*4bdc9457SAndroid Build Coastguard Worker     }
355*4bdc9457SAndroid Build Coastguard Worker   }
356*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X64,batch_lt_64)357*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X64, batch_lt_64) {
358*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
359*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 64; batch_size++) {
360*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
361*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
362*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x64);
363*4bdc9457SAndroid Build Coastguard Worker     }
364*4bdc9457SAndroid Build Coastguard Worker   }
365*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X64,batch_gt_64)366*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X64, batch_gt_64) {
367*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
368*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 65; batch_size < 128; batch_size++) {
369*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
370*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
371*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x64);
372*4bdc9457SAndroid Build Coastguard Worker     }
373*4bdc9457SAndroid Build Coastguard Worker   }
374*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__NEON_TBX128X4_X64,inplace)375*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__NEON_TBX128X4_X64, inplace) {
376*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_ARM_NEON;
377*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
378*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
379*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
380*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
381*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__neon_tbx128x4_x64);
382*4bdc9457SAndroid Build Coastguard Worker     }
383*4bdc9457SAndroid Build Coastguard Worker   }
384*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_ARM64
385*4bdc9457SAndroid Build Coastguard Worker 
386*4bdc9457SAndroid Build Coastguard Worker 
387*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__SSSE3_X16,batch_eq_16)388*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X16, batch_eq_16) {
389*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
390*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
391*4bdc9457SAndroid Build Coastguard Worker       .batch_size(16)
392*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__ssse3_x16);
393*4bdc9457SAndroid Build Coastguard Worker   }
394*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X16,batch_div_16)395*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X16, batch_div_16) {
396*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
397*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
398*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
399*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
400*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x16);
401*4bdc9457SAndroid Build Coastguard Worker     }
402*4bdc9457SAndroid Build Coastguard Worker   }
403*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X16,batch_lt_16)404*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X16, batch_lt_16) {
405*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
406*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 16; batch_size++) {
407*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
408*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
409*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x16);
410*4bdc9457SAndroid Build Coastguard Worker     }
411*4bdc9457SAndroid Build Coastguard Worker   }
412*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X16,batch_gt_16)413*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X16, batch_gt_16) {
414*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
415*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 17; batch_size < 32; batch_size++) {
416*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
417*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
418*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x16);
419*4bdc9457SAndroid Build Coastguard Worker     }
420*4bdc9457SAndroid Build Coastguard Worker   }
421*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X16,inplace)422*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X16, inplace) {
423*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
424*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
425*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
426*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
427*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
428*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x16);
429*4bdc9457SAndroid Build Coastguard Worker     }
430*4bdc9457SAndroid Build Coastguard Worker   }
431*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
432*4bdc9457SAndroid Build Coastguard Worker 
433*4bdc9457SAndroid Build Coastguard Worker 
434*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__SSSE3_X32,batch_eq_32)435*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X32, batch_eq_32) {
436*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
437*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
438*4bdc9457SAndroid Build Coastguard Worker       .batch_size(32)
439*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__ssse3_x32);
440*4bdc9457SAndroid Build Coastguard Worker   }
441*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X32,batch_div_32)442*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X32, batch_div_32) {
443*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
444*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
445*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
446*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
447*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x32);
448*4bdc9457SAndroid Build Coastguard Worker     }
449*4bdc9457SAndroid Build Coastguard Worker   }
450*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X32,batch_lt_32)451*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X32, batch_lt_32) {
452*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
453*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 32; batch_size++) {
454*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
455*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
456*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x32);
457*4bdc9457SAndroid Build Coastguard Worker     }
458*4bdc9457SAndroid Build Coastguard Worker   }
459*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X32,batch_gt_32)460*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X32, batch_gt_32) {
461*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
462*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 33; batch_size < 64; batch_size++) {
463*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
464*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
465*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x32);
466*4bdc9457SAndroid Build Coastguard Worker     }
467*4bdc9457SAndroid Build Coastguard Worker   }
468*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__SSSE3_X32,inplace)469*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__SSSE3_X32, inplace) {
470*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_SSSE3;
471*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
472*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
473*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
474*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
475*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__ssse3_x32);
476*4bdc9457SAndroid Build Coastguard Worker     }
477*4bdc9457SAndroid Build Coastguard Worker   }
478*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
479*4bdc9457SAndroid Build Coastguard Worker 
480*4bdc9457SAndroid Build Coastguard Worker 
481*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX_X16,batch_eq_16)482*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X16, batch_eq_16) {
483*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
484*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
485*4bdc9457SAndroid Build Coastguard Worker       .batch_size(16)
486*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx_x16);
487*4bdc9457SAndroid Build Coastguard Worker   }
488*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X16,batch_div_16)489*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X16, batch_div_16) {
490*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
491*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
492*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
493*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
494*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x16);
495*4bdc9457SAndroid Build Coastguard Worker     }
496*4bdc9457SAndroid Build Coastguard Worker   }
497*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X16,batch_lt_16)498*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X16, batch_lt_16) {
499*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
500*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 16; batch_size++) {
501*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
502*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
503*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x16);
504*4bdc9457SAndroid Build Coastguard Worker     }
505*4bdc9457SAndroid Build Coastguard Worker   }
506*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X16,batch_gt_16)507*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X16, batch_gt_16) {
508*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
509*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 17; batch_size < 32; batch_size++) {
510*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
511*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
512*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x16);
513*4bdc9457SAndroid Build Coastguard Worker     }
514*4bdc9457SAndroid Build Coastguard Worker   }
515*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X16,inplace)516*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X16, inplace) {
517*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
518*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
519*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
520*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
521*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
522*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x16);
523*4bdc9457SAndroid Build Coastguard Worker     }
524*4bdc9457SAndroid Build Coastguard Worker   }
525*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
526*4bdc9457SAndroid Build Coastguard Worker 
527*4bdc9457SAndroid Build Coastguard Worker 
528*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX_X32,batch_eq_32)529*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X32, batch_eq_32) {
530*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
531*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
532*4bdc9457SAndroid Build Coastguard Worker       .batch_size(32)
533*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx_x32);
534*4bdc9457SAndroid Build Coastguard Worker   }
535*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X32,batch_div_32)536*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X32, batch_div_32) {
537*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
538*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
539*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
540*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
541*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x32);
542*4bdc9457SAndroid Build Coastguard Worker     }
543*4bdc9457SAndroid Build Coastguard Worker   }
544*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X32,batch_lt_32)545*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X32, batch_lt_32) {
546*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
547*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 32; batch_size++) {
548*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
549*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
550*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x32);
551*4bdc9457SAndroid Build Coastguard Worker     }
552*4bdc9457SAndroid Build Coastguard Worker   }
553*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X32,batch_gt_32)554*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X32, batch_gt_32) {
555*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
556*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 33; batch_size < 64; batch_size++) {
557*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
558*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
559*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x32);
560*4bdc9457SAndroid Build Coastguard Worker     }
561*4bdc9457SAndroid Build Coastguard Worker   }
562*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X32,inplace)563*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X32, inplace) {
564*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
565*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
566*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
567*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
568*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
569*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x32);
570*4bdc9457SAndroid Build Coastguard Worker     }
571*4bdc9457SAndroid Build Coastguard Worker   }
572*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
573*4bdc9457SAndroid Build Coastguard Worker 
574*4bdc9457SAndroid Build Coastguard Worker 
575*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX_X48,batch_eq_48)576*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X48, batch_eq_48) {
577*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
578*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
579*4bdc9457SAndroid Build Coastguard Worker       .batch_size(48)
580*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx_x48);
581*4bdc9457SAndroid Build Coastguard Worker   }
582*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X48,batch_div_48)583*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X48, batch_div_48) {
584*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
585*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 96; batch_size < 480; batch_size += 48) {
586*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
587*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
588*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x48);
589*4bdc9457SAndroid Build Coastguard Worker     }
590*4bdc9457SAndroid Build Coastguard Worker   }
591*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X48,batch_lt_48)592*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X48, batch_lt_48) {
593*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
594*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 48; batch_size++) {
595*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
596*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
597*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x48);
598*4bdc9457SAndroid Build Coastguard Worker     }
599*4bdc9457SAndroid Build Coastguard Worker   }
600*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X48,batch_gt_48)601*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X48, batch_gt_48) {
602*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
603*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 49; batch_size < 96; batch_size++) {
604*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
605*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
606*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x48);
607*4bdc9457SAndroid Build Coastguard Worker     }
608*4bdc9457SAndroid Build Coastguard Worker   }
609*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X48,inplace)610*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X48, inplace) {
611*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
612*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 240; batch_size += 47) {
613*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
614*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
615*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
616*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x48);
617*4bdc9457SAndroid Build Coastguard Worker     }
618*4bdc9457SAndroid Build Coastguard Worker   }
619*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
620*4bdc9457SAndroid Build Coastguard Worker 
621*4bdc9457SAndroid Build Coastguard Worker 
622*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX_X64,batch_eq_64)623*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X64, batch_eq_64) {
624*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
625*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
626*4bdc9457SAndroid Build Coastguard Worker       .batch_size(64)
627*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx_x64);
628*4bdc9457SAndroid Build Coastguard Worker   }
629*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X64,batch_div_64)630*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X64, batch_div_64) {
631*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
632*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
633*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
634*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
635*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x64);
636*4bdc9457SAndroid Build Coastguard Worker     }
637*4bdc9457SAndroid Build Coastguard Worker   }
638*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X64,batch_lt_64)639*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X64, batch_lt_64) {
640*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
641*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 64; batch_size++) {
642*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
643*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
644*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x64);
645*4bdc9457SAndroid Build Coastguard Worker     }
646*4bdc9457SAndroid Build Coastguard Worker   }
647*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X64,batch_gt_64)648*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X64, batch_gt_64) {
649*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
650*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 65; batch_size < 128; batch_size++) {
651*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
652*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
653*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x64);
654*4bdc9457SAndroid Build Coastguard Worker     }
655*4bdc9457SAndroid Build Coastguard Worker   }
656*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX_X64,inplace)657*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX_X64, inplace) {
658*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX;
659*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
660*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
661*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
662*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
663*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx_x64);
664*4bdc9457SAndroid Build Coastguard Worker     }
665*4bdc9457SAndroid Build Coastguard Worker   }
666*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
667*4bdc9457SAndroid Build Coastguard Worker 
668*4bdc9457SAndroid Build Coastguard Worker 
669*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX2_X32,batch_eq_32)670*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X32, batch_eq_32) {
671*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
672*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
673*4bdc9457SAndroid Build Coastguard Worker       .batch_size(32)
674*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx2_x32);
675*4bdc9457SAndroid Build Coastguard Worker   }
676*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X32,batch_div_32)677*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X32, batch_div_32) {
678*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
679*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
680*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
681*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
682*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x32);
683*4bdc9457SAndroid Build Coastguard Worker     }
684*4bdc9457SAndroid Build Coastguard Worker   }
685*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X32,batch_lt_32)686*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X32, batch_lt_32) {
687*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
688*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 32; batch_size++) {
689*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
690*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
691*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x32);
692*4bdc9457SAndroid Build Coastguard Worker     }
693*4bdc9457SAndroid Build Coastguard Worker   }
694*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X32,batch_gt_32)695*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X32, batch_gt_32) {
696*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
697*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 33; batch_size < 64; batch_size++) {
698*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
699*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
700*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x32);
701*4bdc9457SAndroid Build Coastguard Worker     }
702*4bdc9457SAndroid Build Coastguard Worker   }
703*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X32,inplace)704*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X32, inplace) {
705*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
706*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
707*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
708*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
709*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
710*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x32);
711*4bdc9457SAndroid Build Coastguard Worker     }
712*4bdc9457SAndroid Build Coastguard Worker   }
713*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
714*4bdc9457SAndroid Build Coastguard Worker 
715*4bdc9457SAndroid Build Coastguard Worker 
716*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX2_X64,batch_eq_64)717*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X64, batch_eq_64) {
718*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
719*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
720*4bdc9457SAndroid Build Coastguard Worker       .batch_size(64)
721*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx2_x64);
722*4bdc9457SAndroid Build Coastguard Worker   }
723*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X64,batch_div_64)724*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X64, batch_div_64) {
725*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
726*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
727*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
728*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
729*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x64);
730*4bdc9457SAndroid Build Coastguard Worker     }
731*4bdc9457SAndroid Build Coastguard Worker   }
732*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X64,batch_lt_64)733*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X64, batch_lt_64) {
734*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
735*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 64; batch_size++) {
736*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
737*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
738*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x64);
739*4bdc9457SAndroid Build Coastguard Worker     }
740*4bdc9457SAndroid Build Coastguard Worker   }
741*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X64,batch_gt_64)742*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X64, batch_gt_64) {
743*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
744*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 65; batch_size < 128; batch_size++) {
745*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
746*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
747*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x64);
748*4bdc9457SAndroid Build Coastguard Worker     }
749*4bdc9457SAndroid Build Coastguard Worker   }
750*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X64,inplace)751*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X64, inplace) {
752*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
753*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
754*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
755*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
756*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
757*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x64);
758*4bdc9457SAndroid Build Coastguard Worker     }
759*4bdc9457SAndroid Build Coastguard Worker   }
760*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
761*4bdc9457SAndroid Build Coastguard Worker 
762*4bdc9457SAndroid Build Coastguard Worker 
763*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX2_X96,batch_eq_96)764*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X96, batch_eq_96) {
765*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
766*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
767*4bdc9457SAndroid Build Coastguard Worker       .batch_size(96)
768*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx2_x96);
769*4bdc9457SAndroid Build Coastguard Worker   }
770*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X96,batch_div_96)771*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X96, batch_div_96) {
772*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
773*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 192; batch_size < 960; batch_size += 96) {
774*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
775*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
776*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x96);
777*4bdc9457SAndroid Build Coastguard Worker     }
778*4bdc9457SAndroid Build Coastguard Worker   }
779*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X96,batch_lt_96)780*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X96, batch_lt_96) {
781*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
782*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 96; batch_size++) {
783*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
784*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
785*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x96);
786*4bdc9457SAndroid Build Coastguard Worker     }
787*4bdc9457SAndroid Build Coastguard Worker   }
788*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X96,batch_gt_96)789*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X96, batch_gt_96) {
790*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
791*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 97; batch_size < 192; batch_size++) {
792*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
793*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
794*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x96);
795*4bdc9457SAndroid Build Coastguard Worker     }
796*4bdc9457SAndroid Build Coastguard Worker   }
797*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X96,inplace)798*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X96, inplace) {
799*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
800*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 480; batch_size += 95) {
801*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
802*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
803*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
804*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x96);
805*4bdc9457SAndroid Build Coastguard Worker     }
806*4bdc9457SAndroid Build Coastguard Worker   }
807*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
808*4bdc9457SAndroid Build Coastguard Worker 
809*4bdc9457SAndroid Build Coastguard Worker 
810*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX2_X128,batch_eq_128)811*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X128, batch_eq_128) {
812*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
813*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
814*4bdc9457SAndroid Build Coastguard Worker       .batch_size(128)
815*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx2_x128);
816*4bdc9457SAndroid Build Coastguard Worker   }
817*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X128,batch_div_128)818*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X128, batch_div_128) {
819*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
820*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 256; batch_size < 1280; batch_size += 128) {
821*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
822*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
823*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x128);
824*4bdc9457SAndroid Build Coastguard Worker     }
825*4bdc9457SAndroid Build Coastguard Worker   }
826*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X128,batch_lt_128)827*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X128, batch_lt_128) {
828*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
829*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 128; batch_size++) {
830*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
831*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
832*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x128);
833*4bdc9457SAndroid Build Coastguard Worker     }
834*4bdc9457SAndroid Build Coastguard Worker   }
835*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X128,batch_gt_128)836*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X128, batch_gt_128) {
837*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
838*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 129; batch_size < 256; batch_size++) {
839*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
840*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
841*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x128);
842*4bdc9457SAndroid Build Coastguard Worker     }
843*4bdc9457SAndroid Build Coastguard Worker   }
844*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX2_X128,inplace)845*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX2_X128, inplace) {
846*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX2;
847*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 640; batch_size += 127) {
848*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
849*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
850*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
851*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx2_x128);
852*4bdc9457SAndroid Build Coastguard Worker     }
853*4bdc9457SAndroid Build Coastguard Worker   }
854*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
855*4bdc9457SAndroid Build Coastguard Worker 
856*4bdc9457SAndroid Build Coastguard Worker 
857*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX512SKX_VPSHUFB_X64,batch_eq_64)858*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X64, batch_eq_64) {
859*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
860*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
861*4bdc9457SAndroid Build Coastguard Worker       .batch_size(64)
862*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x64);
863*4bdc9457SAndroid Build Coastguard Worker   }
864*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X64,batch_div_64)865*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X64, batch_div_64) {
866*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
867*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
868*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
869*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
870*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x64);
871*4bdc9457SAndroid Build Coastguard Worker     }
872*4bdc9457SAndroid Build Coastguard Worker   }
873*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X64,batch_lt_64)874*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X64, batch_lt_64) {
875*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
876*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 64; batch_size++) {
877*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
878*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
879*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x64);
880*4bdc9457SAndroid Build Coastguard Worker     }
881*4bdc9457SAndroid Build Coastguard Worker   }
882*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X64,batch_gt_64)883*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X64, batch_gt_64) {
884*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
885*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 65; batch_size < 128; batch_size++) {
886*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
887*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
888*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x64);
889*4bdc9457SAndroid Build Coastguard Worker     }
890*4bdc9457SAndroid Build Coastguard Worker   }
891*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X64,inplace)892*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X64, inplace) {
893*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
894*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
895*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
896*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
897*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
898*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x64);
899*4bdc9457SAndroid Build Coastguard Worker     }
900*4bdc9457SAndroid Build Coastguard Worker   }
901*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
902*4bdc9457SAndroid Build Coastguard Worker 
903*4bdc9457SAndroid Build Coastguard Worker 
904*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX512SKX_VPSHUFB_X128,batch_eq_128)905*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X128, batch_eq_128) {
906*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
907*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
908*4bdc9457SAndroid Build Coastguard Worker       .batch_size(128)
909*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x128);
910*4bdc9457SAndroid Build Coastguard Worker   }
911*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X128,batch_div_128)912*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X128, batch_div_128) {
913*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
914*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 256; batch_size < 1280; batch_size += 128) {
915*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
916*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
917*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x128);
918*4bdc9457SAndroid Build Coastguard Worker     }
919*4bdc9457SAndroid Build Coastguard Worker   }
920*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X128,batch_lt_128)921*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X128, batch_lt_128) {
922*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
923*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 128; batch_size++) {
924*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
925*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
926*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x128);
927*4bdc9457SAndroid Build Coastguard Worker     }
928*4bdc9457SAndroid Build Coastguard Worker   }
929*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X128,batch_gt_128)930*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X128, batch_gt_128) {
931*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
932*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 129; batch_size < 256; batch_size++) {
933*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
934*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
935*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x128);
936*4bdc9457SAndroid Build Coastguard Worker     }
937*4bdc9457SAndroid Build Coastguard Worker   }
938*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X128,inplace)939*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X128, inplace) {
940*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
941*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 640; batch_size += 127) {
942*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
943*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
944*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
945*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x128);
946*4bdc9457SAndroid Build Coastguard Worker     }
947*4bdc9457SAndroid Build Coastguard Worker   }
948*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
949*4bdc9457SAndroid Build Coastguard Worker 
950*4bdc9457SAndroid Build Coastguard Worker 
951*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX512SKX_VPSHUFB_X192,batch_eq_192)952*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X192, batch_eq_192) {
953*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
954*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
955*4bdc9457SAndroid Build Coastguard Worker       .batch_size(192)
956*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x192);
957*4bdc9457SAndroid Build Coastguard Worker   }
958*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X192,batch_div_192)959*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X192, batch_div_192) {
960*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
961*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 384; batch_size < 1920; batch_size += 192) {
962*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
963*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
964*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x192);
965*4bdc9457SAndroid Build Coastguard Worker     }
966*4bdc9457SAndroid Build Coastguard Worker   }
967*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X192,batch_lt_192)968*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X192, batch_lt_192) {
969*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
970*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 192; batch_size++) {
971*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
972*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
973*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x192);
974*4bdc9457SAndroid Build Coastguard Worker     }
975*4bdc9457SAndroid Build Coastguard Worker   }
976*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X192,batch_gt_192)977*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X192, batch_gt_192) {
978*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
979*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 193; batch_size < 384; batch_size++) {
980*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
981*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
982*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x192);
983*4bdc9457SAndroid Build Coastguard Worker     }
984*4bdc9457SAndroid Build Coastguard Worker   }
985*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X192,inplace)986*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X192, inplace) {
987*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
988*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 960; batch_size += 191) {
989*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
990*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
991*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
992*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x192);
993*4bdc9457SAndroid Build Coastguard Worker     }
994*4bdc9457SAndroid Build Coastguard Worker   }
995*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
996*4bdc9457SAndroid Build Coastguard Worker 
997*4bdc9457SAndroid Build Coastguard Worker 
998*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X8_LUT__AVX512SKX_VPSHUFB_X256,batch_eq_256)999*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X256, batch_eq_256) {
1000*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
1001*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
1002*4bdc9457SAndroid Build Coastguard Worker       .batch_size(256)
1003*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x256);
1004*4bdc9457SAndroid Build Coastguard Worker   }
1005*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X256,batch_div_256)1006*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X256, batch_div_256) {
1007*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
1008*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 512; batch_size < 2560; batch_size += 256) {
1009*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1010*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1011*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x256);
1012*4bdc9457SAndroid Build Coastguard Worker     }
1013*4bdc9457SAndroid Build Coastguard Worker   }
1014*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X256,batch_lt_256)1015*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X256, batch_lt_256) {
1016*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
1017*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 256; batch_size++) {
1018*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1019*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1020*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x256);
1021*4bdc9457SAndroid Build Coastguard Worker     }
1022*4bdc9457SAndroid Build Coastguard Worker   }
1023*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X256,batch_gt_256)1024*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X256, batch_gt_256) {
1025*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
1026*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 257; batch_size < 512; batch_size++) {
1027*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1028*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1029*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x256);
1030*4bdc9457SAndroid Build Coastguard Worker     }
1031*4bdc9457SAndroid Build Coastguard Worker   }
1032*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__AVX512SKX_VPSHUFB_X256,inplace)1033*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__AVX512SKX_VPSHUFB_X256, inplace) {
1034*4bdc9457SAndroid Build Coastguard Worker     TEST_REQUIRES_X86_AVX512SKX;
1035*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 1280; batch_size += 255) {
1036*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1037*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1038*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
1039*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__avx512skx_vpshufb_x256);
1040*4bdc9457SAndroid Build Coastguard Worker     }
1041*4bdc9457SAndroid Build Coastguard Worker   }
1042*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_X86 || XNN_ARCH_X86_64
1043*4bdc9457SAndroid Build Coastguard Worker 
1044*4bdc9457SAndroid Build Coastguard Worker 
1045*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(X8_LUT__WASMSIMD_X16,batch_eq_16)1046*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X16, batch_eq_16) {
1047*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
1048*4bdc9457SAndroid Build Coastguard Worker       .batch_size(16)
1049*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__wasmsimd_x16);
1050*4bdc9457SAndroid Build Coastguard Worker   }
1051*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X16,batch_div_16)1052*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X16, batch_div_16) {
1053*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
1054*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1055*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1056*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x16);
1057*4bdc9457SAndroid Build Coastguard Worker     }
1058*4bdc9457SAndroid Build Coastguard Worker   }
1059*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X16,batch_lt_16)1060*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X16, batch_lt_16) {
1061*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 16; batch_size++) {
1062*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1063*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1064*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x16);
1065*4bdc9457SAndroid Build Coastguard Worker     }
1066*4bdc9457SAndroid Build Coastguard Worker   }
1067*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X16,batch_gt_16)1068*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X16, batch_gt_16) {
1069*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 17; batch_size < 32; batch_size++) {
1070*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1071*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1072*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x16);
1073*4bdc9457SAndroid Build Coastguard Worker     }
1074*4bdc9457SAndroid Build Coastguard Worker   }
1075*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X16,inplace)1076*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X16, inplace) {
1077*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
1078*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1079*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1080*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
1081*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x16);
1082*4bdc9457SAndroid Build Coastguard Worker     }
1083*4bdc9457SAndroid Build Coastguard Worker   }
1084*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
1085*4bdc9457SAndroid Build Coastguard Worker 
1086*4bdc9457SAndroid Build Coastguard Worker 
1087*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(X8_LUT__WASMSIMD_X32,batch_eq_32)1088*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X32, batch_eq_32) {
1089*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
1090*4bdc9457SAndroid Build Coastguard Worker       .batch_size(32)
1091*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__wasmsimd_x32);
1092*4bdc9457SAndroid Build Coastguard Worker   }
1093*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X32,batch_div_32)1094*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X32, batch_div_32) {
1095*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 64; batch_size < 320; batch_size += 32) {
1096*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1097*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1098*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x32);
1099*4bdc9457SAndroid Build Coastguard Worker     }
1100*4bdc9457SAndroid Build Coastguard Worker   }
1101*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X32,batch_lt_32)1102*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X32, batch_lt_32) {
1103*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 32; batch_size++) {
1104*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1105*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1106*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x32);
1107*4bdc9457SAndroid Build Coastguard Worker     }
1108*4bdc9457SAndroid Build Coastguard Worker   }
1109*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X32,batch_gt_32)1110*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X32, batch_gt_32) {
1111*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 33; batch_size < 64; batch_size++) {
1112*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1113*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1114*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x32);
1115*4bdc9457SAndroid Build Coastguard Worker     }
1116*4bdc9457SAndroid Build Coastguard Worker   }
1117*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X32,inplace)1118*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X32, inplace) {
1119*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 160; batch_size += 31) {
1120*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1121*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1122*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
1123*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x32);
1124*4bdc9457SAndroid Build Coastguard Worker     }
1125*4bdc9457SAndroid Build Coastguard Worker   }
1126*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
1127*4bdc9457SAndroid Build Coastguard Worker 
1128*4bdc9457SAndroid Build Coastguard Worker 
1129*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(X8_LUT__WASMSIMD_X48,batch_eq_48)1130*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X48, batch_eq_48) {
1131*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
1132*4bdc9457SAndroid Build Coastguard Worker       .batch_size(48)
1133*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__wasmsimd_x48);
1134*4bdc9457SAndroid Build Coastguard Worker   }
1135*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X48,batch_div_48)1136*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X48, batch_div_48) {
1137*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 96; batch_size < 480; batch_size += 48) {
1138*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1139*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1140*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x48);
1141*4bdc9457SAndroid Build Coastguard Worker     }
1142*4bdc9457SAndroid Build Coastguard Worker   }
1143*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X48,batch_lt_48)1144*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X48, batch_lt_48) {
1145*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 48; batch_size++) {
1146*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1147*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1148*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x48);
1149*4bdc9457SAndroid Build Coastguard Worker     }
1150*4bdc9457SAndroid Build Coastguard Worker   }
1151*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X48,batch_gt_48)1152*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X48, batch_gt_48) {
1153*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 49; batch_size < 96; batch_size++) {
1154*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1155*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1156*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x48);
1157*4bdc9457SAndroid Build Coastguard Worker     }
1158*4bdc9457SAndroid Build Coastguard Worker   }
1159*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X48,inplace)1160*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X48, inplace) {
1161*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 240; batch_size += 47) {
1162*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1163*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1164*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
1165*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x48);
1166*4bdc9457SAndroid Build Coastguard Worker     }
1167*4bdc9457SAndroid Build Coastguard Worker   }
1168*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
1169*4bdc9457SAndroid Build Coastguard Worker 
1170*4bdc9457SAndroid Build Coastguard Worker 
1171*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
TEST(X8_LUT__WASMSIMD_X64,batch_eq_64)1172*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X64, batch_eq_64) {
1173*4bdc9457SAndroid Build Coastguard Worker     LUTMicrokernelTester()
1174*4bdc9457SAndroid Build Coastguard Worker       .batch_size(64)
1175*4bdc9457SAndroid Build Coastguard Worker       .Test(xnn_x8_lut_ukernel__wasmsimd_x64);
1176*4bdc9457SAndroid Build Coastguard Worker   }
1177*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X64,batch_div_64)1178*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X64, batch_div_64) {
1179*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 128; batch_size < 640; batch_size += 64) {
1180*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1181*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1182*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x64);
1183*4bdc9457SAndroid Build Coastguard Worker     }
1184*4bdc9457SAndroid Build Coastguard Worker   }
1185*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X64,batch_lt_64)1186*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X64, batch_lt_64) {
1187*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size < 64; batch_size++) {
1188*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1189*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1190*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x64);
1191*4bdc9457SAndroid Build Coastguard Worker     }
1192*4bdc9457SAndroid Build Coastguard Worker   }
1193*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X64,batch_gt_64)1194*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X64, batch_gt_64) {
1195*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 65; batch_size < 128; batch_size++) {
1196*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1197*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1198*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x64);
1199*4bdc9457SAndroid Build Coastguard Worker     }
1200*4bdc9457SAndroid Build Coastguard Worker   }
1201*4bdc9457SAndroid Build Coastguard Worker 
TEST(X8_LUT__WASMSIMD_X64,inplace)1202*4bdc9457SAndroid Build Coastguard Worker   TEST(X8_LUT__WASMSIMD_X64, inplace) {
1203*4bdc9457SAndroid Build Coastguard Worker     for (size_t batch_size = 1; batch_size <= 320; batch_size += 63) {
1204*4bdc9457SAndroid Build Coastguard Worker       LUTMicrokernelTester()
1205*4bdc9457SAndroid Build Coastguard Worker         .batch_size(batch_size)
1206*4bdc9457SAndroid Build Coastguard Worker         .inplace(true)
1207*4bdc9457SAndroid Build Coastguard Worker         .Test(xnn_x8_lut_ukernel__wasmsimd_x64);
1208*4bdc9457SAndroid Build Coastguard Worker     }
1209*4bdc9457SAndroid Build Coastguard Worker   }
1210*4bdc9457SAndroid Build Coastguard Worker #endif  // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
1211