cpu: add SLOW_GATHER flag

Intel Skylake (level 0x16) is the first model with fast gather
opcodes. Mark lower versions with the SLOW_GATHER flag.

Prefer the SSE2 version of the format conversion without gather when
SLOW_GATHER is set. Makes the conversion much faster on my Ivy
Bridge.
This commit is contained in:
Wim Taymans 2026-03-19 16:21:35 +01:00
parent 5ade045654
commit 3b422e31a2
3 changed files with 9 additions and 0 deletions

View file

@ -78,6 +78,8 @@ x86_init(struct impl *impl)
if ((ebx & AVX512_BITS) == AVX512_BITS)
flags |= SPA_CPU_FLAG_AVX512;
}
if (max_level < 0x16)
flags |= SPA_CPU_FLAG_SLOW_GATHER;
/* Check cpuid level of extended features. */
__cpuid (0x80000000, ext_level, ebx, ecx, edx);