1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC 2*4bdc9457SAndroid Build Coastguard Worker // 3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the 4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree. 5*4bdc9457SAndroid Build Coastguard Worker 6*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h> 7*4bdc9457SAndroid Build Coastguard Worker 8*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h> 9*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/isa-checks.h> 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/gavgpool.h> 12*4bdc9457SAndroid Build Coastguard Worker #include "gavgpool-cw-microkernel-tester.h" 13*4bdc9457SAndroid Build Coastguard Worker 14*4bdc9457SAndroid Build Coastguard Worker 15*4bdc9457SAndroid Build Coastguard Worker #if XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,elements_eq_8)16*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, elements_eq_8) { 17*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 18*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 19*4bdc9457SAndroid Build Coastguard Worker .elements(8) 20*4bdc9457SAndroid Build Coastguard Worker .channels(4) 21*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 22*4bdc9457SAndroid Build Coastguard Worker } 23*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,channels_eq_8)24*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, channels_eq_8) { 25*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 26*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 27*4bdc9457SAndroid Build Coastguard Worker .elements(8) 28*4bdc9457SAndroid Build Coastguard Worker .channels(8) 29*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 30*4bdc9457SAndroid Build Coastguard Worker } 31*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,elements_div_8)32*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, elements_div_8) { 33*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 34*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 8; elements < 32; elements += 8) { 35*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 36*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 37*4bdc9457SAndroid Build Coastguard Worker .channels(4) 38*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 39*4bdc9457SAndroid Build Coastguard Worker } 40*4bdc9457SAndroid Build Coastguard Worker } 41*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,elements_lt_8)42*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, elements_lt_8) { 43*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 44*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 8; elements++) { 45*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 46*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 47*4bdc9457SAndroid Build Coastguard Worker .channels(4) 48*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 49*4bdc9457SAndroid Build Coastguard Worker } 50*4bdc9457SAndroid Build Coastguard Worker } 51*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,elements_gt_8)52*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, elements_gt_8) { 53*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 54*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 9; elements < 16; elements++) { 55*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 56*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 57*4bdc9457SAndroid Build Coastguard Worker .channels(4) 58*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 59*4bdc9457SAndroid Build Coastguard Worker } 60*4bdc9457SAndroid Build Coastguard Worker } 61*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,channels_lt_4)62*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, channels_lt_4) { 63*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 64*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 1; channels < 4; channels++) { 65*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 66*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 67*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 68*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 69*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 70*4bdc9457SAndroid Build Coastguard Worker } 71*4bdc9457SAndroid Build Coastguard Worker } 72*4bdc9457SAndroid Build Coastguard Worker } 73*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,channels_gt_4)74*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, channels_gt_4) { 75*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 76*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 5; channels < 8; channels++) { 77*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 78*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 79*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 80*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 81*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 82*4bdc9457SAndroid Build Coastguard Worker } 83*4bdc9457SAndroid Build Coastguard Worker } 84*4bdc9457SAndroid Build Coastguard Worker } 85*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,channels_div_4)86*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, channels_div_4) { 87*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 88*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 8; channels <= 16; channels += 4) { 89*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 90*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 91*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 92*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 93*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 94*4bdc9457SAndroid Build Coastguard Worker } 95*4bdc9457SAndroid Build Coastguard Worker } 96*4bdc9457SAndroid Build Coastguard Worker } 97*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,qmin)98*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, qmin) { 99*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 100*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 101*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 102*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 103*4bdc9457SAndroid Build Coastguard Worker .channels(4) 104*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 105*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 106*4bdc9457SAndroid Build Coastguard Worker } 107*4bdc9457SAndroid Build Coastguard Worker } 108*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8,qmax)109*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X8, qmax) { 110*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 111*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 112*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 113*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 114*4bdc9457SAndroid Build Coastguard Worker .channels(4) 115*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 116*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x8, xnn_init_f16_gavgpool_neonfp16arith_x8_params); 117*4bdc9457SAndroid Build Coastguard Worker } 118*4bdc9457SAndroid Build Coastguard Worker } 119*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,elements_eq_4)120*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, elements_eq_4) { 121*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 122*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 123*4bdc9457SAndroid Build Coastguard Worker .elements(4) 124*4bdc9457SAndroid Build Coastguard Worker .channels(4) 125*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 126*4bdc9457SAndroid Build Coastguard Worker } 127*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,channels_eq_5)128*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, channels_eq_5) { 129*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 130*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 131*4bdc9457SAndroid Build Coastguard Worker .elements(4) 132*4bdc9457SAndroid Build Coastguard Worker .channels(5) 133*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 134*4bdc9457SAndroid Build Coastguard Worker } 135*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,channels_eq_8)136*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, channels_eq_8) { 137*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 138*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 139*4bdc9457SAndroid Build Coastguard Worker .elements(4) 140*4bdc9457SAndroid Build Coastguard Worker .channels(8) 141*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 142*4bdc9457SAndroid Build Coastguard Worker } 143*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,elements_div_4)144*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, elements_div_4) { 145*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 146*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 8; elements < 32; elements += 4) { 147*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 148*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 149*4bdc9457SAndroid Build Coastguard Worker .channels(4) 150*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 151*4bdc9457SAndroid Build Coastguard Worker } 152*4bdc9457SAndroid Build Coastguard Worker } 153*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,elements_lt_4)154*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, elements_lt_4) { 155*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 156*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 4; elements++) { 157*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 158*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 159*4bdc9457SAndroid Build Coastguard Worker .channels(4) 160*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 161*4bdc9457SAndroid Build Coastguard Worker } 162*4bdc9457SAndroid Build Coastguard Worker } 163*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,elements_gt_4)164*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, elements_gt_4) { 165*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 166*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 5; elements < 8; elements++) { 167*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 168*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 169*4bdc9457SAndroid Build Coastguard Worker .channels(4) 170*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 171*4bdc9457SAndroid Build Coastguard Worker } 172*4bdc9457SAndroid Build Coastguard Worker } 173*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,channels_lt_4)174*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, channels_lt_4) { 175*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 176*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 1; channels < 4; channels++) { 177*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 178*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 179*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 180*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 181*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 182*4bdc9457SAndroid Build Coastguard Worker } 183*4bdc9457SAndroid Build Coastguard Worker } 184*4bdc9457SAndroid Build Coastguard Worker } 185*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,channels_gt_4)186*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, channels_gt_4) { 187*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 188*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 5; channels < 8; channels++) { 189*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 190*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 191*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 192*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 193*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 194*4bdc9457SAndroid Build Coastguard Worker } 195*4bdc9457SAndroid Build Coastguard Worker } 196*4bdc9457SAndroid Build Coastguard Worker } 197*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,channels_div_4)198*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, channels_div_4) { 199*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 200*4bdc9457SAndroid Build Coastguard Worker for (size_t channels = 8; channels <= 16; channels += 4) { 201*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 202*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 203*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 204*4bdc9457SAndroid Build Coastguard Worker .channels(channels) 205*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 206*4bdc9457SAndroid Build Coastguard Worker } 207*4bdc9457SAndroid Build Coastguard Worker } 208*4bdc9457SAndroid Build Coastguard Worker } 209*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,qmin)210*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, qmin) { 211*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 212*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 213*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 214*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 215*4bdc9457SAndroid Build Coastguard Worker .channels(4) 216*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 217*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 218*4bdc9457SAndroid Build Coastguard Worker } 219*4bdc9457SAndroid Build Coastguard Worker } 220*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4,qmax)221*4bdc9457SAndroid Build Coastguard Worker TEST(F16_GAVGPOOL_CW__NEONFP16ARITH_X4, qmax) { 222*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 223*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements += 3) { 224*4bdc9457SAndroid Build Coastguard Worker GAvgPoolCWMicrokernelTester() 225*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 226*4bdc9457SAndroid Build Coastguard Worker .channels(4) 227*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 228*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_gavgpool_cw_ukernel__neonfp16arith_x4, xnn_init_f16_gavgpool_neonfp16arith_x4_params); 229*4bdc9457SAndroid Build Coastguard Worker } 230*4bdc9457SAndroid Build Coastguard Worker } 231*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) 232