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 // Auto-generated file. Do not edit! 7*4bdc9457SAndroid Build Coastguard Worker // Specification: test/f16-vdivc-minmax.yaml 8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-vbinary-test.py 9*4bdc9457SAndroid Build Coastguard Worker 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker #include <gtest/gtest.h> 12*4bdc9457SAndroid Build Coastguard Worker 13*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h> 14*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/isa-checks.h> 15*4bdc9457SAndroid Build Coastguard Worker 16*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/microparams-init.h> 17*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/vbinary.h> 18*4bdc9457SAndroid Build Coastguard Worker #include "vbinaryc-microkernel-tester.h" 19*4bdc9457SAndroid Build Coastguard Worker 20*4bdc9457SAndroid Build Coastguard Worker 21*4bdc9457SAndroid Build Coastguard Worker #if XNN_ENABLE_ARM_FP16 && XNN_ARCH_ARM64 TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,batch_eq_8)22*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, batch_eq_8) { 23*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 24*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 25*4bdc9457SAndroid Build Coastguard Worker .batch_size(8) 26*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 27*4bdc9457SAndroid Build Coastguard Worker } 28*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,batch_div_8)29*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, batch_div_8) { 30*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 31*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) { 32*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 33*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 34*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 35*4bdc9457SAndroid Build Coastguard Worker } 36*4bdc9457SAndroid Build Coastguard Worker } 37*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,batch_lt_8)38*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, batch_lt_8) { 39*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 40*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) { 41*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 42*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 43*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 44*4bdc9457SAndroid Build Coastguard Worker } 45*4bdc9457SAndroid Build Coastguard Worker } 46*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,batch_gt_8)47*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, batch_gt_8) { 48*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 49*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) { 50*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 51*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 52*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 53*4bdc9457SAndroid Build Coastguard Worker } 54*4bdc9457SAndroid Build Coastguard Worker } 55*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,inplace)56*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, inplace) { 57*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 58*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 59*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 60*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 61*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 62*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 63*4bdc9457SAndroid Build Coastguard Worker } 64*4bdc9457SAndroid Build Coastguard Worker } 65*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,qmin)66*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, qmin) { 67*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 68*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 69*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 70*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 71*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 72*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 73*4bdc9457SAndroid Build Coastguard Worker } 74*4bdc9457SAndroid Build Coastguard Worker } 75*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8,qmax)76*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X8, qmax) { 77*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 78*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 79*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 80*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 81*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 82*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 83*4bdc9457SAndroid Build Coastguard Worker } 84*4bdc9457SAndroid Build Coastguard Worker } 85*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ENABLE_ARM_FP16 && XNN_ARCH_ARM64 86*4bdc9457SAndroid Build Coastguard Worker 87*4bdc9457SAndroid Build Coastguard Worker 88*4bdc9457SAndroid Build Coastguard Worker #if XNN_ENABLE_ARM_FP16 && XNN_ARCH_ARM64 TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,batch_eq_16)89*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, batch_eq_16) { 90*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 91*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 92*4bdc9457SAndroid Build Coastguard Worker .batch_size(16) 93*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 94*4bdc9457SAndroid Build Coastguard Worker } 95*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,batch_div_16)96*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, batch_div_16) { 97*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 98*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) { 99*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 100*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 101*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 102*4bdc9457SAndroid Build Coastguard Worker } 103*4bdc9457SAndroid Build Coastguard Worker } 104*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,batch_lt_16)105*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, batch_lt_16) { 106*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 107*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) { 108*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 109*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 110*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 111*4bdc9457SAndroid Build Coastguard Worker } 112*4bdc9457SAndroid Build Coastguard Worker } 113*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,batch_gt_16)114*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, batch_gt_16) { 115*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 116*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) { 117*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 118*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 119*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 120*4bdc9457SAndroid Build Coastguard Worker } 121*4bdc9457SAndroid Build Coastguard Worker } 122*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,inplace)123*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, inplace) { 124*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 125*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 126*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 127*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 128*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 129*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 130*4bdc9457SAndroid Build Coastguard Worker } 131*4bdc9457SAndroid Build Coastguard Worker } 132*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,qmin)133*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, qmin) { 134*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 135*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 136*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 137*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 138*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 139*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 140*4bdc9457SAndroid Build Coastguard Worker } 141*4bdc9457SAndroid Build Coastguard Worker } 142*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16,qmax)143*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__NEONFP16ARITH_X16, qmax) { 144*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 145*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 146*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 147*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 148*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 149*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__neonfp16arith_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_neon_params); 150*4bdc9457SAndroid Build Coastguard Worker } 151*4bdc9457SAndroid Build Coastguard Worker } 152*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ENABLE_ARM_FP16 && XNN_ARCH_ARM64 153*4bdc9457SAndroid Build Coastguard Worker 154*4bdc9457SAndroid Build Coastguard Worker 155*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F16_VDIVC_MINMAX__F16C_X8,batch_eq_8)156*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, batch_eq_8) { 157*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 158*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 159*4bdc9457SAndroid Build Coastguard Worker .batch_size(8) 160*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 161*4bdc9457SAndroid Build Coastguard Worker } 162*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,batch_div_8)163*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, batch_div_8) { 164*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 165*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) { 166*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 167*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 168*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 169*4bdc9457SAndroid Build Coastguard Worker } 170*4bdc9457SAndroid Build Coastguard Worker } 171*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,batch_lt_8)172*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, batch_lt_8) { 173*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 174*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) { 175*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 176*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 177*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 178*4bdc9457SAndroid Build Coastguard Worker } 179*4bdc9457SAndroid Build Coastguard Worker } 180*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,batch_gt_8)181*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, batch_gt_8) { 182*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 183*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) { 184*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 185*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 186*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 187*4bdc9457SAndroid Build Coastguard Worker } 188*4bdc9457SAndroid Build Coastguard Worker } 189*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,inplace)190*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, inplace) { 191*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 192*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 193*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 194*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 195*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 196*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 197*4bdc9457SAndroid Build Coastguard Worker } 198*4bdc9457SAndroid Build Coastguard Worker } 199*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,qmin)200*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, qmin) { 201*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 202*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 203*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 204*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 205*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 206*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 207*4bdc9457SAndroid Build Coastguard Worker } 208*4bdc9457SAndroid Build Coastguard Worker } 209*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8,qmax)210*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X8, qmax) { 211*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 212*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 213*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 214*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 215*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 216*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x8, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 217*4bdc9457SAndroid Build Coastguard Worker } 218*4bdc9457SAndroid Build Coastguard Worker } 219*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 220*4bdc9457SAndroid Build Coastguard Worker 221*4bdc9457SAndroid Build Coastguard Worker 222*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F16_VDIVC_MINMAX__F16C_X16,batch_eq_16)223*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, batch_eq_16) { 224*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 225*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 226*4bdc9457SAndroid Build Coastguard Worker .batch_size(16) 227*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 228*4bdc9457SAndroid Build Coastguard Worker } 229*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,batch_div_16)230*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, batch_div_16) { 231*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 232*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) { 233*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 234*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 235*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 236*4bdc9457SAndroid Build Coastguard Worker } 237*4bdc9457SAndroid Build Coastguard Worker } 238*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,batch_lt_16)239*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, batch_lt_16) { 240*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 241*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) { 242*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 243*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 244*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 245*4bdc9457SAndroid Build Coastguard Worker } 246*4bdc9457SAndroid Build Coastguard Worker } 247*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,batch_gt_16)248*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, batch_gt_16) { 249*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 250*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) { 251*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 252*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 253*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 254*4bdc9457SAndroid Build Coastguard Worker } 255*4bdc9457SAndroid Build Coastguard Worker } 256*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,inplace)257*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, inplace) { 258*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 259*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 260*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 261*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 262*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 263*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 264*4bdc9457SAndroid Build Coastguard Worker } 265*4bdc9457SAndroid Build Coastguard Worker } 266*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,qmin)267*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, qmin) { 268*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 269*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 270*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 271*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 272*4bdc9457SAndroid Build Coastguard Worker .qmin(128) 273*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 274*4bdc9457SAndroid Build Coastguard Worker } 275*4bdc9457SAndroid Build Coastguard Worker } 276*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16,qmax)277*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VDIVC_MINMAX__F16C_X16, qmax) { 278*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 279*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 280*4bdc9457SAndroid Build Coastguard Worker VBinaryCMicrokernelTester() 281*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 282*4bdc9457SAndroid Build Coastguard Worker .qmax(128) 283*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vdivc_minmax_ukernel__f16c_x16, VBinaryCMicrokernelTester::OpType::DivC, xnn_init_f16_minmax_avx_params); 284*4bdc9457SAndroid Build Coastguard Worker } 285*4bdc9457SAndroid Build Coastguard Worker } 286*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 287