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-raddextexp.yaml 8*4bdc9457SAndroid Build Coastguard Worker // Generator: tools/generate-raddextexp-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/raddextexp.h> 17*4bdc9457SAndroid Build Coastguard Worker #include "raddextexp-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_RADDEXTEXP__AVX2_P5_X64,elements_eq_64)21*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64, elements_eq_64) { 22*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 23*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 24*4bdc9457SAndroid Build Coastguard Worker .elements(64) 25*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64); 26*4bdc9457SAndroid Build Coastguard Worker } 27*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64,elements_div_64)28*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64, elements_div_64) { 29*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 30*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 128; elements < 640; elements += 64) { 31*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 32*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 33*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64); 34*4bdc9457SAndroid Build Coastguard Worker } 35*4bdc9457SAndroid Build Coastguard Worker } 36*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64,elements_lt_64)37*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64, elements_lt_64) { 38*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 39*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 64; elements++) { 40*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 41*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 42*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64); 43*4bdc9457SAndroid Build Coastguard Worker } 44*4bdc9457SAndroid Build Coastguard Worker } 45*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64,elements_gt_64)46*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64, elements_gt_64) { 47*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 48*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 65; elements < 128; elements++) { 49*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 50*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 51*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64); 52*4bdc9457SAndroid Build Coastguard Worker } 53*4bdc9457SAndroid Build Coastguard Worker } 54*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 55*4bdc9457SAndroid Build Coastguard Worker 56*4bdc9457SAndroid Build Coastguard Worker 57*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2,elements_eq_64)58*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2, elements_eq_64) { 59*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 60*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 61*4bdc9457SAndroid Build Coastguard Worker .elements(64) 62*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc2); 63*4bdc9457SAndroid Build Coastguard Worker } 64*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2,elements_div_64)65*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2, elements_div_64) { 66*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 67*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 128; elements < 640; elements += 64) { 68*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 69*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 70*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc2); 71*4bdc9457SAndroid Build Coastguard Worker } 72*4bdc9457SAndroid Build Coastguard Worker } 73*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2,elements_lt_64)74*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2, elements_lt_64) { 75*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 76*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 64; elements++) { 77*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 78*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 79*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc2); 80*4bdc9457SAndroid Build Coastguard Worker } 81*4bdc9457SAndroid Build Coastguard Worker } 82*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2,elements_gt_64)83*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC2, elements_gt_64) { 84*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 85*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 65; elements < 128; elements++) { 86*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 87*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 88*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc2); 89*4bdc9457SAndroid Build Coastguard Worker } 90*4bdc9457SAndroid Build Coastguard Worker } 91*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 92*4bdc9457SAndroid Build Coastguard Worker 93*4bdc9457SAndroid Build Coastguard Worker 94*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4,elements_eq_64)95*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4, elements_eq_64) { 96*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 97*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 98*4bdc9457SAndroid Build Coastguard Worker .elements(64) 99*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc4); 100*4bdc9457SAndroid Build Coastguard Worker } 101*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4,elements_div_64)102*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4, elements_div_64) { 103*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 104*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 128; elements < 640; elements += 64) { 105*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 106*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 107*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc4); 108*4bdc9457SAndroid Build Coastguard Worker } 109*4bdc9457SAndroid Build Coastguard Worker } 110*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4,elements_lt_64)111*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4, elements_lt_64) { 112*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 113*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 64; elements++) { 114*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 115*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 116*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc4); 117*4bdc9457SAndroid Build Coastguard Worker } 118*4bdc9457SAndroid Build Coastguard Worker } 119*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4,elements_gt_64)120*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X64_ACC4, elements_gt_64) { 121*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 122*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 65; elements < 128; elements++) { 123*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 124*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 125*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x64_acc4); 126*4bdc9457SAndroid Build Coastguard Worker } 127*4bdc9457SAndroid Build Coastguard Worker } 128*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 129*4bdc9457SAndroid Build Coastguard Worker 130*4bdc9457SAndroid Build Coastguard Worker 131*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X72,elements_eq_72)132*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72, elements_eq_72) { 133*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 134*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 135*4bdc9457SAndroid Build Coastguard Worker .elements(72) 136*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72); 137*4bdc9457SAndroid Build Coastguard Worker } 138*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72,elements_div_72)139*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72, elements_div_72) { 140*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 141*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 144; elements < 720; elements += 72) { 142*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 143*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 144*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72); 145*4bdc9457SAndroid Build Coastguard Worker } 146*4bdc9457SAndroid Build Coastguard Worker } 147*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72,elements_lt_72)148*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72, elements_lt_72) { 149*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 150*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 72; elements++) { 151*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 152*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 153*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72); 154*4bdc9457SAndroid Build Coastguard Worker } 155*4bdc9457SAndroid Build Coastguard Worker } 156*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72,elements_gt_72)157*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72, elements_gt_72) { 158*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 159*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 73; elements < 144; elements++) { 160*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 161*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 162*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72); 163*4bdc9457SAndroid Build Coastguard Worker } 164*4bdc9457SAndroid Build Coastguard Worker } 165*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 166*4bdc9457SAndroid Build Coastguard Worker 167*4bdc9457SAndroid Build Coastguard Worker 168*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3,elements_eq_72)169*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3, elements_eq_72) { 170*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 171*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 172*4bdc9457SAndroid Build Coastguard Worker .elements(72) 173*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72_acc3); 174*4bdc9457SAndroid Build Coastguard Worker } 175*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3,elements_div_72)176*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3, elements_div_72) { 177*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 178*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 144; elements < 720; elements += 72) { 179*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 180*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 181*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72_acc3); 182*4bdc9457SAndroid Build Coastguard Worker } 183*4bdc9457SAndroid Build Coastguard Worker } 184*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3,elements_lt_72)185*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3, elements_lt_72) { 186*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 187*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 72; elements++) { 188*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 189*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 190*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72_acc3); 191*4bdc9457SAndroid Build Coastguard Worker } 192*4bdc9457SAndroid Build Coastguard Worker } 193*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3,elements_gt_72)194*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X72_ACC3, elements_gt_72) { 195*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 196*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 73; elements < 144; elements++) { 197*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 198*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 199*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x72_acc3); 200*4bdc9457SAndroid Build Coastguard Worker } 201*4bdc9457SAndroid Build Coastguard Worker } 202*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 203*4bdc9457SAndroid Build Coastguard Worker 204*4bdc9457SAndroid Build Coastguard Worker 205*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X80,elements_eq_80)206*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80, elements_eq_80) { 207*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 208*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 209*4bdc9457SAndroid Build Coastguard Worker .elements(80) 210*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80); 211*4bdc9457SAndroid Build Coastguard Worker } 212*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80,elements_div_80)213*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80, elements_div_80) { 214*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 215*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 160; elements < 800; elements += 80) { 216*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 217*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 218*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80); 219*4bdc9457SAndroid Build Coastguard Worker } 220*4bdc9457SAndroid Build Coastguard Worker } 221*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80,elements_lt_80)222*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80, elements_lt_80) { 223*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 224*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 80; elements++) { 225*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 226*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 227*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80); 228*4bdc9457SAndroid Build Coastguard Worker } 229*4bdc9457SAndroid Build Coastguard Worker } 230*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80,elements_gt_80)231*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80, elements_gt_80) { 232*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 233*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 81; elements < 160; elements++) { 234*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 235*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 236*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80); 237*4bdc9457SAndroid Build Coastguard Worker } 238*4bdc9457SAndroid Build Coastguard Worker } 239*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 240*4bdc9457SAndroid Build Coastguard Worker 241*4bdc9457SAndroid Build Coastguard Worker 242*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2,elements_eq_80)243*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2, elements_eq_80) { 244*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 245*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 246*4bdc9457SAndroid Build Coastguard Worker .elements(80) 247*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc2); 248*4bdc9457SAndroid Build Coastguard Worker } 249*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2,elements_div_80)250*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2, elements_div_80) { 251*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 252*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 160; elements < 800; elements += 80) { 253*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 254*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 255*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc2); 256*4bdc9457SAndroid Build Coastguard Worker } 257*4bdc9457SAndroid Build Coastguard Worker } 258*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2,elements_lt_80)259*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2, elements_lt_80) { 260*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 261*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 80; elements++) { 262*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 263*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 264*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc2); 265*4bdc9457SAndroid Build Coastguard Worker } 266*4bdc9457SAndroid Build Coastguard Worker } 267*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2,elements_gt_80)268*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC2, elements_gt_80) { 269*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 270*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 81; elements < 160; elements++) { 271*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 272*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 273*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc2); 274*4bdc9457SAndroid Build Coastguard Worker } 275*4bdc9457SAndroid Build Coastguard Worker } 276*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 277*4bdc9457SAndroid Build Coastguard Worker 278*4bdc9457SAndroid Build Coastguard Worker 279*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5,elements_eq_80)280*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5, elements_eq_80) { 281*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 282*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 283*4bdc9457SAndroid Build Coastguard Worker .elements(80) 284*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc5); 285*4bdc9457SAndroid Build Coastguard Worker } 286*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5,elements_div_80)287*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5, elements_div_80) { 288*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 289*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 160; elements < 800; elements += 80) { 290*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 291*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 292*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc5); 293*4bdc9457SAndroid Build Coastguard Worker } 294*4bdc9457SAndroid Build Coastguard Worker } 295*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5,elements_lt_80)296*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5, elements_lt_80) { 297*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 298*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 80; elements++) { 299*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 300*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 301*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc5); 302*4bdc9457SAndroid Build Coastguard Worker } 303*4bdc9457SAndroid Build Coastguard Worker } 304*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5,elements_gt_80)305*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X80_ACC5, elements_gt_80) { 306*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 307*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 81; elements < 160; elements++) { 308*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 309*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 310*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x80_acc5); 311*4bdc9457SAndroid Build Coastguard Worker } 312*4bdc9457SAndroid Build Coastguard Worker } 313*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 314*4bdc9457SAndroid Build Coastguard Worker 315*4bdc9457SAndroid Build Coastguard Worker 316*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X96,elements_eq_96)317*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96, elements_eq_96) { 318*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 319*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 320*4bdc9457SAndroid Build Coastguard Worker .elements(96) 321*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96); 322*4bdc9457SAndroid Build Coastguard Worker } 323*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96,elements_div_96)324*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96, elements_div_96) { 325*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 326*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 327*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 328*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 329*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96); 330*4bdc9457SAndroid Build Coastguard Worker } 331*4bdc9457SAndroid Build Coastguard Worker } 332*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96,elements_lt_96)333*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96, elements_lt_96) { 334*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 335*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 336*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 337*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 338*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96); 339*4bdc9457SAndroid Build Coastguard Worker } 340*4bdc9457SAndroid Build Coastguard Worker } 341*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96,elements_gt_96)342*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96, elements_gt_96) { 343*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 344*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 345*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 346*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 347*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96); 348*4bdc9457SAndroid Build Coastguard Worker } 349*4bdc9457SAndroid Build Coastguard Worker } 350*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 351*4bdc9457SAndroid Build Coastguard Worker 352*4bdc9457SAndroid Build Coastguard Worker 353*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2,elements_eq_96)354*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2, elements_eq_96) { 355*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 356*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 357*4bdc9457SAndroid Build Coastguard Worker .elements(96) 358*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc2); 359*4bdc9457SAndroid Build Coastguard Worker } 360*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2,elements_div_96)361*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2, elements_div_96) { 362*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 363*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 364*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 365*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 366*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc2); 367*4bdc9457SAndroid Build Coastguard Worker } 368*4bdc9457SAndroid Build Coastguard Worker } 369*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2,elements_lt_96)370*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2, elements_lt_96) { 371*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 372*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 373*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 374*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 375*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc2); 376*4bdc9457SAndroid Build Coastguard Worker } 377*4bdc9457SAndroid Build Coastguard Worker } 378*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2,elements_gt_96)379*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC2, elements_gt_96) { 380*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 381*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 382*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 383*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 384*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc2); 385*4bdc9457SAndroid Build Coastguard Worker } 386*4bdc9457SAndroid Build Coastguard Worker } 387*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 388*4bdc9457SAndroid Build Coastguard Worker 389*4bdc9457SAndroid Build Coastguard Worker 390*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3,elements_eq_96)391*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3, elements_eq_96) { 392*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 393*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 394*4bdc9457SAndroid Build Coastguard Worker .elements(96) 395*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc3); 396*4bdc9457SAndroid Build Coastguard Worker } 397*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3,elements_div_96)398*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3, elements_div_96) { 399*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 400*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 401*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 402*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 403*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc3); 404*4bdc9457SAndroid Build Coastguard Worker } 405*4bdc9457SAndroid Build Coastguard Worker } 406*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3,elements_lt_96)407*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3, elements_lt_96) { 408*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 409*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 410*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 411*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 412*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc3); 413*4bdc9457SAndroid Build Coastguard Worker } 414*4bdc9457SAndroid Build Coastguard Worker } 415*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3,elements_gt_96)416*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC3, elements_gt_96) { 417*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 418*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 419*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 420*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 421*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc3); 422*4bdc9457SAndroid Build Coastguard Worker } 423*4bdc9457SAndroid Build Coastguard Worker } 424*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 425*4bdc9457SAndroid Build Coastguard Worker 426*4bdc9457SAndroid Build Coastguard Worker 427*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6,elements_eq_96)428*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6, elements_eq_96) { 429*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 430*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 431*4bdc9457SAndroid Build Coastguard Worker .elements(96) 432*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc6); 433*4bdc9457SAndroid Build Coastguard Worker } 434*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6,elements_div_96)435*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6, elements_div_96) { 436*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 437*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 192; elements < 960; elements += 96) { 438*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 439*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 440*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc6); 441*4bdc9457SAndroid Build Coastguard Worker } 442*4bdc9457SAndroid Build Coastguard Worker } 443*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6,elements_lt_96)444*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6, elements_lt_96) { 445*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 446*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 96; elements++) { 447*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 448*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 449*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc6); 450*4bdc9457SAndroid Build Coastguard Worker } 451*4bdc9457SAndroid Build Coastguard Worker } 452*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6,elements_gt_96)453*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX2_P5_X96_ACC6, elements_gt_96) { 454*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX2; 455*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 97; elements < 192; elements++) { 456*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 457*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 458*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx2_p5_x96_acc6); 459*4bdc9457SAndroid Build Coastguard Worker } 460*4bdc9457SAndroid Build Coastguard Worker } 461*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 462*4bdc9457SAndroid Build Coastguard Worker 463*4bdc9457SAndroid Build Coastguard Worker 464*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128,elements_eq_128)465*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128, elements_eq_128) { 466*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 467*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 468*4bdc9457SAndroid Build Coastguard Worker .elements(128) 469*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128); 470*4bdc9457SAndroid Build Coastguard Worker } 471*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128,elements_div_128)472*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128, elements_div_128) { 473*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 474*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 256; elements < 1280; elements += 128) { 475*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 476*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 477*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128); 478*4bdc9457SAndroid Build Coastguard Worker } 479*4bdc9457SAndroid Build Coastguard Worker } 480*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128,elements_lt_128)481*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128, elements_lt_128) { 482*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 483*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 128; elements++) { 484*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 485*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 486*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128); 487*4bdc9457SAndroid Build Coastguard Worker } 488*4bdc9457SAndroid Build Coastguard Worker } 489*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128,elements_gt_128)490*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128, elements_gt_128) { 491*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 492*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 129; elements < 256; elements++) { 493*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 494*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 495*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128); 496*4bdc9457SAndroid Build Coastguard Worker } 497*4bdc9457SAndroid Build Coastguard Worker } 498*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 499*4bdc9457SAndroid Build Coastguard Worker 500*4bdc9457SAndroid Build Coastguard Worker 501*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2,elements_eq_128)502*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2, elements_eq_128) { 503*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 504*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 505*4bdc9457SAndroid Build Coastguard Worker .elements(128) 506*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc2); 507*4bdc9457SAndroid Build Coastguard Worker } 508*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2,elements_div_128)509*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2, elements_div_128) { 510*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 511*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 256; elements < 1280; elements += 128) { 512*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 513*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 514*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc2); 515*4bdc9457SAndroid Build Coastguard Worker } 516*4bdc9457SAndroid Build Coastguard Worker } 517*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2,elements_lt_128)518*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2, elements_lt_128) { 519*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 520*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 128; elements++) { 521*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 522*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 523*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc2); 524*4bdc9457SAndroid Build Coastguard Worker } 525*4bdc9457SAndroid Build Coastguard Worker } 526*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2,elements_gt_128)527*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC2, elements_gt_128) { 528*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 529*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 129; elements < 256; elements++) { 530*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 531*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 532*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc2); 533*4bdc9457SAndroid Build Coastguard Worker } 534*4bdc9457SAndroid Build Coastguard Worker } 535*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 536*4bdc9457SAndroid Build Coastguard Worker 537*4bdc9457SAndroid Build Coastguard Worker 538*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4,elements_eq_128)539*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4, elements_eq_128) { 540*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 541*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 542*4bdc9457SAndroid Build Coastguard Worker .elements(128) 543*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc4); 544*4bdc9457SAndroid Build Coastguard Worker } 545*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4,elements_div_128)546*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4, elements_div_128) { 547*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 548*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 256; elements < 1280; elements += 128) { 549*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 550*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 551*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc4); 552*4bdc9457SAndroid Build Coastguard Worker } 553*4bdc9457SAndroid Build Coastguard Worker } 554*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4,elements_lt_128)555*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4, elements_lt_128) { 556*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 557*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 128; elements++) { 558*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 559*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 560*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc4); 561*4bdc9457SAndroid Build Coastguard Worker } 562*4bdc9457SAndroid Build Coastguard Worker } 563*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4,elements_gt_128)564*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X128_ACC4, elements_gt_128) { 565*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 566*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 129; elements < 256; elements++) { 567*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 568*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 569*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x128_acc4); 570*4bdc9457SAndroid Build Coastguard Worker } 571*4bdc9457SAndroid Build Coastguard Worker } 572*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 573*4bdc9457SAndroid Build Coastguard Worker 574*4bdc9457SAndroid Build Coastguard Worker 575*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144,elements_eq_144)576*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144, elements_eq_144) { 577*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 578*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 579*4bdc9457SAndroid Build Coastguard Worker .elements(144) 580*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144); 581*4bdc9457SAndroid Build Coastguard Worker } 582*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144,elements_div_144)583*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144, elements_div_144) { 584*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 585*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 288; elements < 1440; elements += 144) { 586*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 587*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 588*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144); 589*4bdc9457SAndroid Build Coastguard Worker } 590*4bdc9457SAndroid Build Coastguard Worker } 591*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144,elements_lt_144)592*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144, elements_lt_144) { 593*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 594*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 144; elements++) { 595*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 596*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 597*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144); 598*4bdc9457SAndroid Build Coastguard Worker } 599*4bdc9457SAndroid Build Coastguard Worker } 600*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144,elements_gt_144)601*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144, elements_gt_144) { 602*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 603*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 145; elements < 288; elements++) { 604*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 605*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 606*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144); 607*4bdc9457SAndroid Build Coastguard Worker } 608*4bdc9457SAndroid Build Coastguard Worker } 609*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 610*4bdc9457SAndroid Build Coastguard Worker 611*4bdc9457SAndroid Build Coastguard Worker 612*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3,elements_eq_144)613*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3, elements_eq_144) { 614*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 615*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 616*4bdc9457SAndroid Build Coastguard Worker .elements(144) 617*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144_acc3); 618*4bdc9457SAndroid Build Coastguard Worker } 619*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3,elements_div_144)620*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3, elements_div_144) { 621*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 622*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 288; elements < 1440; elements += 144) { 623*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 624*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 625*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144_acc3); 626*4bdc9457SAndroid Build Coastguard Worker } 627*4bdc9457SAndroid Build Coastguard Worker } 628*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3,elements_lt_144)629*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3, elements_lt_144) { 630*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 631*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 144; elements++) { 632*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 633*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 634*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144_acc3); 635*4bdc9457SAndroid Build Coastguard Worker } 636*4bdc9457SAndroid Build Coastguard Worker } 637*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3,elements_gt_144)638*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X144_ACC3, elements_gt_144) { 639*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 640*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 145; elements < 288; elements++) { 641*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 642*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 643*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x144_acc3); 644*4bdc9457SAndroid Build Coastguard Worker } 645*4bdc9457SAndroid Build Coastguard Worker } 646*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 647*4bdc9457SAndroid Build Coastguard Worker 648*4bdc9457SAndroid Build Coastguard Worker 649*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160,elements_eq_160)650*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160, elements_eq_160) { 651*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 652*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 653*4bdc9457SAndroid Build Coastguard Worker .elements(160) 654*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160); 655*4bdc9457SAndroid Build Coastguard Worker } 656*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160,elements_div_160)657*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160, elements_div_160) { 658*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 659*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 320; elements < 1600; elements += 160) { 660*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 661*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 662*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160); 663*4bdc9457SAndroid Build Coastguard Worker } 664*4bdc9457SAndroid Build Coastguard Worker } 665*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160,elements_lt_160)666*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160, elements_lt_160) { 667*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 668*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 160; elements++) { 669*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 670*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 671*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160); 672*4bdc9457SAndroid Build Coastguard Worker } 673*4bdc9457SAndroid Build Coastguard Worker } 674*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160,elements_gt_160)675*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160, elements_gt_160) { 676*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 677*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 161; elements < 320; elements++) { 678*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 679*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 680*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160); 681*4bdc9457SAndroid Build Coastguard Worker } 682*4bdc9457SAndroid Build Coastguard Worker } 683*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 684*4bdc9457SAndroid Build Coastguard Worker 685*4bdc9457SAndroid Build Coastguard Worker 686*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2,elements_eq_160)687*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2, elements_eq_160) { 688*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 689*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 690*4bdc9457SAndroid Build Coastguard Worker .elements(160) 691*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc2); 692*4bdc9457SAndroid Build Coastguard Worker } 693*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2,elements_div_160)694*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2, elements_div_160) { 695*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 696*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 320; elements < 1600; elements += 160) { 697*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 698*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 699*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc2); 700*4bdc9457SAndroid Build Coastguard Worker } 701*4bdc9457SAndroid Build Coastguard Worker } 702*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2,elements_lt_160)703*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2, elements_lt_160) { 704*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 705*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 160; elements++) { 706*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 707*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 708*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc2); 709*4bdc9457SAndroid Build Coastguard Worker } 710*4bdc9457SAndroid Build Coastguard Worker } 711*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2,elements_gt_160)712*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC2, elements_gt_160) { 713*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 714*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 161; elements < 320; elements++) { 715*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 716*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 717*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc2); 718*4bdc9457SAndroid Build Coastguard Worker } 719*4bdc9457SAndroid Build Coastguard Worker } 720*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 721*4bdc9457SAndroid Build Coastguard Worker 722*4bdc9457SAndroid Build Coastguard Worker 723*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5,elements_eq_160)724*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5, elements_eq_160) { 725*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 726*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 727*4bdc9457SAndroid Build Coastguard Worker .elements(160) 728*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc5); 729*4bdc9457SAndroid Build Coastguard Worker } 730*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5,elements_div_160)731*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5, elements_div_160) { 732*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 733*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 320; elements < 1600; elements += 160) { 734*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 735*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 736*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc5); 737*4bdc9457SAndroid Build Coastguard Worker } 738*4bdc9457SAndroid Build Coastguard Worker } 739*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5,elements_lt_160)740*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5, elements_lt_160) { 741*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 742*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 160; elements++) { 743*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 744*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 745*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc5); 746*4bdc9457SAndroid Build Coastguard Worker } 747*4bdc9457SAndroid Build Coastguard Worker } 748*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5,elements_gt_160)749*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X160_ACC5, elements_gt_160) { 750*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 751*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 161; elements < 320; elements++) { 752*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 753*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 754*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x160_acc5); 755*4bdc9457SAndroid Build Coastguard Worker } 756*4bdc9457SAndroid Build Coastguard Worker } 757*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 758*4bdc9457SAndroid Build Coastguard Worker 759*4bdc9457SAndroid Build Coastguard Worker 760*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192,elements_eq_192)761*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192, elements_eq_192) { 762*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 763*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 764*4bdc9457SAndroid Build Coastguard Worker .elements(192) 765*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192); 766*4bdc9457SAndroid Build Coastguard Worker } 767*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192,elements_div_192)768*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192, elements_div_192) { 769*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 770*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 384; elements < 1920; elements += 192) { 771*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 772*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 773*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192); 774*4bdc9457SAndroid Build Coastguard Worker } 775*4bdc9457SAndroid Build Coastguard Worker } 776*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192,elements_lt_192)777*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192, elements_lt_192) { 778*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 779*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 192; elements++) { 780*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 781*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 782*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192); 783*4bdc9457SAndroid Build Coastguard Worker } 784*4bdc9457SAndroid Build Coastguard Worker } 785*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192,elements_gt_192)786*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192, elements_gt_192) { 787*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 788*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 193; elements < 384; elements++) { 789*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 790*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 791*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192); 792*4bdc9457SAndroid Build Coastguard Worker } 793*4bdc9457SAndroid Build Coastguard Worker } 794*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 795*4bdc9457SAndroid Build Coastguard Worker 796*4bdc9457SAndroid Build Coastguard Worker 797*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2,elements_eq_192)798*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2, elements_eq_192) { 799*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 800*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 801*4bdc9457SAndroid Build Coastguard Worker .elements(192) 802*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc2); 803*4bdc9457SAndroid Build Coastguard Worker } 804*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2,elements_div_192)805*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2, elements_div_192) { 806*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 807*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 384; elements < 1920; elements += 192) { 808*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 809*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 810*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc2); 811*4bdc9457SAndroid Build Coastguard Worker } 812*4bdc9457SAndroid Build Coastguard Worker } 813*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2,elements_lt_192)814*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2, elements_lt_192) { 815*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 816*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 192; elements++) { 817*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 818*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 819*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc2); 820*4bdc9457SAndroid Build Coastguard Worker } 821*4bdc9457SAndroid Build Coastguard Worker } 822*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2,elements_gt_192)823*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC2, elements_gt_192) { 824*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 825*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 193; elements < 384; elements++) { 826*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 827*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 828*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc2); 829*4bdc9457SAndroid Build Coastguard Worker } 830*4bdc9457SAndroid Build Coastguard Worker } 831*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 832*4bdc9457SAndroid Build Coastguard Worker 833*4bdc9457SAndroid Build Coastguard Worker 834*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3,elements_eq_192)835*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3, elements_eq_192) { 836*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 837*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 838*4bdc9457SAndroid Build Coastguard Worker .elements(192) 839*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc3); 840*4bdc9457SAndroid Build Coastguard Worker } 841*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3,elements_div_192)842*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3, elements_div_192) { 843*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 844*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 384; elements < 1920; elements += 192) { 845*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 846*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 847*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc3); 848*4bdc9457SAndroid Build Coastguard Worker } 849*4bdc9457SAndroid Build Coastguard Worker } 850*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3,elements_lt_192)851*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3, elements_lt_192) { 852*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 853*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 192; elements++) { 854*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 855*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 856*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc3); 857*4bdc9457SAndroid Build Coastguard Worker } 858*4bdc9457SAndroid Build Coastguard Worker } 859*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3,elements_gt_192)860*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC3, elements_gt_192) { 861*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 862*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 193; elements < 384; elements++) { 863*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 864*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 865*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc3); 866*4bdc9457SAndroid Build Coastguard Worker } 867*4bdc9457SAndroid Build Coastguard Worker } 868*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 869*4bdc9457SAndroid Build Coastguard Worker 870*4bdc9457SAndroid Build Coastguard Worker 871*4bdc9457SAndroid Build Coastguard Worker #if XNN_ARCH_X86 || XNN_ARCH_X86_64 TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6,elements_eq_192)872*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6, elements_eq_192) { 873*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 874*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 875*4bdc9457SAndroid Build Coastguard Worker .elements(192) 876*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc6); 877*4bdc9457SAndroid Build Coastguard Worker } 878*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6,elements_div_192)879*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6, elements_div_192) { 880*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 881*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 384; elements < 1920; elements += 192) { 882*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 883*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 884*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc6); 885*4bdc9457SAndroid Build Coastguard Worker } 886*4bdc9457SAndroid Build Coastguard Worker } 887*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6,elements_lt_192)888*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6, elements_lt_192) { 889*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 890*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 1; elements < 192; elements++) { 891*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 892*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 893*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc6); 894*4bdc9457SAndroid Build Coastguard Worker } 895*4bdc9457SAndroid Build Coastguard Worker } 896*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6,elements_gt_192)897*4bdc9457SAndroid Build Coastguard Worker TEST(F32_RADDEXTEXP__AVX512F_P5_SCALEF_X192_ACC6, elements_gt_192) { 898*4bdc9457SAndroid Build Coastguard Worker TEST_REQUIRES_X86_AVX512F; 899*4bdc9457SAndroid Build Coastguard Worker for (size_t elements = 193; elements < 384; elements++) { 900*4bdc9457SAndroid Build Coastguard Worker RAddExtExpMicrokernelTester() 901*4bdc9457SAndroid Build Coastguard Worker .elements(elements) 902*4bdc9457SAndroid Build Coastguard Worker .Test(xnn_f32_raddextexp_ukernel__avx512f_p5_scalef_x192_acc6); 903*4bdc9457SAndroid Build Coastguard Worker } 904*4bdc9457SAndroid Build Coastguard Worker } 905*4bdc9457SAndroid Build Coastguard Worker #endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 906