aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/TargetParser/TargetParserTest.cpp
diff options
context:
space:
mode:
authorJonathan Thackray <jthackray@users.noreply.github.com>2023-11-16 22:08:58 +0000
committerGitHub <noreply@github.com>2023-11-16 22:08:58 +0000
commit066c4524bc1d91b49048e7f05dc6e045bb3c9eef (patch)
treedf9a6d95ddaca871c3d7981055d60f9a08a113a7 /llvm/unittests/TargetParser/TargetParserTest.cpp
parentadd20537cc764b8afb97df85acba7c21d6537ae3 (diff)
downloadllvm-066c4524bc1d91b49048e7f05dc6e045bb3c9eef.zip
llvm-066c4524bc1d91b49048e7f05dc6e045bb3c9eef.tar.gz
llvm-066c4524bc1d91b49048e7f05dc6e045bb3c9eef.tar.bz2
[AArch64] Add support for Cortex-A520, Cortex-A720 and Cortex-X4 CPUs (#72395)
Cortex-A520, Cortex-A720 and Cortex-X4 are Armv9.2 AArch64 CPUs. Technical Reference Manual for Cortex-A520: https://developer.arm.com/documentation/102517/latest/ Technical Reference Manual for Cortex-A720: https://developer.arm.com/documentation/102530/latest/ Technical Reference Manual for Cortex-X4: https://developer.arm.com/documentation/102484/latest/ Patch co-authored by: Sivan Shani <sivan.shani@arm.com>
Diffstat (limited to 'llvm/unittests/TargetParser/TargetParserTest.cpp')
-rw-r--r--llvm/unittests/TargetParser/TargetParserTest.cpp40
1 files changed, 39 insertions, 1 deletions
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 68cb482..d41e254 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1097,6 +1097,18 @@ INSTANTIATE_TEST_SUITE_P(
AArch64::AEK_SB})),
"9-A"),
ARMCPUTestParams<AArch64::ExtensionBitset>(
+ "cortex-a520", "armv9.2-a", "crypto-neon-fp-armv8",
+ (AArch64::ExtensionBitset(
+ {AArch64::AEK_BF16, AArch64::AEK_I8MM, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_FP16, AArch64::AEK_DOTPROD,
+ AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RCPC, AArch64::AEK_RAS, AArch64::AEK_CRC,
+ AArch64::AEK_FP, AArch64::AEK_SB, AArch64::AEK_SSBS,
+ AArch64::AEK_MTE, AArch64::AEK_FP16FML, AArch64::AEK_PAUTH,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_FLAGM,
+ AArch64::AEK_PERFMON, AArch64::AEK_PREDRES})),
+ "9.2-A"),
+ ARMCPUTestParams<AArch64::ExtensionBitset>(
"cortex-a57", "armv8-a", "crypto-neon-fp-armv8",
(AArch64::ExtensionBitset(
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
@@ -1209,6 +1221,19 @@ INSTANTIATE_TEST_SUITE_P(
AArch64::AEK_FLAGM})),
"9-A"),
ARMCPUTestParams<AArch64::ExtensionBitset>(
+ "cortex-a720", "armv9.2-a", "crypto-neon-fp-armv8",
+ (AArch64::ExtensionBitset(
+ {AArch64::AEK_BF16, AArch64::AEK_I8MM, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_FP16, AArch64::AEK_DOTPROD,
+ AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RCPC, AArch64::AEK_RAS, AArch64::AEK_CRC,
+ AArch64::AEK_FP, AArch64::AEK_SB, AArch64::AEK_SSBS,
+ AArch64::AEK_MTE, AArch64::AEK_FP16FML, AArch64::AEK_PAUTH,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_FLAGM,
+ AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
+ AArch64::AEK_PROFILE})),
+ "9.2-A"),
+ ARMCPUTestParams<AArch64::ExtensionBitset>(
"neoverse-v1", "armv8.4-a", "crypto-neon-fp-armv8",
(AArch64::ExtensionBitset(
{AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
@@ -1288,6 +1313,19 @@ INSTANTIATE_TEST_SUITE_P(
AArch64::AEK_SSBS})),
"9-A"),
ARMCPUTestParams<AArch64::ExtensionBitset>(
+ "cortex-x4", "armv9.2-a", "crypto-neon-fp-armv8",
+ (AArch64::ExtensionBitset(
+ {AArch64::AEK_BF16, AArch64::AEK_I8MM, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_FP16, AArch64::AEK_DOTPROD,
+ AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RCPC, AArch64::AEK_RAS, AArch64::AEK_CRC,
+ AArch64::AEK_FP, AArch64::AEK_SB, AArch64::AEK_SSBS,
+ AArch64::AEK_MTE, AArch64::AEK_FP16FML, AArch64::AEK_PAUTH,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_FLAGM,
+ AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
+ AArch64::AEK_PROFILE})),
+ "9.2-A"),
+ ARMCPUTestParams<AArch64::ExtensionBitset>(
"cyclone", "armv8-a", "crypto-neon-fp-armv8",
(AArch64::ExtensionBitset(
{AArch64::AEK_NONE, AArch64::AEK_AES, AArch64::AEK_SHA2,
@@ -1568,7 +1606,7 @@ INSTANTIATE_TEST_SUITE_P(
"8.2-A")));
// Note: number of CPUs includes aliases.
-static constexpr unsigned NumAArch64CPUArchs = 62;
+static constexpr unsigned NumAArch64CPUArchs = 65;
TEST(TargetParserTest, testAArch64CPUArchList) {
SmallVector<StringRef, NumAArch64CPUArchs> List;