File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -528,12 +528,12 @@ namespace xsimd
528528 __cpuidex (buf, leaf, subleaf);
529529 std::memcpy (reg.data (), buf, sizeof (buf));
530530
531- # elif defined(__INTEL_COMPILER)
532- int buf[ 4 ];
533- __cpuid (buf, leaf);
534- std::memcpy (reg. data (), buf, sizeof (buf));
535-
536- #elif defined(__GNUC__) || defined(__clang__)
531+ // Intel compiler has long had support for `__cpuid`, but only recently for `__cpuidex`.
532+ // Modern Clang and GCC also now support `__cpuidex`.
533+ // It was decided to keep the inline ASM version for maximum compatibility, as the difference
534+ // in ASM is negligible compared to the cost of CPUID.
535+ // https://github.com/xtensor-stack/xsimd/pull/1278
536+ #elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER)
537537
538538#if defined(__i386__) && defined(__PIC__)
539539 // %ebx may be the PIC register
You can’t perform that action at this time.
0 commit comments