1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC
2*4bdc9457SAndroid Build Coastguard Worker //
3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
5*4bdc9457SAndroid Build Coastguard Worker
6*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h>
7*4bdc9457SAndroid Build Coastguard Worker
8*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h>
9*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/isa-checks.h>
10*4bdc9457SAndroid Build Coastguard Worker
11*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/zip.h>
12*4bdc9457SAndroid Build Coastguard Worker #include "zip-microkernel-tester.h"
13*4bdc9457SAndroid Build Coastguard Worker
14*4bdc9457SAndroid Build Coastguard Worker
15*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(X32_ZIP_X2__NEON,n_eq_4)16*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__NEON, n_eq_4) {
17*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
18*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
19*4bdc9457SAndroid Build Coastguard Worker .n(4)
20*4bdc9457SAndroid Build Coastguard Worker .g(2)
21*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__neon);
22*4bdc9457SAndroid Build Coastguard Worker }
23*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__NEON,n_div_4)24*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__NEON, n_div_4) {
25*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
26*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
27*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
28*4bdc9457SAndroid Build Coastguard Worker .n(n)
29*4bdc9457SAndroid Build Coastguard Worker .g(2)
30*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__neon);
31*4bdc9457SAndroid Build Coastguard Worker }
32*4bdc9457SAndroid Build Coastguard Worker }
33*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__NEON,n_gt_4)34*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__NEON, n_gt_4) {
35*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
36*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
37*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
38*4bdc9457SAndroid Build Coastguard Worker .n(n)
39*4bdc9457SAndroid Build Coastguard Worker .g(2)
40*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__neon);
41*4bdc9457SAndroid Build Coastguard Worker }
42*4bdc9457SAndroid Build Coastguard Worker }
43*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__NEON,n_lt_4)44*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__NEON, n_lt_4) {
45*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
46*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
47*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
48*4bdc9457SAndroid Build Coastguard Worker .n(n)
49*4bdc9457SAndroid Build Coastguard Worker .g(2)
50*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__neon);
51*4bdc9457SAndroid Build Coastguard Worker }
52*4bdc9457SAndroid Build Coastguard Worker }
53*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__NEON,n_eq_4)54*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__NEON, n_eq_4) {
55*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
56*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
57*4bdc9457SAndroid Build Coastguard Worker .n(4)
58*4bdc9457SAndroid Build Coastguard Worker .g(3)
59*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__neon);
60*4bdc9457SAndroid Build Coastguard Worker }
61*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__NEON,n_div_4)62*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__NEON, n_div_4) {
63*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
64*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
65*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
66*4bdc9457SAndroid Build Coastguard Worker .n(n)
67*4bdc9457SAndroid Build Coastguard Worker .g(3)
68*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__neon);
69*4bdc9457SAndroid Build Coastguard Worker }
70*4bdc9457SAndroid Build Coastguard Worker }
71*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__NEON,n_gt_4)72*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__NEON, n_gt_4) {
73*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
74*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
75*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
76*4bdc9457SAndroid Build Coastguard Worker .n(n)
77*4bdc9457SAndroid Build Coastguard Worker .g(3)
78*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__neon);
79*4bdc9457SAndroid Build Coastguard Worker }
80*4bdc9457SAndroid Build Coastguard Worker }
81*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__NEON,n_lt_4)82*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__NEON, n_lt_4) {
83*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
84*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
85*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
86*4bdc9457SAndroid Build Coastguard Worker .n(n)
87*4bdc9457SAndroid Build Coastguard Worker .g(3)
88*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__neon);
89*4bdc9457SAndroid Build Coastguard Worker }
90*4bdc9457SAndroid Build Coastguard Worker }
91*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__NEON,n_eq_4)92*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__NEON, n_eq_4) {
93*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
94*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
95*4bdc9457SAndroid Build Coastguard Worker .n(4)
96*4bdc9457SAndroid Build Coastguard Worker .g(4)
97*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__neon);
98*4bdc9457SAndroid Build Coastguard Worker }
99*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__NEON,n_div_4)100*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__NEON, n_div_4) {
101*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
102*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
103*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
104*4bdc9457SAndroid Build Coastguard Worker .n(n)
105*4bdc9457SAndroid Build Coastguard Worker .g(4)
106*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__neon);
107*4bdc9457SAndroid Build Coastguard Worker }
108*4bdc9457SAndroid Build Coastguard Worker }
109*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__NEON,n_gt_4)110*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__NEON, n_gt_4) {
111*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
112*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
113*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
114*4bdc9457SAndroid Build Coastguard Worker .n(n)
115*4bdc9457SAndroid Build Coastguard Worker .g(4)
116*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__neon);
117*4bdc9457SAndroid Build Coastguard Worker }
118*4bdc9457SAndroid Build Coastguard Worker }
119*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__NEON,n_lt_4)120*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__NEON, n_lt_4) {
121*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
122*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
123*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
124*4bdc9457SAndroid Build Coastguard Worker .n(n)
125*4bdc9457SAndroid Build Coastguard Worker .g(4)
126*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__neon);
127*4bdc9457SAndroid Build Coastguard Worker }
128*4bdc9457SAndroid Build Coastguard Worker }
129*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_eq_4_m_eq_4)130*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_eq_4_m_eq_4) {
131*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
132*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
133*4bdc9457SAndroid Build Coastguard Worker .n(4)
134*4bdc9457SAndroid Build Coastguard Worker .g(4)
135*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
136*4bdc9457SAndroid Build Coastguard Worker }
137*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_eq_4_m_div_4)138*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_eq_4_m_div_4) {
139*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
140*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
141*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
142*4bdc9457SAndroid Build Coastguard Worker .n(4)
143*4bdc9457SAndroid Build Coastguard Worker .g(g)
144*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
145*4bdc9457SAndroid Build Coastguard Worker }
146*4bdc9457SAndroid Build Coastguard Worker }
147*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_eq_4_m_gt_4)148*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_eq_4_m_gt_4) {
149*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
150*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
151*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
152*4bdc9457SAndroid Build Coastguard Worker .n(4)
153*4bdc9457SAndroid Build Coastguard Worker .g(g)
154*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
155*4bdc9457SAndroid Build Coastguard Worker }
156*4bdc9457SAndroid Build Coastguard Worker }
157*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_div_4_m_eq_4)158*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_div_4_m_eq_4) {
159*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
160*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
161*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
162*4bdc9457SAndroid Build Coastguard Worker .n(n)
163*4bdc9457SAndroid Build Coastguard Worker .g(4)
164*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
165*4bdc9457SAndroid Build Coastguard Worker }
166*4bdc9457SAndroid Build Coastguard Worker }
167*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_div_4_m_div_4)168*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_div_4_m_div_4) {
169*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
170*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
171*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
172*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
173*4bdc9457SAndroid Build Coastguard Worker .n(n)
174*4bdc9457SAndroid Build Coastguard Worker .g(g)
175*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
176*4bdc9457SAndroid Build Coastguard Worker }
177*4bdc9457SAndroid Build Coastguard Worker }
178*4bdc9457SAndroid Build Coastguard Worker }
179*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_div_4_m_gt_4)180*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_div_4_m_gt_4) {
181*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
182*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
183*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
184*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
185*4bdc9457SAndroid Build Coastguard Worker .n(n)
186*4bdc9457SAndroid Build Coastguard Worker .g(g)
187*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
188*4bdc9457SAndroid Build Coastguard Worker }
189*4bdc9457SAndroid Build Coastguard Worker }
190*4bdc9457SAndroid Build Coastguard Worker }
191*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_gt_4_m_eq_4)192*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_gt_4_m_eq_4) {
193*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
194*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
195*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
196*4bdc9457SAndroid Build Coastguard Worker .n(n)
197*4bdc9457SAndroid Build Coastguard Worker .g(4)
198*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
199*4bdc9457SAndroid Build Coastguard Worker }
200*4bdc9457SAndroid Build Coastguard Worker }
201*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_gt_4_m_div_4)202*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_gt_4_m_div_4) {
203*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
204*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
205*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
206*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
207*4bdc9457SAndroid Build Coastguard Worker .n(n)
208*4bdc9457SAndroid Build Coastguard Worker .g(g)
209*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
210*4bdc9457SAndroid Build Coastguard Worker }
211*4bdc9457SAndroid Build Coastguard Worker }
212*4bdc9457SAndroid Build Coastguard Worker }
213*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_gt_4_m_gt_4)214*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_gt_4_m_gt_4) {
215*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
216*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
217*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
218*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
219*4bdc9457SAndroid Build Coastguard Worker .n(n)
220*4bdc9457SAndroid Build Coastguard Worker .g(g)
221*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
222*4bdc9457SAndroid Build Coastguard Worker }
223*4bdc9457SAndroid Build Coastguard Worker }
224*4bdc9457SAndroid Build Coastguard Worker }
225*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_lt_4_m_eq_4)226*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_lt_4_m_eq_4) {
227*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
228*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
229*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
230*4bdc9457SAndroid Build Coastguard Worker .n(n)
231*4bdc9457SAndroid Build Coastguard Worker .g(4)
232*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
233*4bdc9457SAndroid Build Coastguard Worker }
234*4bdc9457SAndroid Build Coastguard Worker }
235*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_lt_4_m_div_4)236*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_lt_4_m_div_4) {
237*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
238*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
239*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
240*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
241*4bdc9457SAndroid Build Coastguard Worker .n(n)
242*4bdc9457SAndroid Build Coastguard Worker .g(g)
243*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
244*4bdc9457SAndroid Build Coastguard Worker }
245*4bdc9457SAndroid Build Coastguard Worker }
246*4bdc9457SAndroid Build Coastguard Worker }
247*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__NEON,n_lt_4_m_gt_4)248*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__NEON, n_lt_4_m_gt_4) {
249*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON;
250*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
251*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
252*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
253*4bdc9457SAndroid Build Coastguard Worker .n(n)
254*4bdc9457SAndroid Build Coastguard Worker .g(g)
255*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__neon);
256*4bdc9457SAndroid Build Coastguard Worker }
257*4bdc9457SAndroid Build Coastguard Worker }
258*4bdc9457SAndroid Build Coastguard Worker }
259*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
260*4bdc9457SAndroid Build Coastguard Worker
261*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64
TEST(X32_ZIP_X2__SSE2,n_eq_4)262*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SSE2, n_eq_4) {
263*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
264*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
265*4bdc9457SAndroid Build Coastguard Worker .n(4)
266*4bdc9457SAndroid Build Coastguard Worker .g(2)
267*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__sse2);
268*4bdc9457SAndroid Build Coastguard Worker }
269*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__SSE2,n_div_4)270*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SSE2, n_div_4) {
271*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
272*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
273*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
274*4bdc9457SAndroid Build Coastguard Worker .n(n)
275*4bdc9457SAndroid Build Coastguard Worker .g(2)
276*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__sse2);
277*4bdc9457SAndroid Build Coastguard Worker }
278*4bdc9457SAndroid Build Coastguard Worker }
279*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__SSE2,n_gt_4)280*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SSE2, n_gt_4) {
281*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
282*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
283*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
284*4bdc9457SAndroid Build Coastguard Worker .n(n)
285*4bdc9457SAndroid Build Coastguard Worker .g(2)
286*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__sse2);
287*4bdc9457SAndroid Build Coastguard Worker }
288*4bdc9457SAndroid Build Coastguard Worker }
289*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__SSE2,n_lt_4)290*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SSE2, n_lt_4) {
291*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
292*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
293*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
294*4bdc9457SAndroid Build Coastguard Worker .n(n)
295*4bdc9457SAndroid Build Coastguard Worker .g(2)
296*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__sse2);
297*4bdc9457SAndroid Build Coastguard Worker }
298*4bdc9457SAndroid Build Coastguard Worker }
299*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SSE2,n_eq_4)300*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SSE2, n_eq_4) {
301*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
302*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
303*4bdc9457SAndroid Build Coastguard Worker .n(4)
304*4bdc9457SAndroid Build Coastguard Worker .g(3)
305*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__sse2);
306*4bdc9457SAndroid Build Coastguard Worker }
307*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SSE2,n_div_4)308*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SSE2, n_div_4) {
309*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
310*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
311*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
312*4bdc9457SAndroid Build Coastguard Worker .n(n)
313*4bdc9457SAndroid Build Coastguard Worker .g(3)
314*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__sse2);
315*4bdc9457SAndroid Build Coastguard Worker }
316*4bdc9457SAndroid Build Coastguard Worker }
317*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SSE2,n_gt_4)318*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SSE2, n_gt_4) {
319*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
320*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
321*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
322*4bdc9457SAndroid Build Coastguard Worker .n(n)
323*4bdc9457SAndroid Build Coastguard Worker .g(3)
324*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__sse2);
325*4bdc9457SAndroid Build Coastguard Worker }
326*4bdc9457SAndroid Build Coastguard Worker }
327*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SSE2,n_lt_4)328*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SSE2, n_lt_4) {
329*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
330*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
331*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
332*4bdc9457SAndroid Build Coastguard Worker .n(n)
333*4bdc9457SAndroid Build Coastguard Worker .g(3)
334*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__sse2);
335*4bdc9457SAndroid Build Coastguard Worker }
336*4bdc9457SAndroid Build Coastguard Worker }
337*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SSE2,n_eq_4)338*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SSE2, n_eq_4) {
339*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
340*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
341*4bdc9457SAndroid Build Coastguard Worker .n(4)
342*4bdc9457SAndroid Build Coastguard Worker .g(4)
343*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__sse2);
344*4bdc9457SAndroid Build Coastguard Worker }
345*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SSE2,n_div_4)346*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SSE2, n_div_4) {
347*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
348*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
349*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
350*4bdc9457SAndroid Build Coastguard Worker .n(n)
351*4bdc9457SAndroid Build Coastguard Worker .g(4)
352*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__sse2);
353*4bdc9457SAndroid Build Coastguard Worker }
354*4bdc9457SAndroid Build Coastguard Worker }
355*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SSE2,n_gt_4)356*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SSE2, n_gt_4) {
357*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
358*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
359*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
360*4bdc9457SAndroid Build Coastguard Worker .n(n)
361*4bdc9457SAndroid Build Coastguard Worker .g(4)
362*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__sse2);
363*4bdc9457SAndroid Build Coastguard Worker }
364*4bdc9457SAndroid Build Coastguard Worker }
365*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SSE2,n_lt_4)366*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SSE2, n_lt_4) {
367*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
368*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
369*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
370*4bdc9457SAndroid Build Coastguard Worker .n(n)
371*4bdc9457SAndroid Build Coastguard Worker .g(4)
372*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__sse2);
373*4bdc9457SAndroid Build Coastguard Worker }
374*4bdc9457SAndroid Build Coastguard Worker }
375*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_eq_4_m_eq_4)376*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_eq_4_m_eq_4) {
377*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
378*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
379*4bdc9457SAndroid Build Coastguard Worker .n(4)
380*4bdc9457SAndroid Build Coastguard Worker .g(4)
381*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
382*4bdc9457SAndroid Build Coastguard Worker }
383*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_eq_4_m_div_4)384*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_eq_4_m_div_4) {
385*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
386*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
387*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
388*4bdc9457SAndroid Build Coastguard Worker .n(4)
389*4bdc9457SAndroid Build Coastguard Worker .g(g)
390*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
391*4bdc9457SAndroid Build Coastguard Worker }
392*4bdc9457SAndroid Build Coastguard Worker }
393*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_eq_4_m_gt_4)394*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_eq_4_m_gt_4) {
395*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
396*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
397*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
398*4bdc9457SAndroid Build Coastguard Worker .n(4)
399*4bdc9457SAndroid Build Coastguard Worker .g(g)
400*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
401*4bdc9457SAndroid Build Coastguard Worker }
402*4bdc9457SAndroid Build Coastguard Worker }
403*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_div_4_m_eq_4)404*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_div_4_m_eq_4) {
405*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
406*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
407*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
408*4bdc9457SAndroid Build Coastguard Worker .n(n)
409*4bdc9457SAndroid Build Coastguard Worker .g(4)
410*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
411*4bdc9457SAndroid Build Coastguard Worker }
412*4bdc9457SAndroid Build Coastguard Worker }
413*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_div_4_m_div_4)414*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_div_4_m_div_4) {
415*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
416*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
417*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
418*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
419*4bdc9457SAndroid Build Coastguard Worker .n(n)
420*4bdc9457SAndroid Build Coastguard Worker .g(g)
421*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
422*4bdc9457SAndroid Build Coastguard Worker }
423*4bdc9457SAndroid Build Coastguard Worker }
424*4bdc9457SAndroid Build Coastguard Worker }
425*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_div_4_m_gt_4)426*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_div_4_m_gt_4) {
427*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
428*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
429*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
430*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
431*4bdc9457SAndroid Build Coastguard Worker .n(n)
432*4bdc9457SAndroid Build Coastguard Worker .g(g)
433*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
434*4bdc9457SAndroid Build Coastguard Worker }
435*4bdc9457SAndroid Build Coastguard Worker }
436*4bdc9457SAndroid Build Coastguard Worker }
437*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_gt_4_m_eq_4)438*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_gt_4_m_eq_4) {
439*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
440*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
441*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
442*4bdc9457SAndroid Build Coastguard Worker .n(n)
443*4bdc9457SAndroid Build Coastguard Worker .g(4)
444*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
445*4bdc9457SAndroid Build Coastguard Worker }
446*4bdc9457SAndroid Build Coastguard Worker }
447*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_gt_4_m_div_4)448*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_gt_4_m_div_4) {
449*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
450*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
451*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
452*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
453*4bdc9457SAndroid Build Coastguard Worker .n(n)
454*4bdc9457SAndroid Build Coastguard Worker .g(g)
455*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
456*4bdc9457SAndroid Build Coastguard Worker }
457*4bdc9457SAndroid Build Coastguard Worker }
458*4bdc9457SAndroid Build Coastguard Worker }
459*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_gt_4_m_gt_4)460*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_gt_4_m_gt_4) {
461*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
462*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
463*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
464*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
465*4bdc9457SAndroid Build Coastguard Worker .n(n)
466*4bdc9457SAndroid Build Coastguard Worker .g(g)
467*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
468*4bdc9457SAndroid Build Coastguard Worker }
469*4bdc9457SAndroid Build Coastguard Worker }
470*4bdc9457SAndroid Build Coastguard Worker }
471*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_lt_4_m_eq_4)472*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_lt_4_m_eq_4) {
473*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
474*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
475*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
476*4bdc9457SAndroid Build Coastguard Worker .n(n)
477*4bdc9457SAndroid Build Coastguard Worker .g(4)
478*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
479*4bdc9457SAndroid Build Coastguard Worker }
480*4bdc9457SAndroid Build Coastguard Worker }
481*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_lt_4_m_div_4)482*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_lt_4_m_div_4) {
483*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
484*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
485*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
486*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
487*4bdc9457SAndroid Build Coastguard Worker .n(n)
488*4bdc9457SAndroid Build Coastguard Worker .g(g)
489*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
490*4bdc9457SAndroid Build Coastguard Worker }
491*4bdc9457SAndroid Build Coastguard Worker }
492*4bdc9457SAndroid Build Coastguard Worker }
493*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SSE2,n_lt_4_m_gt_4)494*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SSE2, n_lt_4_m_gt_4) {
495*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_SSE2;
496*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
497*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
498*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
499*4bdc9457SAndroid Build Coastguard Worker .n(n)
500*4bdc9457SAndroid Build Coastguard Worker .g(g)
501*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__sse2);
502*4bdc9457SAndroid Build Coastguard Worker }
503*4bdc9457SAndroid Build Coastguard Worker }
504*4bdc9457SAndroid Build Coastguard Worker }
505*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
506*4bdc9457SAndroid Build Coastguard Worker
507*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_WASMSIMD
TEST(X32_ZIP_X2__WASMSIMD,n_eq_4)508*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__WASMSIMD, n_eq_4) {
509*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
510*4bdc9457SAndroid Build Coastguard Worker .n(4)
511*4bdc9457SAndroid Build Coastguard Worker .g(2)
512*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__wasmsimd);
513*4bdc9457SAndroid Build Coastguard Worker }
514*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__WASMSIMD,n_div_4)515*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__WASMSIMD, n_div_4) {
516*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
517*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
518*4bdc9457SAndroid Build Coastguard Worker .n(n)
519*4bdc9457SAndroid Build Coastguard Worker .g(2)
520*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__wasmsimd);
521*4bdc9457SAndroid Build Coastguard Worker }
522*4bdc9457SAndroid Build Coastguard Worker }
523*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__WASMSIMD,n_gt_4)524*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__WASMSIMD, n_gt_4) {
525*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
526*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
527*4bdc9457SAndroid Build Coastguard Worker .n(n)
528*4bdc9457SAndroid Build Coastguard Worker .g(2)
529*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__wasmsimd);
530*4bdc9457SAndroid Build Coastguard Worker }
531*4bdc9457SAndroid Build Coastguard Worker }
532*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__WASMSIMD,n_lt_4)533*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__WASMSIMD, n_lt_4) {
534*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
535*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
536*4bdc9457SAndroid Build Coastguard Worker .n(n)
537*4bdc9457SAndroid Build Coastguard Worker .g(2)
538*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__wasmsimd);
539*4bdc9457SAndroid Build Coastguard Worker }
540*4bdc9457SAndroid Build Coastguard Worker }
541*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__WASMSIMD,n_eq_4)542*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__WASMSIMD, n_eq_4) {
543*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
544*4bdc9457SAndroid Build Coastguard Worker .n(4)
545*4bdc9457SAndroid Build Coastguard Worker .g(3)
546*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__wasmsimd);
547*4bdc9457SAndroid Build Coastguard Worker }
548*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__WASMSIMD,n_div_4)549*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__WASMSIMD, n_div_4) {
550*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
551*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
552*4bdc9457SAndroid Build Coastguard Worker .n(n)
553*4bdc9457SAndroid Build Coastguard Worker .g(3)
554*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__wasmsimd);
555*4bdc9457SAndroid Build Coastguard Worker }
556*4bdc9457SAndroid Build Coastguard Worker }
557*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__WASMSIMD,n_gt_4)558*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__WASMSIMD, n_gt_4) {
559*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
560*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
561*4bdc9457SAndroid Build Coastguard Worker .n(n)
562*4bdc9457SAndroid Build Coastguard Worker .g(3)
563*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__wasmsimd);
564*4bdc9457SAndroid Build Coastguard Worker }
565*4bdc9457SAndroid Build Coastguard Worker }
566*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__WASMSIMD,n_lt_4)567*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__WASMSIMD, n_lt_4) {
568*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
569*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
570*4bdc9457SAndroid Build Coastguard Worker .n(n)
571*4bdc9457SAndroid Build Coastguard Worker .g(3)
572*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__wasmsimd);
573*4bdc9457SAndroid Build Coastguard Worker }
574*4bdc9457SAndroid Build Coastguard Worker }
575*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__WASMSIMD,n_eq_4)576*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__WASMSIMD, n_eq_4) {
577*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
578*4bdc9457SAndroid Build Coastguard Worker .n(4)
579*4bdc9457SAndroid Build Coastguard Worker .g(4)
580*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__wasmsimd);
581*4bdc9457SAndroid Build Coastguard Worker }
582*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__WASMSIMD,n_div_4)583*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__WASMSIMD, n_div_4) {
584*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
585*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
586*4bdc9457SAndroid Build Coastguard Worker .n(n)
587*4bdc9457SAndroid Build Coastguard Worker .g(4)
588*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__wasmsimd);
589*4bdc9457SAndroid Build Coastguard Worker }
590*4bdc9457SAndroid Build Coastguard Worker }
591*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__WASMSIMD,n_gt_4)592*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__WASMSIMD, n_gt_4) {
593*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
594*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
595*4bdc9457SAndroid Build Coastguard Worker .n(n)
596*4bdc9457SAndroid Build Coastguard Worker .g(4)
597*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__wasmsimd);
598*4bdc9457SAndroid Build Coastguard Worker }
599*4bdc9457SAndroid Build Coastguard Worker }
600*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__WASMSIMD,n_lt_4)601*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__WASMSIMD, n_lt_4) {
602*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
603*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
604*4bdc9457SAndroid Build Coastguard Worker .n(n)
605*4bdc9457SAndroid Build Coastguard Worker .g(4)
606*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__wasmsimd);
607*4bdc9457SAndroid Build Coastguard Worker }
608*4bdc9457SAndroid Build Coastguard Worker }
609*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_eq_4_m_eq_4)610*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_eq_4_m_eq_4) {
611*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
612*4bdc9457SAndroid Build Coastguard Worker .n(4)
613*4bdc9457SAndroid Build Coastguard Worker .g(4)
614*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
615*4bdc9457SAndroid Build Coastguard Worker }
616*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_eq_4_m_div_4)617*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_eq_4_m_div_4) {
618*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
619*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
620*4bdc9457SAndroid Build Coastguard Worker .n(4)
621*4bdc9457SAndroid Build Coastguard Worker .g(g)
622*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
623*4bdc9457SAndroid Build Coastguard Worker }
624*4bdc9457SAndroid Build Coastguard Worker }
625*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_eq_4_m_gt_4)626*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_eq_4_m_gt_4) {
627*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
628*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
629*4bdc9457SAndroid Build Coastguard Worker .n(4)
630*4bdc9457SAndroid Build Coastguard Worker .g(g)
631*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
632*4bdc9457SAndroid Build Coastguard Worker }
633*4bdc9457SAndroid Build Coastguard Worker }
634*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_div_4_m_eq_4)635*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_div_4_m_eq_4) {
636*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
637*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
638*4bdc9457SAndroid Build Coastguard Worker .n(n)
639*4bdc9457SAndroid Build Coastguard Worker .g(4)
640*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
641*4bdc9457SAndroid Build Coastguard Worker }
642*4bdc9457SAndroid Build Coastguard Worker }
643*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_div_4_m_div_4)644*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_div_4_m_div_4) {
645*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
646*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
647*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
648*4bdc9457SAndroid Build Coastguard Worker .n(n)
649*4bdc9457SAndroid Build Coastguard Worker .g(g)
650*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
651*4bdc9457SAndroid Build Coastguard Worker }
652*4bdc9457SAndroid Build Coastguard Worker }
653*4bdc9457SAndroid Build Coastguard Worker }
654*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_div_4_m_gt_4)655*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_div_4_m_gt_4) {
656*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 4; n < 64; n += 4) {
657*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
658*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
659*4bdc9457SAndroid Build Coastguard Worker .n(n)
660*4bdc9457SAndroid Build Coastguard Worker .g(g)
661*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
662*4bdc9457SAndroid Build Coastguard Worker }
663*4bdc9457SAndroid Build Coastguard Worker }
664*4bdc9457SAndroid Build Coastguard Worker }
665*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_gt_4_m_eq_4)666*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_gt_4_m_eq_4) {
667*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
668*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
669*4bdc9457SAndroid Build Coastguard Worker .n(n)
670*4bdc9457SAndroid Build Coastguard Worker .g(4)
671*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
672*4bdc9457SAndroid Build Coastguard Worker }
673*4bdc9457SAndroid Build Coastguard Worker }
674*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_gt_4_m_div_4)675*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_gt_4_m_div_4) {
676*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
677*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
678*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
679*4bdc9457SAndroid Build Coastguard Worker .n(n)
680*4bdc9457SAndroid Build Coastguard Worker .g(g)
681*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
682*4bdc9457SAndroid Build Coastguard Worker }
683*4bdc9457SAndroid Build Coastguard Worker }
684*4bdc9457SAndroid Build Coastguard Worker }
685*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_gt_4_m_gt_4)686*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_gt_4_m_gt_4) {
687*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 5; n < 8; n++) {
688*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
689*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
690*4bdc9457SAndroid Build Coastguard Worker .n(n)
691*4bdc9457SAndroid Build Coastguard Worker .g(g)
692*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
693*4bdc9457SAndroid Build Coastguard Worker }
694*4bdc9457SAndroid Build Coastguard Worker }
695*4bdc9457SAndroid Build Coastguard Worker }
696*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_lt_4_m_eq_4)697*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_lt_4_m_eq_4) {
698*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
699*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
700*4bdc9457SAndroid Build Coastguard Worker .n(n)
701*4bdc9457SAndroid Build Coastguard Worker .g(4)
702*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
703*4bdc9457SAndroid Build Coastguard Worker }
704*4bdc9457SAndroid Build Coastguard Worker }
705*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_lt_4_m_div_4)706*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_lt_4_m_div_4) {
707*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
708*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
709*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
710*4bdc9457SAndroid Build Coastguard Worker .n(n)
711*4bdc9457SAndroid Build Coastguard Worker .g(g)
712*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
713*4bdc9457SAndroid Build Coastguard Worker }
714*4bdc9457SAndroid Build Coastguard Worker }
715*4bdc9457SAndroid Build Coastguard Worker }
716*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__WASMSIMD,n_lt_4_m_gt_4)717*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__WASMSIMD, n_lt_4_m_gt_4) {
718*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 1; n < 4; n++) {
719*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
720*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
721*4bdc9457SAndroid Build Coastguard Worker .n(n)
722*4bdc9457SAndroid Build Coastguard Worker .g(g)
723*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__wasmsimd);
724*4bdc9457SAndroid Build Coastguard Worker }
725*4bdc9457SAndroid Build Coastguard Worker }
726*4bdc9457SAndroid Build Coastguard Worker }
727*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_WASMSIMD
728*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__SCALAR,n_eq_1)729*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SCALAR, n_eq_1) {
730*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
731*4bdc9457SAndroid Build Coastguard Worker .n(1)
732*4bdc9457SAndroid Build Coastguard Worker .g(2)
733*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__scalar);
734*4bdc9457SAndroid Build Coastguard Worker }
735*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X2__SCALAR,n_gt_1)736*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X2__SCALAR, n_gt_1) {
737*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
738*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
739*4bdc9457SAndroid Build Coastguard Worker .n(n)
740*4bdc9457SAndroid Build Coastguard Worker .g(2)
741*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x2_ukernel__scalar);
742*4bdc9457SAndroid Build Coastguard Worker }
743*4bdc9457SAndroid Build Coastguard Worker }
744*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SCALAR,n_eq_1)745*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SCALAR, n_eq_1) {
746*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
747*4bdc9457SAndroid Build Coastguard Worker .n(9)
748*4bdc9457SAndroid Build Coastguard Worker .g(3)
749*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__scalar);
750*4bdc9457SAndroid Build Coastguard Worker }
751*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X3__SCALAR,n_gt_1)752*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X3__SCALAR, n_gt_1) {
753*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
754*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
755*4bdc9457SAndroid Build Coastguard Worker .n(n)
756*4bdc9457SAndroid Build Coastguard Worker .g(3)
757*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x3_ukernel__scalar);
758*4bdc9457SAndroid Build Coastguard Worker }
759*4bdc9457SAndroid Build Coastguard Worker }
760*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SCALAR,n_eq_1)761*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SCALAR, n_eq_1) {
762*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
763*4bdc9457SAndroid Build Coastguard Worker .n(1)
764*4bdc9457SAndroid Build Coastguard Worker .g(4)
765*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__scalar);
766*4bdc9457SAndroid Build Coastguard Worker }
767*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_X4__SCALAR,n_gt_1)768*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_X4__SCALAR, n_gt_1) {
769*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
770*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
771*4bdc9457SAndroid Build Coastguard Worker .n(n)
772*4bdc9457SAndroid Build Coastguard Worker .g(4)
773*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_x4_ukernel__scalar);
774*4bdc9457SAndroid Build Coastguard Worker }
775*4bdc9457SAndroid Build Coastguard Worker }
776*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_eq_1_m_eq_4)777*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_eq_1_m_eq_4) {
778*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
779*4bdc9457SAndroid Build Coastguard Worker .n(1)
780*4bdc9457SAndroid Build Coastguard Worker .g(4)
781*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
782*4bdc9457SAndroid Build Coastguard Worker }
783*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_eq_1_m_div_4)784*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_eq_1_m_div_4) {
785*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
786*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
787*4bdc9457SAndroid Build Coastguard Worker .n(1)
788*4bdc9457SAndroid Build Coastguard Worker .g(g)
789*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
790*4bdc9457SAndroid Build Coastguard Worker }
791*4bdc9457SAndroid Build Coastguard Worker }
792*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_eq_1_m_gt_4)793*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_eq_1_m_gt_4) {
794*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
795*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
796*4bdc9457SAndroid Build Coastguard Worker .n(1)
797*4bdc9457SAndroid Build Coastguard Worker .g(g)
798*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
799*4bdc9457SAndroid Build Coastguard Worker }
800*4bdc9457SAndroid Build Coastguard Worker }
801*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_gt_1_m_eq_4)802*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_gt_1_m_eq_4) {
803*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
804*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
805*4bdc9457SAndroid Build Coastguard Worker .n(n)
806*4bdc9457SAndroid Build Coastguard Worker .g(4)
807*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
808*4bdc9457SAndroid Build Coastguard Worker }
809*4bdc9457SAndroid Build Coastguard Worker }
810*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_gt_1_m_div_4)811*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_gt_1_m_div_4) {
812*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
813*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 4; g < 32; g += 4) {
814*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
815*4bdc9457SAndroid Build Coastguard Worker .n(n)
816*4bdc9457SAndroid Build Coastguard Worker .g(g)
817*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
818*4bdc9457SAndroid Build Coastguard Worker }
819*4bdc9457SAndroid Build Coastguard Worker }
820*4bdc9457SAndroid Build Coastguard Worker }
821*4bdc9457SAndroid Build Coastguard Worker
TEST(X32_ZIP_XM__SCALAR,n_gt_1_m_gt_4)822*4bdc9457SAndroid Build Coastguard Worker TEST(X32_ZIP_XM__SCALAR, n_gt_1_m_gt_4) {
823*4bdc9457SAndroid Build Coastguard Worker for (size_t n = 2; n < 8; n++) {
824*4bdc9457SAndroid Build Coastguard Worker for (size_t g = 5; g < 8; g++) {
825*4bdc9457SAndroid Build Coastguard Worker ZipMicrokernelTester()
826*4bdc9457SAndroid Build Coastguard Worker .n(n)
827*4bdc9457SAndroid Build Coastguard Worker .g(g)
828*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_x32_zip_xm_ukernel__scalar);
829*4bdc9457SAndroid Build Coastguard Worker }
830*4bdc9457SAndroid Build Coastguard Worker }
831*4bdc9457SAndroid Build Coastguard Worker }
832