================
@@ -978,8 +978,20 @@ static void getAvailableFeatures(unsigned ECX, unsigned
EDX, unsigned MaxLeaf,
bool HasLeaf24 =
MaxLevel >= 0x24 && !getX86CpuIDAndInfo(0x24, &EAX, &EBX, &ECX, &EDX);
- if (HasLeaf7Subleaf1 && ((EDX >> 19) & 1) && HasLeaf24 && ((EBX >> 18) & 1))
- setFeature(FEATURE_AVX10_1_512);
+ if (HasLeaf7Subleaf1 && ((EDX >> 19) & 1) && HasLeaf24) {
+ bool Has512Len = (EBX >> 18) & 1;
+ int AVX10Ver = EBX & 0xff;
+ if (AVX10Ver >= 2) {
+ setFeature(FEATURE_AVX10_2_256);
+ if (Has512Len)
+ setFeature(FEATURE_AVX10_2_512);
+ }
+ if (AVX10Ver >= 1) {
----------------
e-kud wrote:
Is the reason of relanding that compiler-rt parses the literal cpuid without
any implications?
https://github.com/llvm/llvm-project/pull/101616
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits