forked from OSchip/llvm-project
[AArch64] Fix AArch64TargetParser.def to match AArch64.td.
Currently, we have two different lists of features each CPU supports... and those lists aren't consistent. This patch assumes AArch64.td is right, and tries to fix AArch64TargetParser to match. It's hard to find documentation for the right features, but reviewers have confirmed these changes. Probably we should try to unify the two lists at some point, but synchronizing them seems like a prerequisite to that anyway. Differential Revision: https://reviews.llvm.org/D122274
This commit is contained in:
parent
ff6696c842
commit
72517e27c1
|
@ -168,10 +168,10 @@ AARCH64_CPU_NAME("cortex-a510", ARMV9A, FK_NEON_FP_ARMV8, false,
|
|||
AARCH64_CPU_NAME("cortex-a57", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC))
|
||||
AARCH64_CPU_NAME("cortex-a65", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 | AArch64::AEK_RAS |
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SSBS))
|
||||
AARCH64_CPU_NAME("cortex-a65ae", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 | AArch64::AEK_RAS |
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SSBS))
|
||||
AARCH64_CPU_NAME("cortex-a72", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC))
|
||||
|
@ -190,10 +190,11 @@ AARCH64_CPU_NAME("cortex-a77", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
|||
AArch64::AEK_SSBS))
|
||||
AARCH64_CPU_NAME("cortex-a78", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS))
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PROFILE))
|
||||
AARCH64_CPU_NAME("cortex-a78c", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS))
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PROFILE | AArch64::AEK_FLAGM |
|
||||
AArch64::AEK_PAUTH | AArch64::AEK_FP16FML))
|
||||
AARCH64_CPU_NAME("cortex-a710", ARMV9A, FK_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_MTE | AArch64::AEK_PAUTH | AArch64::AEK_FLAGM |
|
||||
AArch64::AEK_SB | AArch64::AEK_I8MM | AArch64::AEK_FP16FML |
|
||||
|
@ -203,35 +204,37 @@ AARCH64_CPU_NAME("cortex-r82", ARMV8R, FK_CRYPTO_NEON_FP_ARMV8, false,
|
|||
(AArch64::AEK_LSE))
|
||||
AARCH64_CPU_NAME("cortex-x1", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS))
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PROFILE))
|
||||
AARCH64_CPU_NAME("cortex-x1c", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PAUTH))
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PAUTH | AArch64::AEK_PROFILE))
|
||||
AARCH64_CPU_NAME("cortex-x2", ARMV9A, FK_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_MTE | AArch64::AEK_BF16 | AArch64::AEK_I8MM |
|
||||
AArch64::AEK_PAUTH | AArch64::AEK_SSBS | AArch64::AEK_SB |
|
||||
AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM |
|
||||
AArch64::AEK_FP16FML))
|
||||
AARCH64_CPU_NAME("neoverse-e1", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 | AArch64::AEK_RAS |
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SSBS))
|
||||
AARCH64_CPU_NAME("neoverse-n1", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_RAS | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS))
|
||||
AARCH64_CPU_NAME("neoverse-n2", ARMV8_5A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_BF16 | AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_I8MM | AArch64::AEK_MTE | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SB | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_I8MM | AArch64::AEK_MTE |
|
||||
AArch64::AEK_SB | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM))
|
||||
AARCH64_CPU_NAME("neoverse-512tvb", ARMV8_4A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_RAS | AArch64::AEK_SVE | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_DOTPROD ))
|
||||
(AArch64::AEK_SVE | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_PROFILE |
|
||||
AArch64::AEK_RAND | AArch64::AEK_FP16FML | AArch64::AEK_I8MM))
|
||||
AARCH64_CPU_NAME("neoverse-v1", ARMV8_4A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_RAS | AArch64::AEK_SVE | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_DOTPROD ))
|
||||
(AArch64::AEK_SVE | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_PROFILE |
|
||||
AArch64::AEK_RAND | AArch64::AEK_FP16FML | AArch64::AEK_I8MM))
|
||||
AARCH64_CPU_NAME("cyclone", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_NONE))
|
||||
AARCH64_CPU_NAME("apple-a7", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
|
@ -247,11 +250,11 @@ AARCH64_CPU_NAME("apple-a11", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
|||
AARCH64_CPU_NAME("apple-a12", ARMV8_3A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16))
|
||||
AARCH64_CPU_NAME("apple-a13", ARMV8_4A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML))
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3))
|
||||
AARCH64_CPU_NAME("apple-a14", ARMV8_5A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML))
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3))
|
||||
AARCH64_CPU_NAME("apple-m1", ARMV8_5A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML))
|
||||
(AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3))
|
||||
AARCH64_CPU_NAME("apple-s4", ARMV8_3A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_FP16))
|
||||
AARCH64_CPU_NAME("apple-s5", ARMV8_3A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
|
@ -271,17 +274,15 @@ AARCH64_CPU_NAME("kryo", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
|||
AARCH64_CPU_NAME("thunderx2t99", ARMV8_1A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_NONE))
|
||||
AARCH64_CPU_NAME("thunderx3t110", ARMV8_3A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC | AEK_CRYPTO | AEK_FP | AEK_SIMD |
|
||||
AEK_LSE | AEK_RAND | AArch64::AEK_PROFILE |
|
||||
AArch64::AEK_RAS))
|
||||
(AArch64::AEK_NONE))
|
||||
AARCH64_CPU_NAME("thunderx", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC | AArch64::AEK_PROFILE))
|
||||
(AArch64::AEK_CRC))
|
||||
AARCH64_CPU_NAME("thunderxt88", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC | AArch64::AEK_PROFILE))
|
||||
(AArch64::AEK_CRC))
|
||||
AARCH64_CPU_NAME("thunderxt81", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC | AArch64::AEK_PROFILE))
|
||||
(AArch64::AEK_CRC))
|
||||
AARCH64_CPU_NAME("thunderxt83", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_CRC | AArch64::AEK_PROFILE))
|
||||
(AArch64::AEK_CRC))
|
||||
AARCH64_CPU_NAME("tsv110", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
|
||||
(AArch64::AEK_DOTPROD |
|
||||
AArch64::AEK_FP16 | AArch64::AEK_FP16FML |
|
||||
|
|
|
@ -996,7 +996,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_SIMD | AArch64::AEK_RAS |
|
||||
AArch64::AEK_LSE | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS,
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PROFILE,
|
||||
"8.2-A"),
|
||||
ARMCPUTestParams("cortex-a78c", "armv8.2-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_RAS | AArch64::AEK_CRC |
|
||||
|
@ -1004,7 +1004,9 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_SIMD | AArch64::AEK_RAS |
|
||||
AArch64::AEK_LSE | AArch64::AEK_RDM |
|
||||
AArch64::AEK_FP16 | AArch64::AEK_DOTPROD |
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SSBS,
|
||||
AArch64::AEK_RCPC | AArch64::AEK_SSBS |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_FLAGM |
|
||||
AArch64::AEK_PAUTH | AArch64::AEK_FP16FML,
|
||||
"8.2-A"),
|
||||
ARMCPUTestParams("cortex-a710", "armv9-a", "neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_FP |
|
||||
|
@ -1023,7 +1025,9 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_RCPC | AArch64::AEK_CRC | AArch64::AEK_FP |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_RAS | AArch64::AEK_LSE |
|
||||
AArch64::AEK_RDM | AArch64::AEK_RCPC | AArch64::AEK_DOTPROD |
|
||||
AArch64::AEK_CRYPTO | AArch64::AEK_FP16 | AArch64::AEK_BF16,
|
||||
AArch64::AEK_CRYPTO | AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_RAND |
|
||||
AArch64::AEK_FP16FML | AArch64::AEK_I8MM,
|
||||
"8.4-A"),
|
||||
ARMCPUTestParams("cortex-r82", "armv8-r", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_RDM |
|
||||
|
@ -1039,7 +1043,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_SIMD | AArch64::AEK_RAS |
|
||||
AArch64::AEK_LSE | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS,
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PROFILE,
|
||||
"8.2-A"),
|
||||
ARMCPUTestParams("cortex-x1c", "armv8.2-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
|
@ -1047,7 +1051,8 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_SIMD | AArch64::AEK_RAS |
|
||||
AArch64::AEK_LSE | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PAUTH,
|
||||
AArch64::AEK_SSBS | AArch64::AEK_PAUTH |
|
||||
AArch64::AEK_PROFILE,
|
||||
"8.2-A"),
|
||||
ARMCPUTestParams("cortex-x2", "armv9-a", "neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_FP |
|
||||
|
@ -1100,7 +1105,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_LSE | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RDM | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_FP16FML,
|
||||
AArch64::AEK_FP16FML | AArch64::AEK_SHA3,
|
||||
"8.4-A"),
|
||||
ARMCPUTestParams("apple-a14", "armv8.5-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
|
@ -1108,7 +1113,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_LSE | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RDM | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_FP16FML,
|
||||
AArch64::AEK_FP16FML | AArch64::AEK_SHA3,
|
||||
"8.5-A"),
|
||||
ARMCPUTestParams("apple-m1", "armv8.5-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
|
@ -1116,7 +1121,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_LSE | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RDM | AArch64::AEK_RCPC |
|
||||
AArch64::AEK_DOTPROD | AArch64::AEK_FP16 |
|
||||
AArch64::AEK_FP16FML,
|
||||
AArch64::AEK_FP16FML | AArch64::AEK_SHA3,
|
||||
"8.5-A"),
|
||||
ARMCPUTestParams("apple-s4", "armv8.3-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
|
@ -1192,7 +1197,9 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_RCPC | AArch64::AEK_CRC | AArch64::AEK_FP |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_RAS | AArch64::AEK_LSE |
|
||||
AArch64::AEK_RDM | AArch64::AEK_RCPC | AArch64::AEK_DOTPROD |
|
||||
AArch64::AEK_CRYPTO | AArch64::AEK_FP16 | AArch64::AEK_BF16,
|
||||
AArch64::AEK_CRYPTO | AArch64::AEK_FP16 | AArch64::AEK_BF16 |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_RAND |
|
||||
AArch64::AEK_FP16FML | AArch64::AEK_I8MM,
|
||||
"8.4-A"),
|
||||
ARMCPUTestParams("thunderx2t99", "armv8.1-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_NONE | AArch64::AEK_CRC |
|
||||
|
@ -1201,31 +1208,27 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
AArch64::AEK_SIMD,
|
||||
"8.1-A"),
|
||||
ARMCPUTestParams("thunderx3t110", "armv8.3-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
AArch64::AEK_LSE | AArch64::AEK_RDM |
|
||||
AArch64::AEK_FP | AArch64::AEK_SIMD |
|
||||
AArch64::AEK_PROFILE | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RAND | AArch64::AEK_RCPC,
|
||||
AArch64::AEK_NONE | AArch64::AEK_CRC |
|
||||
AArch64::AEK_CRYPTO | AArch64::AEK_LSE |
|
||||
AArch64::AEK_RDM | AArch64::AEK_FP |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_RAS |
|
||||
AArch64::AEK_RCPC,
|
||||
"8.3-A"),
|
||||
ARMCPUTestParams("thunderx", "armv8-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP |
|
||||
AArch64::AEK_PROFILE,
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP,
|
||||
"8-A"),
|
||||
ARMCPUTestParams("thunderxt81", "armv8-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP |
|
||||
AArch64::AEK_PROFILE,
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP,
|
||||
"8-A"),
|
||||
ARMCPUTestParams("thunderxt83", "armv8-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP |
|
||||
AArch64::AEK_PROFILE,
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP,
|
||||
"8-A"),
|
||||
ARMCPUTestParams("thunderxt88", "armv8-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP |
|
||||
AArch64::AEK_PROFILE,
|
||||
AArch64::AEK_SIMD | AArch64::AEK_FP,
|
||||
"8-A"),
|
||||
ARMCPUTestParams("tsv110", "armv8.2-a", "crypto-neon-fp-armv8",
|
||||
AArch64::AEK_CRC | AArch64::AEK_CRYPTO |
|
||||
|
|
Loading…
Reference in New Issue