AVX10 Documentaion has specified ecx value as 0 for AVX10 version and
vector size under 0x24 subleaf. Although for ecx=1, the bits are all
reserved for now, we still need to specify ecx as 0 to avoid dirty
value in ecx.
gcc/ChangeLog:
* common/config/i386/cpuinfo.h (get_available_features): Correct
AVX10 CPUID emulation to specify ecx value.
}
}
- /* Get Advanced Features at level 0x24 (eax = 0x24). */
+ /* Get Advanced Features at level 0x24 (eax = 0x24, ecx = 0). */
if (avx10_set && max_cpuid_level >= 0x24)
{
- __cpuid (0x24, eax, ebx, ecx, edx);
+ __cpuid_count (0x24, 0, eax, ebx, ecx, edx);
version = ebx & 0xff;
if (ebx & bit_AVX10_256)
switch (version)