[llvm] [AArch64] Remove TargetParser CPU/Arch feature tests (PR #104587)
Tomas Matheson via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 20 02:50:22 PDT 2024
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104587
>From 95e6162a0cd756b26c5e5ecca330ce7b6a9ecd57 Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Fri, 16 Aug 2024 13:46:56 +0100
Subject: [PATCH 1/6] [AArch64] Remove TargetParser CPU/Arch feature tests
These are annoying to update, and are redundant since the tests in
clang/test/Driver/print-enabled-extensions/ were added.
---
.../TargetParser/TargetParserTest.cpp | 727 ------------------
1 file changed, 727 deletions(-)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 960a9892202b35..2a55e8e80fa17c 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1093,733 +1093,6 @@ struct AArch64CPUTestParams
}
};
-class AArch64CPUTestFixture
- : public ::testing::TestWithParam<AArch64CPUTestParams> {};
-
-TEST_P(AArch64CPUTestFixture, testAArch64CPU) {
- auto params = GetParam();
-
- const std::optional<AArch64::CpuInfo> Cpu = AArch64::parseCpu(params.CPUName);
- EXPECT_TRUE(Cpu);
- EXPECT_EQ(params.ExpectedArch, Cpu->Arch.Name);
-
- EXPECT_PRED_FORMAT2(
- AssertSameExtensionFlags<ARM::ISAKind::AARCH64>(params.CPUName),
- params.ExpectedFlags, Cpu->getImpliedExtensions());
-}
-
-INSTANTIATE_TEST_SUITE_P(
- AArch64CPUTests, AArch64CPUTestFixture,
- ::testing::Values(
- AArch64CPUTestParams("cortex-a34", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a35", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a53", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a55", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a510", "armv9-a",
- {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_BF16, AArch64::AEK_I8MM,
- AArch64::AEK_SVE, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML,
- AArch64::AEK_SB, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_AM}),
- AArch64CPUTestParams("cortex-a520", "armv9.2-a",
- {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_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a520ae", "armv9.2-a",
- {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_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a57", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a65", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a65ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a72", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a73", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a75", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a76", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a76ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a77", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78c", "armv8.2-a",
- {AArch64::AEK_RAS, AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, 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_PROFILE, AArch64::AEK_FLAGM,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a710", "armv9-a",
- {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_MTE,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_SB, AArch64::AEK_I8MM,
- AArch64::AEK_BF16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a715", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_BF16, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
- AArch64::AEK_PAUTH, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_SSBS, AArch64::AEK_SB,
- AArch64::AEK_I8MM, AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES, AArch64::AEK_PROFILE,
- AArch64::AEK_FP16FML, AArch64::AEK_FP16,
- AArch64::AEK_FLAGM, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a720", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a720ae", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a725", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_ETE,
- AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
- AArch64CPUTestParams(
- "neoverse-v1", "armv8.4-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
- 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
- AArch64CPUTestParams("neoverse-v2", "armv9-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE,
- AArch64::AEK_SSBS, AArch64::AEK_RCPC,
- AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_MTE,
- AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_SVE2, AArch64::AEK_PROFILE,
- AArch64::AEK_FP16FML, AArch64::AEK_I8MM,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_RAND,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("neoverse-v3", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_LS64, AArch64::AEK_BRBE,
- AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
- AArch64::AEK_PERFMON, AArch64::AEK_RAND,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_RME}),
- AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_LS64, AArch64::AEK_BRBE,
- AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
- AArch64::AEK_PERFMON, AArch64::AEK_RAND,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_RME}),
- AArch64CPUTestParams(
- "cortex-r82", "armv8-r",
- {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
- AArch64::AEK_CCDP}),
- AArch64CPUTestParams(
- "cortex-r82ae", "armv8-r",
- {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
- AArch64::AEK_CCDP}),
- AArch64CPUTestParams(
- "cortex-x1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_FP16, AArch64::AEK_DOTPROD, AArch64::AEK_RCPC,
- AArch64::AEK_SSBS, AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-x1c", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
- 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_PROFILE,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_LSE2,
- AArch64::AEK_RCPC_IMMO}),
- AArch64CPUTestParams("cortex-x2", "armv9-a",
- {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_MTE, AArch64::AEK_PAUTH,
- AArch64::AEK_I8MM, AArch64::AEK_BF16,
- AArch64::AEK_SVE, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_FLAGM,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-x3", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_BF16, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
- AArch64::AEK_PAUTH, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_SB, AArch64::AEK_PROFILE,
- AArch64::AEK_PERFMON, AArch64::AEK_I8MM,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML,
- AArch64::AEK_PREDRES, AArch64::AEK_FLAGM,
- AArch64::AEK_SSBS, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-x4", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-x925", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_ETE,
- AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cyclone", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a7", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a8", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a9", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a10", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON, AArch64::AEK_PAN,
- AArch64::AEK_LOR, AArch64::AEK_VH}),
- AArch64CPUTestParams("apple-a11", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_LSE, AArch64::AEK_RAS,
- AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a12", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-s4", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-s5", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a13", "armv8.4-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a14", "armv8.4-a",
- {AArch64::AEK_CRC,
- AArch64::AEK_AES,
- AArch64::AEK_SHA2,
- AArch64::AEK_SHA3,
- AArch64::AEK_FP,
- AArch64::AEK_SIMD,
- AArch64::AEK_LSE,
- AArch64::AEK_RAS,
- AArch64::AEK_RDM,
- AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16,
- AArch64::AEK_FP16FML,
- AArch64::AEK_SHA3,
- AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES,
- AArch64::AEK_SB,
- AArch64::AEK_SSBS,
- AArch64::AEK_CCDP,
- AArch64::AEK_FRINT3264,
- AArch64::AEK_SPECRESTRICT,
- AArch64::AEK_ALTERNATIVENZCV}),
- AArch64CPUTestParams("apple-m1", "armv8.4-a",
- {AArch64::AEK_CRC,
- AArch64::AEK_AES,
- AArch64::AEK_SHA2,
- AArch64::AEK_SHA3,
- AArch64::AEK_FP,
- AArch64::AEK_SIMD,
- AArch64::AEK_LSE,
- AArch64::AEK_RAS,
- AArch64::AEK_RDM,
- AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16,
- AArch64::AEK_FP16FML,
- AArch64::AEK_SHA3,
- AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES,
- AArch64::AEK_SB,
- AArch64::AEK_SSBS,
- AArch64::AEK_CCDP,
- AArch64::AEK_FRINT3264,
- AArch64::AEK_SPECRESTRICT,
- AArch64::AEK_ALTERNATIVENZCV}),
- AArch64CPUTestParams(
- "apple-a15", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-m2", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a16", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams(
- "apple-m3", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams(
- "apple-a17", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams("apple-m4", "armv9.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_SME, AArch64::AEK_SME2,
- AArch64::AEK_SMEF64F64, AArch64::AEK_SMEI16I64}),
- AArch64CPUTestParams("exynos-m3", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "exynos-m4", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "exynos-m5", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("falkor", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_RDM,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("kryo", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "neoverse-e1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "neoverse-n1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_PROFILE, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_SSBS, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("neoverse-n2", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_SVE, AArch64::AEK_DOTPROD,
- AArch64::AEK_RCPC, AArch64::AEK_RDM,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FP16FML, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("neoverse-n3", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON,
- AArch64::AEK_RAND, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_FP16FML, AArch64::AEK_PROFILE,
- AArch64::AEK_JSCVT, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF}),
- AArch64CPUTestParams(
- "ampere1", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
- AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_RAND, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "ampere1a", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
- AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
- AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "ampere1b", "armv8.7-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
- AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
- AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_CSSC, AArch64::AEK_PERFMON,
- AArch64::AEK_WFXT}),
- AArch64CPUTestParams(
- "neoverse-512tvb", "armv8.4-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
- 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
- AArch64CPUTestParams("thunderx2t99", "armv8.1-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_FP,
- AArch64::AEK_SIMD}),
- AArch64CPUTestParams("thunderx3t110", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderx", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt81", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt83", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt88", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "tsv110", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_DOTPROD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("a64fx", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_SVE, AArch64::AEK_RDM,
- AArch64::AEK_PERFMON, AArch64::AEK_FCMA}),
- AArch64CPUTestParams("carmel", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM}),
- AArch64CPUTestParams(
- "saphira", "armv8.4-a",
- {AArch64::AEK_AES, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON, AArch64::AEK_SHA2, AArch64::AEK_PROFILE,
- AArch64::AEK_CRC, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RAS, AArch64::AEK_RCPC}),
- AArch64CPUTestParams(
- "oryon-1", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_PAUTH,
- AArch64::AEK_FCMA, AArch64::AEK_JSCVT, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_SM4,
- AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
- AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_RAND,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON})),
-
- AArch64CPUTestParams::PrintToStringParamName);
// Note: number of CPUs includes aliases.
static constexpr unsigned NumAArch64CPUArchs = 81;
>From 56624a5d02ff2ebd927dbff6a173cc641814a069 Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Fri, 16 Aug 2024 14:41:43 +0100
Subject: [PATCH 2/6] clang-format
---
llvm/unittests/TargetParser/TargetParserTest.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 2a55e8e80fa17c..afde543afa1508 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1093,7 +1093,6 @@ struct AArch64CPUTestParams
}
};
-
// Note: number of CPUs includes aliases.
static constexpr unsigned NumAArch64CPUArchs = 81;
>From a1d0374f2c914e77a53c9ca108c188caf236a0bd Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Mon, 19 Aug 2024 13:57:08 +0100
Subject: [PATCH 3/6] Revert "clang-format"
This reverts commit 56624a5d02ff2ebd927dbff6a173cc641814a069.
---
llvm/unittests/TargetParser/TargetParserTest.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index afde543afa1508..2a55e8e80fa17c 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1093,6 +1093,7 @@ struct AArch64CPUTestParams
}
};
+
// Note: number of CPUs includes aliases.
static constexpr unsigned NumAArch64CPUArchs = 81;
>From b0de715ca9e3f26d330d07b4c5b2596fa20668a7 Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Mon, 19 Aug 2024 13:57:15 +0100
Subject: [PATCH 4/6] Revert "[AArch64] Remove TargetParser CPU/Arch feature
tests"
This reverts commit 95e6162a0cd756b26c5e5ecca330ce7b6a9ecd57.
---
.../TargetParser/TargetParserTest.cpp | 727 ++++++++++++++++++
1 file changed, 727 insertions(+)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 2a55e8e80fa17c..960a9892202b35 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1093,6 +1093,733 @@ struct AArch64CPUTestParams
}
};
+class AArch64CPUTestFixture
+ : public ::testing::TestWithParam<AArch64CPUTestParams> {};
+
+TEST_P(AArch64CPUTestFixture, testAArch64CPU) {
+ auto params = GetParam();
+
+ const std::optional<AArch64::CpuInfo> Cpu = AArch64::parseCpu(params.CPUName);
+ EXPECT_TRUE(Cpu);
+ EXPECT_EQ(params.ExpectedArch, Cpu->Arch.Name);
+
+ EXPECT_PRED_FORMAT2(
+ AssertSameExtensionFlags<ARM::ISAKind::AARCH64>(params.CPUName),
+ params.ExpectedFlags, Cpu->getImpliedExtensions());
+}
+
+INSTANTIATE_TEST_SUITE_P(
+ AArch64CPUTests, AArch64CPUTestFixture,
+ ::testing::Values(
+ AArch64CPUTestParams("cortex-a34", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("cortex-a35", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("cortex-a53", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a55", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
+ AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("cortex-a510", "armv9-a",
+ {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_BF16, AArch64::AEK_I8MM,
+ AArch64::AEK_SVE, AArch64::AEK_SVE2,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
+ AArch64::AEK_MTE, AArch64::AEK_SSBS,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML,
+ AArch64::AEK_SB, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_AM}),
+ AArch64CPUTestParams("cortex-a520", "armv9.2-a",
+ {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_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PERFMON, AArch64::AEK_AM,
+ AArch64::AEK_ETE}),
+ AArch64CPUTestParams("cortex-a520ae", "armv9.2-a",
+ {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_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PERFMON, AArch64::AEK_AM,
+ AArch64::AEK_ETE}),
+ AArch64CPUTestParams("cortex-a57", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a65", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
+ AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a65ae", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
+ AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("cortex-a72", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("cortex-a73", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a75", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
+ AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a76", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a76ae", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a77", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a78", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
+ AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a78ae", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
+ AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
+ AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a78c", "armv8.2-a",
+ {AArch64::AEK_RAS, AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, 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_PROFILE, AArch64::AEK_FLAGM,
+ AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-a710", "armv9-a",
+ {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_MTE,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
+ AArch64::AEK_FLAGM, AArch64::AEK_SB, AArch64::AEK_I8MM,
+ AArch64::AEK_BF16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PERFMON, AArch64::AEK_ETE}),
+ AArch64CPUTestParams("cortex-a715", "armv9-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP,
+ AArch64::AEK_BF16, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC,
+ AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
+ AArch64::AEK_PAUTH, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
+ AArch64::AEK_SSBS, AArch64::AEK_SB,
+ AArch64::AEK_I8MM, AArch64::AEK_PERFMON,
+ AArch64::AEK_PREDRES, AArch64::AEK_PROFILE,
+ AArch64::AEK_FP16FML, AArch64::AEK_FP16,
+ AArch64::AEK_FLAGM, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cortex-a720", "armv9.2-a",
+ {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, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
+ AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cortex-a720ae", "armv9.2-a",
+ {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, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
+ AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cortex-a725", "armv9.2-a",
+ {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, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_ETE,
+ AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
+ AArch64CPUTestParams(
+ "neoverse-v1", "armv8.4-a",
+ {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
+ 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
+ AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
+ AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
+ AArch64CPUTestParams("neoverse-v2", "armv9-a",
+ {AArch64::AEK_RAS, AArch64::AEK_SVE,
+ AArch64::AEK_SSBS, AArch64::AEK_RCPC,
+ AArch64::AEK_CRC, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_MTE,
+ AArch64::AEK_LSE, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
+ AArch64::AEK_FP16, AArch64::AEK_BF16,
+ AArch64::AEK_SVE2, AArch64::AEK_PROFILE,
+ AArch64::AEK_FP16FML, AArch64::AEK_I8MM,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_RAND,
+ AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE}),
+ AArch64CPUTestParams("neoverse-v3", "armv9.2-a",
+ {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_PROFILE,
+ AArch64::AEK_MTE, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_PREDRES,
+ AArch64::AEK_LS64, AArch64::AEK_BRBE,
+ AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
+ AArch64::AEK_PERFMON, AArch64::AEK_RAND,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
+ AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
+ AArch64::AEK_RME}),
+ AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a",
+ {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_PROFILE,
+ AArch64::AEK_MTE, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_PREDRES,
+ AArch64::AEK_LS64, AArch64::AEK_BRBE,
+ AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
+ AArch64::AEK_PERFMON, AArch64::AEK_RAND,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
+ AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
+ AArch64::AEK_RME}),
+ AArch64CPUTestParams(
+ "cortex-r82", "armv8-r",
+ {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
+ AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
+ AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
+ AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
+ AArch64::AEK_CCDP}),
+ AArch64CPUTestParams(
+ "cortex-r82ae", "armv8-r",
+ {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
+ AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
+ AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
+ AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
+ AArch64::AEK_CCDP}),
+ AArch64CPUTestParams(
+ "cortex-x1", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
+ AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_FP16, AArch64::AEK_DOTPROD, AArch64::AEK_RCPC,
+ AArch64::AEK_SSBS, AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "cortex-x1c", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
+ 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_PROFILE,
+ AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_LSE2,
+ AArch64::AEK_RCPC_IMMO}),
+ AArch64CPUTestParams("cortex-x2", "armv9-a",
+ {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_MTE, AArch64::AEK_PAUTH,
+ AArch64::AEK_I8MM, AArch64::AEK_BF16,
+ AArch64::AEK_SVE, AArch64::AEK_SVE2,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_FLAGM,
+ AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PERFMON, AArch64::AEK_AM,
+ AArch64::AEK_ETE}),
+ AArch64CPUTestParams("cortex-x3", "armv9-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP,
+ AArch64::AEK_BF16, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC,
+ AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
+ AArch64::AEK_PAUTH, AArch64::AEK_SVE,
+ AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
+ AArch64::AEK_SB, AArch64::AEK_PROFILE,
+ AArch64::AEK_PERFMON, AArch64::AEK_I8MM,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML,
+ AArch64::AEK_PREDRES, AArch64::AEK_FLAGM,
+ AArch64::AEK_SSBS, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cortex-x4", "armv9.2-a",
+ {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, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
+ AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cortex-x925", "armv9.2-a",
+ {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, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_ETE,
+ AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("cyclone", "armv8-a",
+ {AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("apple-a7", "armv8-a",
+ {AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("apple-a8", "armv8-a",
+ {AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("apple-a9", "armv8-a",
+ {AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("apple-a10", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON, AArch64::AEK_PAN,
+ AArch64::AEK_LOR, AArch64::AEK_VH}),
+ AArch64CPUTestParams("apple-a11", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_LSE, AArch64::AEK_RAS,
+ AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_FP16, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-a12", "armv8.3-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-s4", "armv8.3-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-s5", "armv8.3-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-a13", "armv8.4-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("apple-a14", "armv8.4-a",
+ {AArch64::AEK_CRC,
+ AArch64::AEK_AES,
+ AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3,
+ AArch64::AEK_FP,
+ AArch64::AEK_SIMD,
+ AArch64::AEK_LSE,
+ AArch64::AEK_RAS,
+ AArch64::AEK_RDM,
+ AArch64::AEK_RCPC,
+ AArch64::AEK_DOTPROD,
+ AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML,
+ AArch64::AEK_SHA3,
+ AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH,
+ AArch64::AEK_PERFMON,
+ AArch64::AEK_PREDRES,
+ AArch64::AEK_SB,
+ AArch64::AEK_SSBS,
+ AArch64::AEK_CCDP,
+ AArch64::AEK_FRINT3264,
+ AArch64::AEK_SPECRESTRICT,
+ AArch64::AEK_ALTERNATIVENZCV}),
+ AArch64CPUTestParams("apple-m1", "armv8.4-a",
+ {AArch64::AEK_CRC,
+ AArch64::AEK_AES,
+ AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3,
+ AArch64::AEK_FP,
+ AArch64::AEK_SIMD,
+ AArch64::AEK_LSE,
+ AArch64::AEK_RAS,
+ AArch64::AEK_RDM,
+ AArch64::AEK_RCPC,
+ AArch64::AEK_DOTPROD,
+ AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML,
+ AArch64::AEK_SHA3,
+ AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH,
+ AArch64::AEK_PERFMON,
+ AArch64::AEK_PREDRES,
+ AArch64::AEK_SB,
+ AArch64::AEK_SSBS,
+ AArch64::AEK_CCDP,
+ AArch64::AEK_FRINT3264,
+ AArch64::AEK_SPECRESTRICT,
+ AArch64::AEK_ALTERNATIVENZCV}),
+ AArch64CPUTestParams(
+ "apple-a15", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-m2", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "apple-a16", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
+ AArch64::AEK_HCX}),
+ AArch64CPUTestParams(
+ "apple-m3", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
+ AArch64::AEK_HCX}),
+ AArch64CPUTestParams(
+ "apple-a17", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
+ AArch64::AEK_HCX}),
+ AArch64CPUTestParams("apple-m4", "armv9.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_SHA3,
+ AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_LSE, AArch64::AEK_RAS,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
+ AArch64::AEK_FP16FML, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
+ AArch64::AEK_PAUTH, AArch64::AEK_FPAC,
+ AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
+ AArch64::AEK_SME, AArch64::AEK_SME2,
+ AArch64::AEK_SMEF64F64, AArch64::AEK_SMEI16I64}),
+ AArch64CPUTestParams("exynos-m3", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "exynos-m4", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "exynos-m5", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("falkor", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_RDM,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("kryo", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "neoverse-e1", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
+ AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "neoverse-n1", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
+ AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_LSE, AArch64::AEK_PROFILE, AArch64::AEK_RAS,
+ AArch64::AEK_RCPC, AArch64::AEK_RDM, AArch64::AEK_SIMD,
+ AArch64::AEK_SSBS, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("neoverse-n2", "armv9-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_FP16,
+ AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_SVE, AArch64::AEK_DOTPROD,
+ AArch64::AEK_RCPC, AArch64::AEK_RDM,
+ AArch64::AEK_MTE, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_SVE2,
+ AArch64::AEK_SVE2BITPERM, AArch64::AEK_BF16,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
+ AArch64::AEK_FP16FML, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_TRBE}),
+ AArch64CPUTestParams("neoverse-n3", "armv9.2-a",
+ {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_PROFILE,
+ AArch64::AEK_MTE, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_PREDRES,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
+ AArch64::AEK_FLAGM, AArch64::AEK_PERFMON,
+ AArch64::AEK_RAND, AArch64::AEK_SVE2BITPERM,
+ AArch64::AEK_FP16FML, AArch64::AEK_PROFILE,
+ AArch64::AEK_JSCVT, AArch64::AEK_PERFMON,
+ AArch64::AEK_ETE, AArch64::AEK_SPE_EEF}),
+ AArch64CPUTestParams(
+ "ampere1", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
+ AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
+ AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_SSBS,
+ AArch64::AEK_SB, AArch64::AEK_RAND, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "ampere1a", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
+ AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
+ AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
+ AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "ampere1b", "armv8.7-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
+ AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
+ AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
+ AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
+ AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
+ AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_CSSC, AArch64::AEK_PERFMON,
+ AArch64::AEK_WFXT}),
+ AArch64CPUTestParams(
+ "neoverse-512tvb", "armv8.4-a",
+ {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
+ 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
+ AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
+ AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
+ AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
+ AArch64CPUTestParams("thunderx2t99", "armv8.1-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_FP,
+ AArch64::AEK_SIMD}),
+ AArch64CPUTestParams("thunderx3t110", "armv8.3-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_LSE,
+ AArch64::AEK_RDM, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_RAS,
+ AArch64::AEK_RCPC, AArch64::AEK_JSCVT,
+ AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("thunderx", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_SIMD,
+ AArch64::AEK_FP, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("thunderxt81", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_SIMD,
+ AArch64::AEK_FP, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("thunderxt83", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_SIMD,
+ AArch64::AEK_FP, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("thunderxt88", "armv8-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_SIMD,
+ AArch64::AEK_FP, AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams(
+ "tsv110", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
+ AArch64::AEK_PROFILE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
+ AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_DOTPROD,
+ AArch64::AEK_PERFMON}),
+ AArch64CPUTestParams("a64fx", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_FP16,
+ AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_SVE, AArch64::AEK_RDM,
+ AArch64::AEK_PERFMON, AArch64::AEK_FCMA}),
+ AArch64CPUTestParams("carmel", "armv8.2-a",
+ {AArch64::AEK_CRC, AArch64::AEK_AES,
+ AArch64::AEK_SHA2, AArch64::AEK_FP,
+ AArch64::AEK_SIMD, AArch64::AEK_FP16,
+ AArch64::AEK_RAS, AArch64::AEK_LSE,
+ AArch64::AEK_RDM}),
+ AArch64CPUTestParams(
+ "saphira", "armv8.4-a",
+ {AArch64::AEK_AES, AArch64::AEK_FP, AArch64::AEK_SIMD,
+ AArch64::AEK_PERFMON, AArch64::AEK_SHA2, AArch64::AEK_PROFILE,
+ AArch64::AEK_CRC, AArch64::AEK_LSE, AArch64::AEK_RDM,
+ AArch64::AEK_RAS, AArch64::AEK_RCPC}),
+ AArch64CPUTestParams(
+ "oryon-1", "armv8.6-a",
+ {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_PAUTH,
+ AArch64::AEK_FCMA, AArch64::AEK_JSCVT, AArch64::AEK_SIMD,
+ AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
+ AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_SM4,
+ AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
+ AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_RAND,
+ AArch64::AEK_PROFILE, AArch64::AEK_PERFMON})),
+
+ AArch64CPUTestParams::PrintToStringParamName);
// Note: number of CPUs includes aliases.
static constexpr unsigned NumAArch64CPUArchs = 81;
>From 581871fb952d8bb76c23fa9a31117f18900b0261 Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Mon, 19 Aug 2024 14:19:07 +0100
Subject: [PATCH 5/6] remove cpu features tests from AArch64CPUTestParams
---
.../TargetParser/TargetParserTest.cpp | 797 ++----------------
1 file changed, 80 insertions(+), 717 deletions(-)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 960a9892202b35..7a9fd13e518f61 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1073,11 +1073,9 @@ TEST(TargetParserTest, ARMPrintSupportedExtensions) {
struct AArch64CPUTestParams
: public ARMCPUTestParams<AArch64::ExtensionBitset> {
- AArch64CPUTestParams(StringRef CPUName, StringRef ExpectedArch,
- AArch64::ExtensionBitset ExpectedFlags)
+ AArch64CPUTestParams(StringRef CPUName, StringRef ExpectedArch)
: ARMCPUTestParams<AArch64::ExtensionBitset>(CPUName, ExpectedArch,
- /*ignored*/ "",
- ExpectedFlags,
+ /*ignored*/ "", {},
/*ignored*/ "") {}
/// Print a gtest-compatible facsimile of the CPUName, to make the test's name
/// human-readable.
@@ -1102,723 +1100,88 @@ TEST_P(AArch64CPUTestFixture, testAArch64CPU) {
const std::optional<AArch64::CpuInfo> Cpu = AArch64::parseCpu(params.CPUName);
EXPECT_TRUE(Cpu);
EXPECT_EQ(params.ExpectedArch, Cpu->Arch.Name);
-
- EXPECT_PRED_FORMAT2(
- AssertSameExtensionFlags<ARM::ISAKind::AARCH64>(params.CPUName),
- params.ExpectedFlags, Cpu->getImpliedExtensions());
}
INSTANTIATE_TEST_SUITE_P(
AArch64CPUTests, AArch64CPUTestFixture,
- ::testing::Values(
- AArch64CPUTestParams("cortex-a34", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a35", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a53", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a55", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a510", "armv9-a",
- {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_BF16, AArch64::AEK_I8MM,
- AArch64::AEK_SVE, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML,
- AArch64::AEK_SB, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_AM}),
- AArch64CPUTestParams("cortex-a520", "armv9.2-a",
- {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_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a520ae", "armv9.2-a",
- {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_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a57", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a65", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a65ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a72", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("cortex-a73", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a75", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_LSE, AArch64::AEK_RDM, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a76", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a76ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a77", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78ae", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_FP16,
- AArch64::AEK_DOTPROD, AArch64::AEK_RCPC, AArch64::AEK_SSBS,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a78c", "armv8.2-a",
- {AArch64::AEK_RAS, AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, 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_PROFILE, AArch64::AEK_FLAGM,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-a710", "armv9-a",
- {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_MTE,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_SB, AArch64::AEK_I8MM,
- AArch64::AEK_BF16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-a715", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_BF16, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
- AArch64::AEK_PAUTH, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_SSBS, AArch64::AEK_SB,
- AArch64::AEK_I8MM, AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES, AArch64::AEK_PROFILE,
- AArch64::AEK_FP16FML, AArch64::AEK_FP16,
- AArch64::AEK_FLAGM, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a720", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a720ae", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-a725", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_ETE,
- AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
- AArch64CPUTestParams(
- "neoverse-v1", "armv8.4-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
- 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
- AArch64CPUTestParams("neoverse-v2", "armv9-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE,
- AArch64::AEK_SSBS, AArch64::AEK_RCPC,
- AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_MTE,
- AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_SVE2, AArch64::AEK_PROFILE,
- AArch64::AEK_FP16FML, AArch64::AEK_I8MM,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_RAND,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("neoverse-v3", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_LS64, AArch64::AEK_BRBE,
- AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
- AArch64::AEK_PERFMON, AArch64::AEK_RAND,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_RME}),
- AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_LS64, AArch64::AEK_BRBE,
- AArch64::AEK_PAUTH, AArch64::AEK_FLAGM,
- AArch64::AEK_PERFMON, AArch64::AEK_RAND,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_RME}),
- AArch64CPUTestParams(
- "cortex-r82", "armv8-r",
- {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
- AArch64::AEK_CCDP}),
- AArch64CPUTestParams(
- "cortex-r82ae", "armv8-r",
- {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_LSE, AArch64::AEK_SB,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_PREDRES,
- AArch64::AEK_CCDP}),
- AArch64CPUTestParams(
- "cortex-x1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_FP16, AArch64::AEK_DOTPROD, AArch64::AEK_RCPC,
- AArch64::AEK_SSBS, AArch64::AEK_PROFILE, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "cortex-x1c", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_RDM,
- 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_PROFILE,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON, AArch64::AEK_LSE2,
- AArch64::AEK_RCPC_IMMO}),
- AArch64CPUTestParams("cortex-x2", "armv9-a",
- {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_MTE, AArch64::AEK_PAUTH,
- AArch64::AEK_I8MM, AArch64::AEK_BF16,
- AArch64::AEK_SVE, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_FLAGM,
- AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PERFMON, AArch64::AEK_AM,
- AArch64::AEK_ETE}),
- AArch64CPUTestParams("cortex-x3", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_BF16, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_MTE,
- AArch64::AEK_PAUTH, AArch64::AEK_SVE,
- AArch64::AEK_SVE2, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_SB, AArch64::AEK_PROFILE,
- AArch64::AEK_PERFMON, AArch64::AEK_I8MM,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML,
- AArch64::AEK_PREDRES, AArch64::AEK_FLAGM,
- AArch64::AEK_SSBS, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-x4", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF,
- AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cortex-x925", "armv9.2-a",
- {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, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_ETE,
- AArch64::AEK_SPE_EEF, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("cyclone", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a7", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a8", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a9", "armv8-a",
- {AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a10", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON, AArch64::AEK_PAN,
- AArch64::AEK_LOR, AArch64::AEK_VH}),
- AArch64CPUTestParams("apple-a11", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_LSE, AArch64::AEK_RAS,
- AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_FP16, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a12", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-s4", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-s5", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_FP16, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a13", "armv8.4-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("apple-a14", "armv8.4-a",
- {AArch64::AEK_CRC,
- AArch64::AEK_AES,
- AArch64::AEK_SHA2,
- AArch64::AEK_SHA3,
- AArch64::AEK_FP,
- AArch64::AEK_SIMD,
- AArch64::AEK_LSE,
- AArch64::AEK_RAS,
- AArch64::AEK_RDM,
- AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16,
- AArch64::AEK_FP16FML,
- AArch64::AEK_SHA3,
- AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES,
- AArch64::AEK_SB,
- AArch64::AEK_SSBS,
- AArch64::AEK_CCDP,
- AArch64::AEK_FRINT3264,
- AArch64::AEK_SPECRESTRICT,
- AArch64::AEK_ALTERNATIVENZCV}),
- AArch64CPUTestParams("apple-m1", "armv8.4-a",
- {AArch64::AEK_CRC,
- AArch64::AEK_AES,
- AArch64::AEK_SHA2,
- AArch64::AEK_SHA3,
- AArch64::AEK_FP,
- AArch64::AEK_SIMD,
- AArch64::AEK_LSE,
- AArch64::AEK_RAS,
- AArch64::AEK_RDM,
- AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD,
- AArch64::AEK_FP16,
- AArch64::AEK_FP16FML,
- AArch64::AEK_SHA3,
- AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON,
- AArch64::AEK_PREDRES,
- AArch64::AEK_SB,
- AArch64::AEK_SSBS,
- AArch64::AEK_CCDP,
- AArch64::AEK_FRINT3264,
- AArch64::AEK_SPECRESTRICT,
- AArch64::AEK_ALTERNATIVENZCV}),
- AArch64CPUTestParams(
- "apple-a15", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-m2", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "apple-a16", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams(
- "apple-m3", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams(
- "apple-a17", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC, AArch64::AEK_PERFMON,
- AArch64::AEK_HCX}),
- AArch64CPUTestParams("apple-m4", "armv9.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_LSE, AArch64::AEK_RAS,
- AArch64::AEK_RDM, AArch64::AEK_RCPC,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
- AArch64::AEK_FP16FML, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
- AArch64::AEK_PAUTH, AArch64::AEK_FPAC,
- AArch64::AEK_FCMA, AArch64::AEK_PERFMON,
- AArch64::AEK_SME, AArch64::AEK_SME2,
- AArch64::AEK_SMEF64F64, AArch64::AEK_SMEI16I64}),
- AArch64CPUTestParams("exynos-m3", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "exynos-m4", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "exynos-m5", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("falkor", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_RDM,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("kryo", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "neoverse-e1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RCPC,
- AArch64::AEK_RDM, AArch64::AEK_SIMD, AArch64::AEK_SSBS,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "neoverse-n1", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
- AArch64::AEK_DOTPROD, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_LSE, AArch64::AEK_PROFILE, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_RDM, AArch64::AEK_SIMD,
- AArch64::AEK_SSBS, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("neoverse-n2", "armv9-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_SVE, AArch64::AEK_DOTPROD,
- AArch64::AEK_RCPC, AArch64::AEK_RDM,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_SVE2,
- AArch64::AEK_SVE2BITPERM, AArch64::AEK_BF16,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FP16FML, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_TRBE}),
- AArch64CPUTestParams("neoverse-n3", "armv9.2-a",
- {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_PROFILE,
- AArch64::AEK_MTE, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_PREDRES,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_FLAGM, AArch64::AEK_PERFMON,
- AArch64::AEK_RAND, AArch64::AEK_SVE2BITPERM,
- AArch64::AEK_FP16FML, AArch64::AEK_PROFILE,
- AArch64::AEK_JSCVT, AArch64::AEK_PERFMON,
- AArch64::AEK_ETE, AArch64::AEK_SPE_EEF}),
- AArch64CPUTestParams(
- "ampere1", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
- AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_SSBS,
- AArch64::AEK_SB, AArch64::AEK_RAND, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "ampere1a", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
- AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
- AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "ampere1b", "armv8.7-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_FP16,
- AArch64::AEK_SIMD, AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_RCPC, AArch64::AEK_DOTPROD,
- AArch64::AEK_SM4, AArch64::AEK_SHA3, AArch64::AEK_BF16,
- AArch64::AEK_SHA2, AArch64::AEK_AES, AArch64::AEK_I8MM,
- AArch64::AEK_SSBS, AArch64::AEK_SB, AArch64::AEK_RAND,
- AArch64::AEK_MTE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_CSSC, AArch64::AEK_PERFMON,
- AArch64::AEK_WFXT}),
- AArch64CPUTestParams(
- "neoverse-512tvb", "armv8.4-a",
- {AArch64::AEK_RAS, AArch64::AEK_SVE, AArch64::AEK_SSBS,
- 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_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3,
- AArch64::AEK_SM4, AArch64::AEK_FP16, AArch64::AEK_BF16,
- AArch64::AEK_PROFILE, AArch64::AEK_RAND, AArch64::AEK_FP16FML,
- AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_CCDP}),
- AArch64CPUTestParams("thunderx2t99", "armv8.1-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_FP,
- AArch64::AEK_SIMD}),
- AArch64CPUTestParams("thunderx3t110", "armv8.3-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_LSE,
- AArch64::AEK_RDM, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_RAS,
- AArch64::AEK_RCPC, AArch64::AEK_JSCVT,
- AArch64::AEK_FCMA, AArch64::AEK_PAUTH,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderx", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt81", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt83", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("thunderxt88", "armv8-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_SIMD,
- AArch64::AEK_FP, AArch64::AEK_PERFMON}),
- AArch64CPUTestParams(
- "tsv110", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_PROFILE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
- AArch64::AEK_FP16, AArch64::AEK_FP16FML, AArch64::AEK_DOTPROD,
- AArch64::AEK_PERFMON}),
- AArch64CPUTestParams("a64fx", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_SVE, AArch64::AEK_RDM,
- AArch64::AEK_PERFMON, AArch64::AEK_FCMA}),
- AArch64CPUTestParams("carmel", "armv8.2-a",
- {AArch64::AEK_CRC, AArch64::AEK_AES,
- AArch64::AEK_SHA2, AArch64::AEK_FP,
- AArch64::AEK_SIMD, AArch64::AEK_FP16,
- AArch64::AEK_RAS, AArch64::AEK_LSE,
- AArch64::AEK_RDM}),
- AArch64CPUTestParams(
- "saphira", "armv8.4-a",
- {AArch64::AEK_AES, AArch64::AEK_FP, AArch64::AEK_SIMD,
- AArch64::AEK_PERFMON, AArch64::AEK_SHA2, AArch64::AEK_PROFILE,
- AArch64::AEK_CRC, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RAS, AArch64::AEK_RCPC}),
- AArch64CPUTestParams(
- "oryon-1", "armv8.6-a",
- {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_PAUTH,
- AArch64::AEK_FCMA, AArch64::AEK_JSCVT, AArch64::AEK_SIMD,
- AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM,
- AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_SM4,
- AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_SHA2,
- AArch64::AEK_AES, AArch64::AEK_I8MM, AArch64::AEK_RAND,
- AArch64::AEK_PROFILE, AArch64::AEK_PERFMON})),
-
+ ::testing::Values(AArch64CPUTestParams("cortex-a34", "armv8-a"),
+ AArch64CPUTestParams("cortex-a35", "armv8-a"),
+ AArch64CPUTestParams("cortex-a53", "armv8-a"),
+ AArch64CPUTestParams("cortex-a55", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a510", "armv9-a"),
+ AArch64CPUTestParams("cortex-a520", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-a520ae", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-a57", "armv8-a"),
+ AArch64CPUTestParams("cortex-a65", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a65ae", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a72", "armv8-a"),
+ AArch64CPUTestParams("cortex-a73", "armv8-a"),
+ AArch64CPUTestParams("cortex-a75", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a76", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a76ae", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a77", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a78", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a78ae", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a78c", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-a710", "armv9-a"),
+ AArch64CPUTestParams("cortex-a715", "armv9-a"),
+ AArch64CPUTestParams("cortex-a720", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-a720ae", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-a725", "armv9.2-a"),
+ AArch64CPUTestParams("neoverse-v1", "armv8.4-a"),
+ AArch64CPUTestParams("neoverse-v2", "armv9-a"),
+ AArch64CPUTestParams("neoverse-v3", "armv9.2-a"),
+ AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-r82", "armv8-r"),
+ AArch64CPUTestParams("cortex-r82ae", "armv8-r"),
+ AArch64CPUTestParams("cortex-x1", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-x1c", "armv8.2-a"),
+ AArch64CPUTestParams("cortex-x2", "armv9-a"),
+ AArch64CPUTestParams("cortex-x3", "armv9-a"),
+ AArch64CPUTestParams("cortex-x4", "armv9.2-a"),
+ AArch64CPUTestParams("cortex-x925", "armv9.2-a"),
+ AArch64CPUTestParams("cyclone", "armv8-a"),
+ AArch64CPUTestParams("apple-a7", "armv8-a"),
+ AArch64CPUTestParams("apple-a8", "armv8-a"),
+ AArch64CPUTestParams("apple-a9", "armv8-a"),
+ AArch64CPUTestParams("apple-a10", "armv8-a"),
+ AArch64CPUTestParams("apple-a11", "armv8.2-a"),
+ AArch64CPUTestParams("apple-a12", "armv8.3-a"),
+ AArch64CPUTestParams("apple-s4", "armv8.3-a"),
+ AArch64CPUTestParams("apple-s5", "armv8.3-a"),
+ AArch64CPUTestParams("apple-a13", "armv8.4-a"),
+ AArch64CPUTestParams("apple-a14", "armv8.4-a"),
+ AArch64CPUTestParams("apple-m1", "armv8.4-a"),
+ AArch64CPUTestParams("apple-a15", "armv8.6-a"),
+ AArch64CPUTestParams("apple-m2", "armv8.6-a"),
+ AArch64CPUTestParams("apple-a16", "armv8.6-a"),
+ AArch64CPUTestParams("apple-m3", "armv8.6-a"),
+ AArch64CPUTestParams("apple-a17", "armv8.6-a"),
+ AArch64CPUTestParams("apple-m4", "armv9.2-a"),
+ AArch64CPUTestParams("exynos-m3", "armv8-a"),
+ AArch64CPUTestParams("exynos-m4", "armv8.2-a"),
+ AArch64CPUTestParams("exynos-m5", "armv8.2-a"),
+ AArch64CPUTestParams("falkor", "armv8-a"),
+ AArch64CPUTestParams("kryo", "armv8-a"),
+ AArch64CPUTestParams("neoverse-e1", "armv8.2-a"),
+ AArch64CPUTestParams("neoverse-n1", "armv8.2-a"),
+ AArch64CPUTestParams("neoverse-n2", "armv9-a"),
+ AArch64CPUTestParams("neoverse-n3", "armv9.2-a"),
+ AArch64CPUTestParams("ampere1", "armv8.6-a"),
+ AArch64CPUTestParams("ampere1a", "armv8.6-a"),
+ AArch64CPUTestParams("ampere1b", "armv8.7-a"),
+ AArch64CPUTestParams("neoverse-512tvb", "armv8.4-a"),
+ AArch64CPUTestParams("thunderx2t99", "armv8.1-a"),
+ AArch64CPUTestParams("thunderx3t110", "armv8.3-a"),
+ AArch64CPUTestParams("thunderx", "armv8-a"),
+ AArch64CPUTestParams("thunderxt81", "armv8-a"),
+ AArch64CPUTestParams("thunderxt83", "armv8-a"),
+ AArch64CPUTestParams("thunderxt88", "armv8-a"),
+ AArch64CPUTestParams("tsv110", "armv8.2-a"),
+ AArch64CPUTestParams("a64fx", "armv8.2-a"),
+ AArch64CPUTestParams("carmel", "armv8.2-a"),
+ AArch64CPUTestParams("saphira", "armv8.4-a"),
+ AArch64CPUTestParams("oryon-1", "armv8.6-a")),
AArch64CPUTestParams::PrintToStringParamName);
// Note: number of CPUs includes aliases.
>From ba049b8b822ed9ae67284ace4fe051558d39bfeb Mon Sep 17 00:00:00 2001
From: Tomas Matheson <tomas.matheson at arm.com>
Date: Mon, 19 Aug 2024 14:19:37 +0100
Subject: [PATCH 6/6] Remove unused parameters from testAArch64Arch
---
.../TargetParser/TargetParserTest.cpp | 51 +++++++------------
1 file changed, 17 insertions(+), 34 deletions(-)
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 7a9fd13e518f61..8460a6b9e330f7 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1199,45 +1199,28 @@ TEST(TargetParserTest, testAArch64CPUArchList) {
}
}
-bool testAArch64Arch(StringRef Arch, StringRef DefaultCPU, StringRef SubArch,
- unsigned ArchAttr) {
+bool testAArch64Arch(StringRef Arch) {
const AArch64::ArchInfo *AI = AArch64::parseArch(Arch);
return AI != nullptr;
}
TEST(TargetParserTest, testAArch64Arch) {
- EXPECT_TRUE(testAArch64Arch("armv8-a", "cortex-a53", "v8a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.1-a", "generic", "v8.1a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.2-a", "generic", "v8.2a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.3-a", "generic", "v8.3a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.4-a", "generic", "v8.4a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.5-a", "generic", "v8.5a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.6-a", "generic", "v8.6a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.7-a", "generic", "v8.7a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.8-a", "generic", "v8.8a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv8.9-a", "generic", "v8.9a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9-a", "generic", "v9a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9.1-a", "generic", "v9.1a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9.2-a", "generic", "v9.2a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9.3-a", "generic", "v9.3a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9.4-a", "generic", "v9.4a",
- ARMBuildAttrs::CPUArch::v8_A));
- EXPECT_TRUE(testAArch64Arch("armv9.5-a", "generic", "v9.5a",
- ARMBuildAttrs::CPUArch::v8_A));
+ EXPECT_TRUE(testAArch64Arch("armv8-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.1-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.2-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.3-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.4-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.5-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.6-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.7-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.8-a"));
+ EXPECT_TRUE(testAArch64Arch("armv8.9-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9.1-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9.2-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9.3-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9.4-a"));
+ EXPECT_TRUE(testAArch64Arch("armv9.5-a"));
}
bool testAArch64Extension(StringRef CPUName, StringRef ArchExt) {
More information about the llvm-commits
mailing list