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/f32-vscaleexpminusmax.yaml 8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-vscaleexpminusmax-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/vscaleexpminusmax.h> 17*4bdc9457SAndroid Build Coastguard Worker #include "vscaleexpminusmax-microkernel-tester.h" 18*4bdc9457SAndroid Build Coastguard Worker 19*4bdc9457SAndroid Build Coastguard Worker 20*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8,elements_eq_8)21*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8, elements_eq_8) { 22*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 23*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 24*4bdc9457SAndroid Build Coastguard Worker .elements(8) 25*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 26*4bdc9457SAndroid Build Coastguard Worker } 27*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8,elements_div_8)28*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8, elements_div_8) { 29*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 30*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 16; elements < 80; elements += 8) { 31*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 32*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 33*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 34*4bdc9457SAndroid Build Coastguard Worker } 35*4bdc9457SAndroid Build Coastguard Worker } 36*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8,elements_lt_8)37*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8, elements_lt_8) { 38*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 39*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 8; elements++) { 40*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 41*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 42*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 43*4bdc9457SAndroid Build Coastguard Worker } 44*4bdc9457SAndroid Build Coastguard Worker } 45*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8,elements_gt_8)46*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8, elements_gt_8) { 47*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 48*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 9; elements < 16; elements++) { 49*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 50*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 51*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 52*4bdc9457SAndroid Build Coastguard Worker } 53*4bdc9457SAndroid Build Coastguard Worker } 54*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8,scale)55*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X8, scale) { 56*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 57*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 40; elements += 7) { 58*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 59*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 60*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 61*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 62*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 63*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 64*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 65*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x8); 66*4bdc9457SAndroid Build Coastguard Worker } 67*4bdc9457SAndroid Build Coastguard Worker } 68*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 69*4bdc9457SAndroid Build Coastguard Worker 70*4bdc9457SAndroid Build Coastguard Worker 71*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16,elements_eq_16)72*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16, elements_eq_16) { 73*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 74*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 75*4bdc9457SAndroid Build Coastguard Worker .elements(16) 76*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 77*4bdc9457SAndroid Build Coastguard Worker } 78*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16,elements_div_16)79*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16, elements_div_16) { 80*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 81*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 32; elements < 160; elements += 16) { 82*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 83*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 84*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 85*4bdc9457SAndroid Build Coastguard Worker } 86*4bdc9457SAndroid Build Coastguard Worker } 87*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16,elements_lt_16)88*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16, elements_lt_16) { 89*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 90*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements++) { 91*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 92*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 93*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 94*4bdc9457SAndroid Build Coastguard Worker } 95*4bdc9457SAndroid Build Coastguard Worker } 96*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16,elements_gt_16)97*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16, elements_gt_16) { 98*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 99*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 17; elements < 32; elements++) { 100*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 101*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 102*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 103*4bdc9457SAndroid Build Coastguard Worker } 104*4bdc9457SAndroid Build Coastguard Worker } 105*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16,scale)106*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X16, scale) { 107*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 108*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 80; elements += 15) { 109*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 110*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 111*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 112*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 113*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 114*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 115*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 116*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x16); 117*4bdc9457SAndroid Build Coastguard Worker } 118*4bdc9457SAndroid Build Coastguard Worker } 119*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 120*4bdc9457SAndroid Build Coastguard Worker 121*4bdc9457SAndroid Build Coastguard Worker 122*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24,elements_eq_24)123*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24, elements_eq_24) { 124*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 125*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 126*4bdc9457SAndroid Build Coastguard Worker .elements(24) 127*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 128*4bdc9457SAndroid Build Coastguard Worker } 129*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24,elements_div_24)130*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24, elements_div_24) { 131*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 132*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 48; elements < 240; elements += 24) { 133*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 134*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 135*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 136*4bdc9457SAndroid Build Coastguard Worker } 137*4bdc9457SAndroid Build Coastguard Worker } 138*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24,elements_lt_24)139*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24, elements_lt_24) { 140*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 141*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 24; elements++) { 142*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 143*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 144*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 145*4bdc9457SAndroid Build Coastguard Worker } 146*4bdc9457SAndroid Build Coastguard Worker } 147*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24,elements_gt_24)148*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24, elements_gt_24) { 149*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 150*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 25; elements < 48; elements++) { 151*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 152*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 153*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 154*4bdc9457SAndroid Build Coastguard Worker } 155*4bdc9457SAndroid Build Coastguard Worker } 156*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24,scale)157*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X24, scale) { 158*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 159*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 120; elements += 23) { 160*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 161*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 162*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 163*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 164*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 165*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 166*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 167*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x24); 168*4bdc9457SAndroid Build Coastguard Worker } 169*4bdc9457SAndroid Build Coastguard Worker } 170*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 171*4bdc9457SAndroid Build Coastguard Worker 172*4bdc9457SAndroid Build Coastguard Worker 173*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32,elements_eq_32)174*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32, elements_eq_32) { 175*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 176*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 177*4bdc9457SAndroid Build Coastguard Worker .elements(32) 178*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 179*4bdc9457SAndroid Build Coastguard Worker } 180*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32,elements_div_32)181*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32, elements_div_32) { 182*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 183*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 64; elements < 320; elements += 32) { 184*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 185*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 186*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 187*4bdc9457SAndroid Build Coastguard Worker } 188*4bdc9457SAndroid Build Coastguard Worker } 189*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32,elements_lt_32)190*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32, elements_lt_32) { 191*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 192*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 32; elements++) { 193*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 194*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 195*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 196*4bdc9457SAndroid Build Coastguard Worker } 197*4bdc9457SAndroid Build Coastguard Worker } 198*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32,elements_gt_32)199*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32, elements_gt_32) { 200*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 201*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 33; elements < 64; elements++) { 202*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 203*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 204*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 205*4bdc9457SAndroid Build Coastguard Worker } 206*4bdc9457SAndroid Build Coastguard Worker } 207*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32,scale)208*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X32, scale) { 209*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 210*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 160; elements += 31) { 211*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 212*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 213*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 214*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 215*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 216*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 217*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 218*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x32); 219*4bdc9457SAndroid Build Coastguard Worker } 220*4bdc9457SAndroid Build Coastguard Worker } 221*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 222*4bdc9457SAndroid Build Coastguard Worker 223*4bdc9457SAndroid Build Coastguard Worker 224*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40,elements_eq_40)225*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40, elements_eq_40) { 226*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 227*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 228*4bdc9457SAndroid Build Coastguard Worker .elements(40) 229*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 230*4bdc9457SAndroid Build Coastguard Worker } 231*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40,elements_div_40)232*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40, elements_div_40) { 233*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 234*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 80; elements < 400; elements += 40) { 235*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 236*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 237*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 238*4bdc9457SAndroid Build Coastguard Worker } 239*4bdc9457SAndroid Build Coastguard Worker } 240*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40,elements_lt_40)241*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40, elements_lt_40) { 242*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 243*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 40; elements++) { 244*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 245*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 246*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 247*4bdc9457SAndroid Build Coastguard Worker } 248*4bdc9457SAndroid Build Coastguard Worker } 249*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40,elements_gt_40)250*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40, elements_gt_40) { 251*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 252*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 41; elements < 80; elements++) { 253*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 254*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 255*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 256*4bdc9457SAndroid Build Coastguard Worker } 257*4bdc9457SAndroid Build Coastguard Worker } 258*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40,scale)259*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X40, scale) { 260*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 261*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 200; elements += 39) { 262*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 263*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 264*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 265*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 266*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 267*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 268*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 269*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x40); 270*4bdc9457SAndroid Build Coastguard Worker } 271*4bdc9457SAndroid Build Coastguard Worker } 272*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 273*4bdc9457SAndroid Build Coastguard Worker 274*4bdc9457SAndroid Build Coastguard Worker 275*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48,elements_eq_48)276*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48, elements_eq_48) { 277*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 278*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 279*4bdc9457SAndroid Build Coastguard Worker .elements(48) 280*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 281*4bdc9457SAndroid Build Coastguard Worker } 282*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48,elements_div_48)283*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48, elements_div_48) { 284*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 285*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 96; elements < 480; elements += 48) { 286*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 287*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 288*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 289*4bdc9457SAndroid Build Coastguard Worker } 290*4bdc9457SAndroid Build Coastguard Worker } 291*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48,elements_lt_48)292*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48, elements_lt_48) { 293*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 294*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 48; elements++) { 295*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 296*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 297*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 298*4bdc9457SAndroid Build Coastguard Worker } 299*4bdc9457SAndroid Build Coastguard Worker } 300*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48,elements_gt_48)301*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48, elements_gt_48) { 302*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 303*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 49; elements < 96; elements++) { 304*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 305*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 306*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 307*4bdc9457SAndroid Build Coastguard Worker } 308*4bdc9457SAndroid Build Coastguard Worker } 309*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48,scale)310*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X48, scale) { 311*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 312*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 240; elements += 47) { 313*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 314*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 315*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 316*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 317*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 318*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 319*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 320*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x48); 321*4bdc9457SAndroid Build Coastguard Worker } 322*4bdc9457SAndroid Build Coastguard Worker } 323*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 324*4bdc9457SAndroid Build Coastguard Worker 325*4bdc9457SAndroid Build Coastguard Worker 326*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56,elements_eq_56)327*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56, elements_eq_56) { 328*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 329*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 330*4bdc9457SAndroid Build Coastguard Worker .elements(56) 331*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 332*4bdc9457SAndroid Build Coastguard Worker } 333*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56,elements_div_56)334*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56, elements_div_56) { 335*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 336*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 112; elements < 560; elements += 56) { 337*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 338*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 339*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 340*4bdc9457SAndroid Build Coastguard Worker } 341*4bdc9457SAndroid Build Coastguard Worker } 342*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56,elements_lt_56)343*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56, elements_lt_56) { 344*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 345*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 56; elements++) { 346*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 347*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 348*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 349*4bdc9457SAndroid Build Coastguard Worker } 350*4bdc9457SAndroid Build Coastguard Worker } 351*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56,elements_gt_56)352*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56, elements_gt_56) { 353*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 354*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 57; elements < 112; elements++) { 355*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 356*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 357*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 358*4bdc9457SAndroid Build Coastguard Worker } 359*4bdc9457SAndroid Build Coastguard Worker } 360*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56,scale)361*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X56, scale) { 362*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 363*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 280; elements += 55) { 364*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 365*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 366*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 367*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 368*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 369*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 370*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 371*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x56); 372*4bdc9457SAndroid Build Coastguard Worker } 373*4bdc9457SAndroid Build Coastguard Worker } 374*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 375*4bdc9457SAndroid Build Coastguard Worker 376*4bdc9457SAndroid Build Coastguard Worker 377*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64,elements_eq_64)378*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64, elements_eq_64) { 379*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 380*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 381*4bdc9457SAndroid Build Coastguard Worker .elements(64) 382*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 383*4bdc9457SAndroid Build Coastguard Worker } 384*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64,elements_div_64)385*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64, elements_div_64) { 386*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 387*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 128; elements < 640; elements += 64) { 388*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 389*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 390*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 391*4bdc9457SAndroid Build Coastguard Worker } 392*4bdc9457SAndroid Build Coastguard Worker } 393*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64,elements_lt_64)394*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64, elements_lt_64) { 395*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 396*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 64; elements++) { 397*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 398*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 399*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 400*4bdc9457SAndroid Build Coastguard Worker } 401*4bdc9457SAndroid Build Coastguard Worker } 402*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64,elements_gt_64)403*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64, elements_gt_64) { 404*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 405*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 65; elements < 128; elements++) { 406*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 407*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 408*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 409*4bdc9457SAndroid Build Coastguard Worker } 410*4bdc9457SAndroid Build Coastguard Worker } 411*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64,scale)412*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X64, scale) { 413*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 414*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 320; elements += 63) { 415*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 416*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 417*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 418*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 419*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 420*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 421*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 422*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x64); 423*4bdc9457SAndroid Build Coastguard Worker } 424*4bdc9457SAndroid Build Coastguard Worker } 425*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 426*4bdc9457SAndroid Build Coastguard Worker 427*4bdc9457SAndroid Build Coastguard Worker 428*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72,elements_eq_72)429*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72, elements_eq_72) { 430*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 431*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 432*4bdc9457SAndroid Build Coastguard Worker .elements(72) 433*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 434*4bdc9457SAndroid Build Coastguard Worker } 435*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72,elements_div_72)436*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72, elements_div_72) { 437*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 438*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 144; elements < 720; elements += 72) { 439*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 440*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 441*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 442*4bdc9457SAndroid Build Coastguard Worker } 443*4bdc9457SAndroid Build Coastguard Worker } 444*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72,elements_lt_72)445*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72, elements_lt_72) { 446*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 447*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 72; elements++) { 448*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 449*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 450*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 451*4bdc9457SAndroid Build Coastguard Worker } 452*4bdc9457SAndroid Build Coastguard Worker } 453*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72,elements_gt_72)454*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72, elements_gt_72) { 455*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 456*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 73; elements < 144; elements++) { 457*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 458*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 459*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 460*4bdc9457SAndroid Build Coastguard Worker } 461*4bdc9457SAndroid Build Coastguard Worker } 462*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72,scale)463*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X72, scale) { 464*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 465*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 360; elements += 71) { 466*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 467*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 468*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 469*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 470*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 471*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 472*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 473*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x72); 474*4bdc9457SAndroid Build Coastguard Worker } 475*4bdc9457SAndroid Build Coastguard Worker } 476*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 477*4bdc9457SAndroid Build Coastguard Worker 478*4bdc9457SAndroid Build Coastguard Worker 479*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80,elements_eq_80)480*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80, elements_eq_80) { 481*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 482*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 483*4bdc9457SAndroid Build Coastguard Worker .elements(80) 484*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 485*4bdc9457SAndroid Build Coastguard Worker } 486*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80,elements_div_80)487*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80, elements_div_80) { 488*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 489*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 160; elements < 800; elements += 80) { 490*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 491*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 492*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 493*4bdc9457SAndroid Build Coastguard Worker } 494*4bdc9457SAndroid Build Coastguard Worker } 495*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80,elements_lt_80)496*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80, elements_lt_80) { 497*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 498*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 80; elements++) { 499*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 500*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 501*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 502*4bdc9457SAndroid Build Coastguard Worker } 503*4bdc9457SAndroid Build Coastguard Worker } 504*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80,elements_gt_80)505*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80, elements_gt_80) { 506*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 507*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 81; elements < 160; elements++) { 508*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 509*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 510*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 511*4bdc9457SAndroid Build Coastguard Worker } 512*4bdc9457SAndroid Build Coastguard Worker } 513*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80,scale)514*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X80, scale) { 515*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 516*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 400; elements += 79) { 517*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 518*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 519*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 520*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 521*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 522*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 523*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 524*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x80); 525*4bdc9457SAndroid Build Coastguard Worker } 526*4bdc9457SAndroid Build Coastguard Worker } 527*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 528*4bdc9457SAndroid Build Coastguard Worker 529*4bdc9457SAndroid Build Coastguard Worker 530*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88,elements_eq_88)531*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88, elements_eq_88) { 532*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 533*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 534*4bdc9457SAndroid Build Coastguard Worker .elements(88) 535*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 536*4bdc9457SAndroid Build Coastguard Worker } 537*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88,elements_div_88)538*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88, elements_div_88) { 539*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 540*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 176; elements < 880; elements += 88) { 541*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 542*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 543*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 544*4bdc9457SAndroid Build Coastguard Worker } 545*4bdc9457SAndroid Build Coastguard Worker } 546*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88,elements_lt_88)547*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88, elements_lt_88) { 548*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 549*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 88; elements++) { 550*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 551*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 552*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 553*4bdc9457SAndroid Build Coastguard Worker } 554*4bdc9457SAndroid Build Coastguard Worker } 555*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88,elements_gt_88)556*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88, elements_gt_88) { 557*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 558*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 89; elements < 176; elements++) { 559*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 560*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 561*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 562*4bdc9457SAndroid Build Coastguard Worker } 563*4bdc9457SAndroid Build Coastguard Worker } 564*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88,scale)565*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X88, scale) { 566*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 567*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 440; elements += 87) { 568*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 569*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 570*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 571*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 572*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 573*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 574*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 575*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x88); 576*4bdc9457SAndroid Build Coastguard Worker } 577*4bdc9457SAndroid Build Coastguard Worker } 578*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 579*4bdc9457SAndroid Build Coastguard Worker 580*4bdc9457SAndroid Build Coastguard Worker 581*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96,elements_eq_96)582*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96, elements_eq_96) { 583*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 584*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 585*4bdc9457SAndroid Build Coastguard Worker .elements(96) 586*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 587*4bdc9457SAndroid Build Coastguard Worker } 588*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96,elements_div_96)589*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96, elements_div_96) { 590*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 591*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 592*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 593*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 594*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 595*4bdc9457SAndroid Build Coastguard Worker } 596*4bdc9457SAndroid Build Coastguard Worker } 597*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96,elements_lt_96)598*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96, elements_lt_96) { 599*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 600*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 601*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 602*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 603*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 604*4bdc9457SAndroid Build Coastguard Worker } 605*4bdc9457SAndroid Build Coastguard Worker } 606*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96,elements_gt_96)607*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96, elements_gt_96) { 608*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 609*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 610*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 611*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 612*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 613*4bdc9457SAndroid Build Coastguard Worker } 614*4bdc9457SAndroid Build Coastguard Worker } 615*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96,scale)616*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX2_P5_X96, scale) { 617*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 618*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 480; elements += 95) { 619*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 620*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 621*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 622*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 623*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 624*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 625*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 626*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx2_p5_x96); 627*4bdc9457SAndroid Build Coastguard Worker } 628*4bdc9457SAndroid Build Coastguard Worker } 629*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 630*4bdc9457SAndroid Build Coastguard Worker 631*4bdc9457SAndroid Build Coastguard Worker 632*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16,elements_eq_16)633*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16, elements_eq_16) { 634*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 635*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 636*4bdc9457SAndroid Build Coastguard Worker .elements(16) 637*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 638*4bdc9457SAndroid Build Coastguard Worker } 639*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16,elements_div_16)640*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16, elements_div_16) { 641*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 642*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 32; elements < 160; elements += 16) { 643*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 644*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 645*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 646*4bdc9457SAndroid Build Coastguard Worker } 647*4bdc9457SAndroid Build Coastguard Worker } 648*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16,elements_lt_16)649*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16, elements_lt_16) { 650*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 651*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 16; elements++) { 652*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 653*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 654*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 655*4bdc9457SAndroid Build Coastguard Worker } 656*4bdc9457SAndroid Build Coastguard Worker } 657*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16,elements_gt_16)658*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16, elements_gt_16) { 659*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 660*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 17; elements < 32; elements++) { 661*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 662*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 663*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 664*4bdc9457SAndroid Build Coastguard Worker } 665*4bdc9457SAndroid Build Coastguard Worker } 666*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16,scale)667*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X16, scale) { 668*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 669*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 80; elements += 15) { 670*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 671*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 672*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 673*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 674*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 675*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 676*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 677*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x16); 678*4bdc9457SAndroid Build Coastguard Worker } 679*4bdc9457SAndroid Build Coastguard Worker } 680*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 681*4bdc9457SAndroid Build Coastguard Worker 682*4bdc9457SAndroid Build Coastguard Worker 683*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32,elements_eq_32)684*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32, elements_eq_32) { 685*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 686*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 687*4bdc9457SAndroid Build Coastguard Worker .elements(32) 688*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 689*4bdc9457SAndroid Build Coastguard Worker } 690*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32,elements_div_32)691*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32, elements_div_32) { 692*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 693*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 64; elements < 320; elements += 32) { 694*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 695*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 696*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 697*4bdc9457SAndroid Build Coastguard Worker } 698*4bdc9457SAndroid Build Coastguard Worker } 699*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32,elements_lt_32)700*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32, elements_lt_32) { 701*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 702*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 32; elements++) { 703*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 704*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 705*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 706*4bdc9457SAndroid Build Coastguard Worker } 707*4bdc9457SAndroid Build Coastguard Worker } 708*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32,elements_gt_32)709*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32, elements_gt_32) { 710*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 711*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 33; elements < 64; elements++) { 712*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 713*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 714*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 715*4bdc9457SAndroid Build Coastguard Worker } 716*4bdc9457SAndroid Build Coastguard Worker } 717*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32,scale)718*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X32, scale) { 719*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 720*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 160; elements += 31) { 721*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 722*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 723*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 724*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 725*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 726*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 727*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 728*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x32); 729*4bdc9457SAndroid Build Coastguard Worker } 730*4bdc9457SAndroid Build Coastguard Worker } 731*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 732*4bdc9457SAndroid Build Coastguard Worker 733*4bdc9457SAndroid Build Coastguard Worker 734*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48,elements_eq_48)735*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48, elements_eq_48) { 736*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 737*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 738*4bdc9457SAndroid Build Coastguard Worker .elements(48) 739*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 740*4bdc9457SAndroid Build Coastguard Worker } 741*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48,elements_div_48)742*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48, elements_div_48) { 743*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 744*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 96; elements < 480; elements += 48) { 745*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 746*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 747*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 748*4bdc9457SAndroid Build Coastguard Worker } 749*4bdc9457SAndroid Build Coastguard Worker } 750*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48,elements_lt_48)751*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48, elements_lt_48) { 752*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 753*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 48; elements++) { 754*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 755*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 756*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 757*4bdc9457SAndroid Build Coastguard Worker } 758*4bdc9457SAndroid Build Coastguard Worker } 759*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48,elements_gt_48)760*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48, elements_gt_48) { 761*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 762*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 49; elements < 96; elements++) { 763*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 764*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 765*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 766*4bdc9457SAndroid Build Coastguard Worker } 767*4bdc9457SAndroid Build Coastguard Worker } 768*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48,scale)769*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X48, scale) { 770*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 771*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 240; elements += 47) { 772*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 773*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 774*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 775*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 776*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 777*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 778*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 779*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x48); 780*4bdc9457SAndroid Build Coastguard Worker } 781*4bdc9457SAndroid Build Coastguard Worker } 782*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 783*4bdc9457SAndroid Build Coastguard Worker 784*4bdc9457SAndroid Build Coastguard Worker 785*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64,elements_eq_64)786*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64, elements_eq_64) { 787*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 788*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 789*4bdc9457SAndroid Build Coastguard Worker .elements(64) 790*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 791*4bdc9457SAndroid Build Coastguard Worker } 792*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64,elements_div_64)793*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64, elements_div_64) { 794*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 795*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 128; elements < 640; elements += 64) { 796*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 797*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 798*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 799*4bdc9457SAndroid Build Coastguard Worker } 800*4bdc9457SAndroid Build Coastguard Worker } 801*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64,elements_lt_64)802*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64, elements_lt_64) { 803*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 804*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 64; elements++) { 805*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 806*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 807*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 808*4bdc9457SAndroid Build Coastguard Worker } 809*4bdc9457SAndroid Build Coastguard Worker } 810*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64,elements_gt_64)811*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64, elements_gt_64) { 812*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 813*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 65; elements < 128; elements++) { 814*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 815*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 816*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 817*4bdc9457SAndroid Build Coastguard Worker } 818*4bdc9457SAndroid Build Coastguard Worker } 819*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64,scale)820*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X64, scale) { 821*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 822*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 320; elements += 63) { 823*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 824*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 825*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 826*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 827*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 828*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 829*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 830*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x64); 831*4bdc9457SAndroid Build Coastguard Worker } 832*4bdc9457SAndroid Build Coastguard Worker } 833*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 834*4bdc9457SAndroid Build Coastguard Worker 835*4bdc9457SAndroid Build Coastguard Worker 836*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80,elements_eq_80)837*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80, elements_eq_80) { 838*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 839*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 840*4bdc9457SAndroid Build Coastguard Worker .elements(80) 841*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 842*4bdc9457SAndroid Build Coastguard Worker } 843*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80,elements_div_80)844*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80, elements_div_80) { 845*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 846*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 160; elements < 800; elements += 80) { 847*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 848*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 849*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 850*4bdc9457SAndroid Build Coastguard Worker } 851*4bdc9457SAndroid Build Coastguard Worker } 852*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80,elements_lt_80)853*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80, elements_lt_80) { 854*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 855*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 80; elements++) { 856*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 857*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 858*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 859*4bdc9457SAndroid Build Coastguard Worker } 860*4bdc9457SAndroid Build Coastguard Worker } 861*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80,elements_gt_80)862*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80, elements_gt_80) { 863*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 864*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 81; elements < 160; elements++) { 865*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 866*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 867*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 868*4bdc9457SAndroid Build Coastguard Worker } 869*4bdc9457SAndroid Build Coastguard Worker } 870*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80,scale)871*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X80, scale) { 872*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 873*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 400; elements += 79) { 874*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 875*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 876*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 877*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 878*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 879*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 880*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 881*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x80); 882*4bdc9457SAndroid Build Coastguard Worker } 883*4bdc9457SAndroid Build Coastguard Worker } 884*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 885*4bdc9457SAndroid Build Coastguard Worker 886*4bdc9457SAndroid Build Coastguard Worker 887*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96,elements_eq_96)888*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96, elements_eq_96) { 889*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 890*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 891*4bdc9457SAndroid Build Coastguard Worker .elements(96) 892*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 893*4bdc9457SAndroid Build Coastguard Worker } 894*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96,elements_div_96)895*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96, elements_div_96) { 896*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 897*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 898*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 899*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 900*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 901*4bdc9457SAndroid Build Coastguard Worker } 902*4bdc9457SAndroid Build Coastguard Worker } 903*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96,elements_lt_96)904*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96, elements_lt_96) { 905*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 906*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 907*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 908*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 909*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 910*4bdc9457SAndroid Build Coastguard Worker } 911*4bdc9457SAndroid Build Coastguard Worker } 912*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96,elements_gt_96)913*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96, elements_gt_96) { 914*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 915*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 916*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 917*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 918*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 919*4bdc9457SAndroid Build Coastguard Worker } 920*4bdc9457SAndroid Build Coastguard Worker } 921*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96,scale)922*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X96, scale) { 923*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 924*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 480; elements += 95) { 925*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 926*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 927*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 928*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 929*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 930*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 931*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 932*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x96); 933*4bdc9457SAndroid Build Coastguard Worker } 934*4bdc9457SAndroid Build Coastguard Worker } 935*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 936*4bdc9457SAndroid Build Coastguard Worker 937*4bdc9457SAndroid Build Coastguard Worker 938*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112,elements_eq_112)939*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112, elements_eq_112) { 940*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 941*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 942*4bdc9457SAndroid Build Coastguard Worker .elements(112) 943*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 944*4bdc9457SAndroid Build Coastguard Worker } 945*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112,elements_div_112)946*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112, elements_div_112) { 947*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 948*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 224; elements < 1120; elements += 112) { 949*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 950*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 951*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 952*4bdc9457SAndroid Build Coastguard Worker } 953*4bdc9457SAndroid Build Coastguard Worker } 954*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112,elements_lt_112)955*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112, elements_lt_112) { 956*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 957*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 112; elements++) { 958*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 959*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 960*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 961*4bdc9457SAndroid Build Coastguard Worker } 962*4bdc9457SAndroid Build Coastguard Worker } 963*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112,elements_gt_112)964*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112, elements_gt_112) { 965*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 966*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 113; elements < 224; elements++) { 967*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 968*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 969*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 970*4bdc9457SAndroid Build Coastguard Worker } 971*4bdc9457SAndroid Build Coastguard Worker } 972*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112,scale)973*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X112, scale) { 974*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 975*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 560; elements += 111) { 976*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 977*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 978*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 979*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 980*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 981*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 982*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 983*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x112); 984*4bdc9457SAndroid Build Coastguard Worker } 985*4bdc9457SAndroid Build Coastguard Worker } 986*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 987*4bdc9457SAndroid Build Coastguard Worker 988*4bdc9457SAndroid Build Coastguard Worker 989*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_eq_128)990*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_eq_128) { 991*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 992*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 993*4bdc9457SAndroid Build Coastguard Worker .elements(128) 994*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 995*4bdc9457SAndroid Build Coastguard Worker } 996*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_div_128)997*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_div_128) { 998*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 999*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 256; elements < 1280; elements += 128) { 1000*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1001*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1002*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 1003*4bdc9457SAndroid Build Coastguard Worker } 1004*4bdc9457SAndroid Build Coastguard Worker } 1005*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_lt_128)1006*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_lt_128) { 1007*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1008*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 128; elements++) { 1009*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1010*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1011*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 1012*4bdc9457SAndroid Build Coastguard Worker } 1013*4bdc9457SAndroid Build Coastguard Worker } 1014*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128,elements_gt_128)1015*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128, elements_gt_128) { 1016*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1017*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 129; elements < 256; elements++) { 1018*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1019*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1020*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 1021*4bdc9457SAndroid Build Coastguard Worker } 1022*4bdc9457SAndroid Build Coastguard Worker } 1023*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128,scale)1024*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X128, scale) { 1025*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1026*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 640; elements += 127) { 1027*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1028*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1029*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 1030*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 1031*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1032*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1033*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 1034*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x128); 1035*4bdc9457SAndroid Build Coastguard Worker } 1036*4bdc9457SAndroid Build Coastguard Worker } 1037*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 1038*4bdc9457SAndroid Build Coastguard Worker 1039*4bdc9457SAndroid Build Coastguard Worker 1040*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_eq_144)1041*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_eq_144) { 1042*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1043*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1044*4bdc9457SAndroid Build Coastguard Worker .elements(144) 1045*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1046*4bdc9457SAndroid Build Coastguard Worker } 1047*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_div_144)1048*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_div_144) { 1049*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1050*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 288; elements < 1440; elements += 144) { 1051*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1052*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1053*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1054*4bdc9457SAndroid Build Coastguard Worker } 1055*4bdc9457SAndroid Build Coastguard Worker } 1056*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_lt_144)1057*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_lt_144) { 1058*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1059*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 144; elements++) { 1060*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1061*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1062*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1063*4bdc9457SAndroid Build Coastguard Worker } 1064*4bdc9457SAndroid Build Coastguard Worker } 1065*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144,elements_gt_144)1066*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144, elements_gt_144) { 1067*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1068*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 145; elements < 288; elements++) { 1069*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1070*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1071*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1072*4bdc9457SAndroid Build Coastguard Worker } 1073*4bdc9457SAndroid Build Coastguard Worker } 1074*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144,scale)1075*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X144, scale) { 1076*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1077*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 720; elements += 143) { 1078*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1079*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1080*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 1081*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1082*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1083*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1084*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 1085*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x144); 1086*4bdc9457SAndroid Build Coastguard Worker } 1087*4bdc9457SAndroid Build Coastguard Worker } 1088*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 1089*4bdc9457SAndroid Build Coastguard Worker 1090*4bdc9457SAndroid Build Coastguard Worker 1091*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_eq_160)1092*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_eq_160) { 1093*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1094*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1095*4bdc9457SAndroid Build Coastguard Worker .elements(160) 1096*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1097*4bdc9457SAndroid Build Coastguard Worker } 1098*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_div_160)1099*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_div_160) { 1100*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1101*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 320; elements < 1600; elements += 160) { 1102*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1103*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1104*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1105*4bdc9457SAndroid Build Coastguard Worker } 1106*4bdc9457SAndroid Build Coastguard Worker } 1107*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_lt_160)1108*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_lt_160) { 1109*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1110*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 160; elements++) { 1111*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1112*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1113*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1114*4bdc9457SAndroid Build Coastguard Worker } 1115*4bdc9457SAndroid Build Coastguard Worker } 1116*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160,elements_gt_160)1117*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160, elements_gt_160) { 1118*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1119*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 161; elements < 320; elements++) { 1120*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1121*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1122*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1123*4bdc9457SAndroid Build Coastguard Worker } 1124*4bdc9457SAndroid Build Coastguard Worker } 1125*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160,scale)1126*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X160, scale) { 1127*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1128*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 800; elements += 159) { 1129*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1130*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1131*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 1132*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1133*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1134*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1135*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 1136*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x160); 1137*4bdc9457SAndroid Build Coastguard Worker } 1138*4bdc9457SAndroid Build Coastguard Worker } 1139*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 1140*4bdc9457SAndroid Build Coastguard Worker 1141*4bdc9457SAndroid Build Coastguard Worker 1142*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176,elements_eq_176)1143*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176, elements_eq_176) { 1144*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1145*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1146*4bdc9457SAndroid Build Coastguard Worker .elements(176) 1147*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1148*4bdc9457SAndroid Build Coastguard Worker } 1149*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176,elements_div_176)1150*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176, elements_div_176) { 1151*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1152*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 352; elements < 1760; elements += 176) { 1153*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1154*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1155*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1156*4bdc9457SAndroid Build Coastguard Worker } 1157*4bdc9457SAndroid Build Coastguard Worker } 1158*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176,elements_lt_176)1159*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176, elements_lt_176) { 1160*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1161*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 176; elements++) { 1162*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1163*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1164*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1165*4bdc9457SAndroid Build Coastguard Worker } 1166*4bdc9457SAndroid Build Coastguard Worker } 1167*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176,elements_gt_176)1168*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176, elements_gt_176) { 1169*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1170*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 177; elements < 352; elements++) { 1171*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1172*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1173*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1174*4bdc9457SAndroid Build Coastguard Worker } 1175*4bdc9457SAndroid Build Coastguard Worker } 1176*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176,scale)1177*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X176, scale) { 1178*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1179*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 880; elements += 175) { 1180*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1181*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1182*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 1183*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1184*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1185*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1186*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 1187*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x176); 1188*4bdc9457SAndroid Build Coastguard Worker } 1189*4bdc9457SAndroid Build Coastguard Worker } 1190*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 1191*4bdc9457SAndroid Build Coastguard Worker 1192*4bdc9457SAndroid Build Coastguard Worker 1193*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_eq_192)1194*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_eq_192) { 1195*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1196*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1197*4bdc9457SAndroid Build Coastguard Worker .elements(192) 1198*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1199*4bdc9457SAndroid Build Coastguard Worker } 1200*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_div_192)1201*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_div_192) { 1202*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1203*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 384; elements < 1920; elements += 192) { 1204*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1205*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1206*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1207*4bdc9457SAndroid Build Coastguard Worker } 1208*4bdc9457SAndroid Build Coastguard Worker } 1209*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_lt_192)1210*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_lt_192) { 1211*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1212*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 192; elements++) { 1213*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1214*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1215*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1216*4bdc9457SAndroid Build Coastguard Worker } 1217*4bdc9457SAndroid Build Coastguard Worker } 1218*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192,elements_gt_192)1219*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192, elements_gt_192) { 1220*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1221*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 193; elements < 384; elements++) { 1222*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1223*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1224*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1225*4bdc9457SAndroid Build Coastguard Worker } 1226*4bdc9457SAndroid Build Coastguard Worker } 1227*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192,scale)1228*4bdc9457SAndroid Build Coastguard Worker TEST(F32_VSCALEEXPMINUSMAX__AVX512F_P5_SCALEF_X192, scale) { 1229*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 1230*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements <= 960; elements += 191) { 1231*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1232*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1233*4bdc9457SAndroid Build Coastguard Worker .scale(0.01f) 1234*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1235*4bdc9457SAndroid Build Coastguard Worker VScaleExpMinusMaxMicrokernelTester() 1236*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 1237*4bdc9457SAndroid Build Coastguard Worker .scale(100.0f) 1238*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_vscaleexpminusmax_ukernel__avx512f_p5_scalef_x192); 1239*4bdc9457SAndroid Build Coastguard Worker } 1240*4bdc9457SAndroid Build Coastguard Worker } 1241*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 1242