[X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)
According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID bits. Fixes: #135394 (cherry picked from commit ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4)
This commit is contained in:
parent
2e09664082
commit
0c30835a63
@ -56,7 +56,7 @@ void f_default2(void) {
|
||||
__attribute__((target("avx, sse4.2, arch= ivybridge")))
|
||||
void f_avx_sse4_2_ivybridge_2(void) {}
|
||||
|
||||
// CHECK: [[f_no_aes_ivybridge]] = {{.*}}"target-cpu"="ivybridge" "target-features"="+avx,+cmov,+crc32,+cx16,+cx8,+f16c,+fsgsbase,+fxsr,+mmx,+pclmul,+popcnt,+rdrnd,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave,+xsaveopt,-aes,-amx-avx512,-avx10.1-256,-avx10.1-512,-avx10.2-256,-avx10.2-512,-vaes"
|
||||
// CHECK: [[f_no_aes_ivybridge]] = {{.*}}"target-cpu"="ivybridge" "target-features"="+avx,+cmov,+crc32,+cx16,+cx8,+f16c,+fsgsbase,+fxsr,+mmx,+pclmul,+popcnt,+rdrnd,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave,+xsaveopt,-aes,-vaes"
|
||||
__attribute__((target("no-aes, arch=ivybridge")))
|
||||
void f_no_aes_ivybridge(void) {}
|
||||
|
||||
@ -98,11 +98,11 @@ void f_x86_64_v3(void) {}
|
||||
__attribute__((target("arch=x86-64-v4")))
|
||||
void f_x86_64_v4(void) {}
|
||||
|
||||
// CHECK: [[f_avx10_1_256]] = {{.*}}"target-cpu"="i686" "target-features"="+aes,+avx,+avx10.1-256,+avx2,+avx512bf16,+avx512bitalg,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512fp16,+avx512ifma,+avx512vbmi,+avx512vbmi2,+avx512vl,+avx512vnni,+avx512vpopcntdq,+cmov,+crc32,+cx8,+f16c,+fma,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+vaes,+vpclmulqdq,+x87,+xsave,-amx-avx512,-avx10.1-512,-avx10.2-512,-evex512"
|
||||
// CHECK: [[f_avx10_1_256]] = {{.*}}"target-cpu"="i686" "target-features"="+avx,+avx10.1-256,+avx2,+avx512bf16,+avx512bitalg,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512fp16,+avx512ifma,+avx512vbmi,+avx512vbmi2,+avx512vl,+avx512vnni,+avx512vpopcntdq,+cmov,+crc32,+cx8,+f16c,+fma,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave,-amx-avx512,-avx10.1-512,-avx10.2-512,-evex512"
|
||||
__attribute__((target("avx10.1-256")))
|
||||
void f_avx10_1_256(void) {}
|
||||
|
||||
// CHECK: [[f_avx10_1_512]] = {{.*}}"target-cpu"="i686" "target-features"="+aes,+avx,+avx10.1-256,+avx10.1-512,+avx2,+avx512bf16,+avx512bitalg,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512fp16,+avx512ifma,+avx512vbmi,+avx512vbmi2,+avx512vl,+avx512vnni,+avx512vpopcntdq,+cmov,+crc32,+cx8,+evex512,+f16c,+fma,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+vaes,+vpclmulqdq,+x87,+xsave"
|
||||
// CHECK: [[f_avx10_1_512]] = {{.*}}"target-cpu"="i686" "target-features"="+avx,+avx10.1-256,+avx10.1-512,+avx2,+avx512bf16,+avx512bitalg,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512fp16,+avx512ifma,+avx512vbmi,+avx512vbmi2,+avx512vl,+avx512vnni,+avx512vpopcntdq,+cmov,+crc32,+cx8,+evex512,+f16c,+fma,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave"
|
||||
__attribute__((target("avx10.1-512")))
|
||||
void f_avx10_1_512(void) {}
|
||||
|
||||
@ -112,4 +112,4 @@ void f_prefer_256_bit(void) {}
|
||||
|
||||
// CHECK: [[f_no_prefer_256_bit]] = {{.*}}"target-features"="{{.*}}-prefer-256-bit
|
||||
__attribute__((target("no-prefer-256-bit")))
|
||||
void f_no_prefer_256_bit(void) {}
|
||||
void f_no_prefer_256_bit(void) {}
|
||||
|
||||
@ -338,7 +338,7 @@ def FeatureAVX10_1 : SubtargetFeature<"avx10.1-256", "HasAVX10_1", "true",
|
||||
"Support AVX10.1 up to 256-bit instruction",
|
||||
[FeatureCDI, FeatureVBMI, FeatureIFMA, FeatureVNNI,
|
||||
FeatureBF16, FeatureVPOPCNTDQ, FeatureVBMI2, FeatureBITALG,
|
||||
FeatureVAES, FeatureVPCLMULQDQ, FeatureFP16]>;
|
||||
FeatureFP16]>;
|
||||
def FeatureAVX10_1_512 : SubtargetFeature<"avx10.1-512", "HasAVX10_1_512", "true",
|
||||
"Support AVX10.1 up to 512-bit instruction",
|
||||
[FeatureAVX10_1, FeatureEVEX512]>;
|
||||
|
||||
@ -637,8 +637,7 @@ constexpr FeatureBitset ImpliedFeaturesAVXVNNI = FeatureAVX2;
|
||||
constexpr FeatureBitset ImpliedFeaturesAVX10_1 =
|
||||
FeatureAVX512CD | FeatureAVX512VBMI | FeatureAVX512IFMA |
|
||||
FeatureAVX512VNNI | FeatureAVX512BF16 | FeatureAVX512VPOPCNTDQ |
|
||||
FeatureAVX512VBMI2 | FeatureAVX512BITALG | FeatureVAES | FeatureVPCLMULQDQ |
|
||||
FeatureAVX512FP16;
|
||||
FeatureAVX512VBMI2 | FeatureAVX512BITALG | FeatureAVX512FP16;
|
||||
constexpr FeatureBitset ImpliedFeaturesAVX10_1_512 =
|
||||
FeatureAVX10_1 | FeatureEVEX512;
|
||||
constexpr FeatureBitset ImpliedFeaturesAVX10_2 = FeatureAVX10_1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user