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