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-vlrelu.yaml 8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-vunary-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/vunary.h> 17*4bdc9457SAndroid Build Coastguard Worker #include "vunary-microkernel-tester.h" 18*4bdc9457SAndroid Build Coastguard Worker 19*4bdc9457SAndroid Build Coastguard Worker 20*4bdc9457SAndroid Build Coastguard Worker #if XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) TEST(F16_VLRELU__NEONFP16ARITH_X8,batch_eq_8)21*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, batch_eq_8) { 22*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 23*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 24*4bdc9457SAndroid Build Coastguard Worker .batch_size(8) 25*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 26*4bdc9457SAndroid Build Coastguard Worker } 27*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8,batch_div_8)28*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, batch_div_8) { 29*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 30*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) { 31*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 32*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 33*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 34*4bdc9457SAndroid Build Coastguard Worker } 35*4bdc9457SAndroid Build Coastguard Worker } 36*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8,batch_lt_8)37*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, batch_lt_8) { 38*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 39*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) { 40*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 41*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 42*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 43*4bdc9457SAndroid Build Coastguard Worker } 44*4bdc9457SAndroid Build Coastguard Worker } 45*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8,batch_gt_8)46*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, batch_gt_8) { 47*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 48*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) { 49*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 50*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 51*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 52*4bdc9457SAndroid Build Coastguard Worker } 53*4bdc9457SAndroid Build Coastguard Worker } 54*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8,inplace)55*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, inplace) { 56*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 57*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 58*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 59*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 60*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 61*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 62*4bdc9457SAndroid Build Coastguard Worker } 63*4bdc9457SAndroid Build Coastguard Worker } 64*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8,slope)65*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X8, slope) { 66*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 67*4bdc9457SAndroid Build Coastguard Worker for (float slope : std::vector<float>({-0.7f, 0.3f, 1.3f})) { 68*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 69*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 70*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 71*4bdc9457SAndroid Build Coastguard Worker .slope(slope) 72*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x8, xnn_init_f16_lrelu_neon_params); 73*4bdc9457SAndroid Build Coastguard Worker } 74*4bdc9457SAndroid Build Coastguard Worker } 75*4bdc9457SAndroid Build Coastguard Worker } 76*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) 77*4bdc9457SAndroid Build Coastguard Worker 78*4bdc9457SAndroid Build Coastguard Worker 79*4bdc9457SAndroid Build Coastguard Worker #if XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) TEST(F16_VLRELU__NEONFP16ARITH_X16,batch_eq_16)80*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, batch_eq_16) { 81*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 82*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 83*4bdc9457SAndroid Build Coastguard Worker .batch_size(16) 84*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 85*4bdc9457SAndroid Build Coastguard Worker } 86*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16,batch_div_16)87*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, batch_div_16) { 88*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 89*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) { 90*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 91*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 92*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 93*4bdc9457SAndroid Build Coastguard Worker } 94*4bdc9457SAndroid Build Coastguard Worker } 95*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16,batch_lt_16)96*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, batch_lt_16) { 97*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 98*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) { 99*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 100*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 101*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 102*4bdc9457SAndroid Build Coastguard Worker } 103*4bdc9457SAndroid Build Coastguard Worker } 104*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16,batch_gt_16)105*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, batch_gt_16) { 106*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 107*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) { 108*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 109*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 110*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 111*4bdc9457SAndroid Build Coastguard Worker } 112*4bdc9457SAndroid Build Coastguard Worker } 113*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16,inplace)114*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, inplace) { 115*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 116*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 117*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 118*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 119*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 120*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 121*4bdc9457SAndroid Build Coastguard Worker } 122*4bdc9457SAndroid Build Coastguard Worker } 123*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16,slope)124*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__NEONFP16ARITH_X16, slope) { 125*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_ARM_NEON_FP16_ARITH; 126*4bdc9457SAndroid Build Coastguard Worker for (float slope : std::vector<float>({-0.7f, 0.3f, 1.3f})) { 127*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 128*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 129*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 130*4bdc9457SAndroid Build Coastguard Worker .slope(slope) 131*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__neonfp16arith_x16, xnn_init_f16_lrelu_neon_params); 132*4bdc9457SAndroid Build Coastguard Worker } 133*4bdc9457SAndroid Build Coastguard Worker } 134*4bdc9457SAndroid Build Coastguard Worker } 135*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ENABLE_ARM_FP16 && (XNN_ARCH_ARM || XNN_ARCH_ARM64) 136*4bdc9457SAndroid Build Coastguard Worker 137*4bdc9457SAndroid Build Coastguard Worker 138*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F16_VLRELU__F16C_X8,batch_eq_8)139*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, batch_eq_8) { 140*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 141*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 142*4bdc9457SAndroid Build Coastguard Worker .batch_size(8) 143*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 144*4bdc9457SAndroid Build Coastguard Worker } 145*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8,batch_div_8)146*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, batch_div_8) { 147*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 148*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 16; batch_size < 80; batch_size += 8) { 149*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 150*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 151*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 152*4bdc9457SAndroid Build Coastguard Worker } 153*4bdc9457SAndroid Build Coastguard Worker } 154*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8,batch_lt_8)155*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, batch_lt_8) { 156*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 157*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 8; batch_size++) { 158*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 159*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 160*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 161*4bdc9457SAndroid Build Coastguard Worker } 162*4bdc9457SAndroid Build Coastguard Worker } 163*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8,batch_gt_8)164*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, batch_gt_8) { 165*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 166*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 9; batch_size < 16; batch_size++) { 167*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 168*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 169*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 170*4bdc9457SAndroid Build Coastguard Worker } 171*4bdc9457SAndroid Build Coastguard Worker } 172*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8,inplace)173*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, inplace) { 174*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 175*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 176*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 177*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 178*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 179*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 180*4bdc9457SAndroid Build Coastguard Worker } 181*4bdc9457SAndroid Build Coastguard Worker } 182*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8,slope)183*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X8, slope) { 184*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 185*4bdc9457SAndroid Build Coastguard Worker for (float slope : std::vector<float>({-0.7f, 0.3f, 1.3f})) { 186*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) { 187*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 188*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 189*4bdc9457SAndroid Build Coastguard Worker .slope(slope) 190*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x8, xnn_init_f16_lrelu_avx_params); 191*4bdc9457SAndroid Build Coastguard Worker } 192*4bdc9457SAndroid Build Coastguard Worker } 193*4bdc9457SAndroid Build Coastguard Worker } 194*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 195*4bdc9457SAndroid Build Coastguard Worker 196*4bdc9457SAndroid Build Coastguard Worker 197*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F16_VLRELU__F16C_X16,batch_eq_16)198*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, batch_eq_16) { 199*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 200*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 201*4bdc9457SAndroid Build Coastguard Worker .batch_size(16) 202*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 203*4bdc9457SAndroid Build Coastguard Worker } 204*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16,batch_div_16)205*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, batch_div_16) { 206*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 207*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 32; batch_size < 160; batch_size += 16) { 208*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 209*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 210*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 211*4bdc9457SAndroid Build Coastguard Worker } 212*4bdc9457SAndroid Build Coastguard Worker } 213*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16,batch_lt_16)214*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, batch_lt_16) { 215*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 216*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size < 16; batch_size++) { 217*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 218*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 219*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 220*4bdc9457SAndroid Build Coastguard Worker } 221*4bdc9457SAndroid Build Coastguard Worker } 222*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16,batch_gt_16)223*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, batch_gt_16) { 224*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 225*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 17; batch_size < 32; batch_size++) { 226*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 227*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 228*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 229*4bdc9457SAndroid Build Coastguard Worker } 230*4bdc9457SAndroid Build Coastguard Worker } 231*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16,inplace)232*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, inplace) { 233*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 234*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 235*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 236*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 237*4bdc9457SAndroid Build Coastguard Worker .inplace(true) 238*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 239*4bdc9457SAndroid Build Coastguard Worker } 240*4bdc9457SAndroid Build Coastguard Worker } 241*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16,slope)242*4bdc9457SAndroid Build Coastguard Worker TEST(F16_VLRELU__F16C_X16, slope) { 243*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_F16C; 244*4bdc9457SAndroid Build Coastguard Worker for (float slope : std::vector<float>({-0.7f, 0.3f, 1.3f})) { 245*4bdc9457SAndroid Build Coastguard Worker for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) { 246*4bdc9457SAndroid Build Coastguard Worker VUnaryMicrokernelTester() 247*4bdc9457SAndroid Build Coastguard Worker .batch_size(batch_size) 248*4bdc9457SAndroid Build Coastguard Worker .slope(slope) 249*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f16_vlrelu_ukernel__f16c_x16, xnn_init_f16_lrelu_avx_params); 250*4bdc9457SAndroid Build Coastguard Worker } 251*4bdc9457SAndroid Build Coastguard Worker } 252*4bdc9457SAndroid Build Coastguard Worker } 253*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 254