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