comparison src/cpu.c @ 31:bf6ad516f1e6

Backed out changeset c6c99ab1088a
author Paper <paper@tflc.us>
date Fri, 25 Apr 2025 17:40:33 -0400
parents c6c99ab1088a
children 8b5e0974fd41
comparison
equal deleted inserted replaced
30:641d8c79b1da 31:bf6ad516f1e6
360 static inline int vec_CPU_have_AVX512F(void) 360 static inline int vec_CPU_have_AVX512F(void)
361 { 361 {
362 if (vec_CPU_OSSavesYMM && (vec_CPU_CPUIDMaxFunction >= 7)) { 362 if (vec_CPU_OSSavesYMM && (vec_CPU_CPUIDMaxFunction >= 7)) {
363 int a, b, c, d; 363 int a, b, c, d;
364 VEC_CPU_CPUID(7, a, b, c, d); 364 VEC_CPU_CPUID(7, a, b, c, d);
365 return b & 0x00010000; 365 return b & 0x00000020;
366 (void)a, (void)c, (void)d;
367 }
368 return 0;
369 }
370
371 static inline int vec_CPU_have_AVX512DQ(void)
372 {
373 if (vec_CPU_OSSavesYMM && (vec_CPU_CPUIDMaxFunction >= 7)) {
374 int a, b, c, d;
375 VEC_CPU_CPUID(7, a, b, c, d);
376 return b & 0x00020000;
377 (void)a, (void)c, (void)d;
378 }
379 return 0;
380 }
381
382 static inline int vec_CPU_have_AVX512BW(void)
383 {
384 if (vec_CPU_OSSavesYMM && (vec_CPU_CPUIDMaxFunction >= 7)) {
385 int a, b, c, d;
386 VEC_CPU_CPUID(7, a, b, c, d);
387 return b & 0x40000000;
388 (void)a, (void)c, (void)d; 366 (void)a, (void)c, (void)d;
389 } 367 }
390 return 0; 368 return 0;
391 } 369 }
392 370
511 vec_CPU_features |= VEC_CPU_HAS_AVX; 489 vec_CPU_features |= VEC_CPU_HAS_AVX;
512 if (vec_CPU_have_AVX2()) 490 if (vec_CPU_have_AVX2())
513 vec_CPU_features |= VEC_CPU_HAS_AVX2; 491 vec_CPU_features |= VEC_CPU_HAS_AVX2;
514 if (vec_CPU_have_AVX512F()) 492 if (vec_CPU_have_AVX512F())
515 vec_CPU_features |= VEC_CPU_HAS_AVX512F; 493 vec_CPU_features |= VEC_CPU_HAS_AVX512F;
516 if (vec_CPU_have_AVX512BW())
517 vec_CPU_features |= VEC_CPU_HAS_AVX512BW;
518 if (vec_CPU_have_AVX512DQ())
519 vec_CPU_features |= VEC_CPU_HAS_AVX512DQ;
520 if (vec_CPU_have_NEON()) 494 if (vec_CPU_have_NEON())
521 vec_CPU_features |= VEC_CPU_HAS_NEON; 495 vec_CPU_features |= VEC_CPU_HAS_NEON;
522 } 496 }
523 return vec_CPU_features; 497 return vec_CPU_features;
524 } 498 }