xref: /aosp_15_r20/external/XNNPACK/test/x32-zip.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
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