diff --git a/clang/test/CodeGen/aarch64-targetattr.c b/clang/test/CodeGen/aarch64-targetattr.c index 9664b723a2b2cddae1d7ae26af205e28f2415db7..1e387cc976834a7405736c30a43aaeb81d57133d 100644 --- a/clang/test/CodeGen/aarch64-targetattr.c +++ b/clang/test/CodeGen/aarch64-targetattr.c @@ -94,10 +94,10 @@ void nosimd() {} __attribute__((target("no-v9.3a"))) void minusarch() {} -// CHECK: attributes #0 = { {{.*}} "target-features"="+crc,+fp-armv8,+lse,+neon,+ras,+rdm,+v8.1a,+v8.2a,+v8a" } -// CHECK: attributes #1 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+v8.1a,+v8.2a,+v8a" } -// CHECK: attributes #2 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+lse,+neon,+ras,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8a" } -// CHECK: attributes #3 = { {{.*}} "target-features"="+bf16,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+lse,+neon,+ras,+rcpc,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" } +// CHECK: attributes #0 = { {{.*}} "target-features"="+crc,+fp-armv8,+neon,+ras,+rdm,+v8.1a,+v8.2a,+v8a" } +// CHECK: attributes #1 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+neon,+ras,+rdm,+sve,+v8.1a,+v8.2a,+v8a" } +// CHECK: attributes #2 = { {{.*}} "target-features"="+crc,+fp-armv8,+fullfp16,+neon,+ras,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8a" } +// CHECK: attributes #3 = { {{.*}} "target-features"="+bf16,+crc,+dotprod,+fp-armv8,+fullfp16,+i8mm,+neon,+ras,+rcpc,+rdm,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a" } // CHECK: attributes #4 = { {{.*}} "target-cpu"="cortex-a710" "target-features"="+bf16,+crc,+dotprod,+flagm,+fp-armv8,+fp16fml,+fullfp16,+i8mm,+lse,+mte,+neon,+pauth,+ras,+rcpc,+rdm,+sb,+sve,+sve2,+sve2-bitperm" } // CHECK: attributes #5 = { {{.*}} "tune-cpu"="cortex-a710" } // CHECK: attributes #6 = { {{.*}} "target-cpu"="generic" } diff --git a/llvm/include/llvm/TargetParser/AArch64TargetParser.h b/llvm/include/llvm/TargetParser/AArch64TargetParser.h index c21bff14ece9886f7226ef35ba3969924edbe675..78e6ced9262746eb737f7f340f48c14ad6736181 100644 --- a/llvm/include/llvm/TargetParser/AArch64TargetParser.h +++ b/llvm/include/llvm/TargetParser/AArch64TargetParser.h @@ -320,7 +320,7 @@ struct ArchInfo { // clang-format off inline constexpr ArchInfo ARMV8A = { VersionTuple{8, 0}, AProfile, "armv8-a", "+v8a", (AArch64::AEK_FP | AArch64::AEK_SIMD), }; -inline constexpr ArchInfo ARMV8_1A = { VersionTuple{8, 1}, AProfile, "armv8.1-a", "+v8.1a", (ARMV8A.DefaultExts | AArch64::AEK_CRC | AArch64::AEK_LSE | AArch64::AEK_RDM)}; +inline constexpr ArchInfo ARMV8_1A = { VersionTuple{8, 1}, AProfile, "armv8.1-a", "+v8.1a", (ARMV8A.DefaultExts | AArch64::AEK_CRC | AArch64::AEK_RDM)}; inline constexpr ArchInfo ARMV8_2A = { VersionTuple{8, 2}, AProfile, "armv8.2-a", "+v8.2a", (ARMV8_1A.DefaultExts | AArch64::AEK_RAS)}; inline constexpr ArchInfo ARMV8_3A = { VersionTuple{8, 3}, AProfile, "armv8.3-a", "+v8.3a", (ARMV8_2A.DefaultExts | AArch64::AEK_RCPC)}; inline constexpr ArchInfo ARMV8_4A = { VersionTuple{8, 4}, AProfile, "armv8.4-a", "+v8.4a", (ARMV8_3A.DefaultExts | AArch64::AEK_DOTPROD)}; @@ -366,106 +366,113 @@ inline constexpr CpuInfo CpuInfos[] = { (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"cortex-a55", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_DOTPROD | AArch64::AEK_RCPC)}, + AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_LSE)}, {"cortex-a510", ARMV9A, (AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_SB | AArch64::AEK_PAUTH | AArch64::AEK_MTE | AArch64::AEK_SSBS | AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM | - AArch64::AEK_FP16FML)}, + AArch64::AEK_FP16FML | AArch64::AEK_LSE)}, {"cortex-a57", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"cortex-a65", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | - AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS)}, + AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"cortex-a65ae", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | - AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS)}, + AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"cortex-a72", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"cortex-a73", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"cortex-a75", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_DOTPROD | AArch64::AEK_RCPC)}, + AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_LSE)}, {"cortex-a76", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS)}, + AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"cortex-a76ae", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS)}, + AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"cortex-a77", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_RCPC | AArch64::AEK_DOTPROD | AArch64::AEK_SSBS)}, + AArch64::AEK_RCPC | AArch64::AEK_DOTPROD | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"cortex-a78", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | - AArch64::AEK_PROFILE)}, + AArch64::AEK_PROFILE | AArch64::AEK_LSE)}, {"cortex-a78c", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | AArch64::AEK_PROFILE | AArch64::AEK_FLAGM | AArch64::AEK_PAUTH | - AArch64::AEK_FP16FML)}, + AArch64::AEK_FP16FML | AArch64::AEK_LSE)}, {"cortex-a710", ARMV9A, (AArch64::AEK_MTE | AArch64::AEK_PAUTH | AArch64::AEK_FLAGM | AArch64::AEK_SB | AArch64::AEK_I8MM | AArch64::AEK_FP16FML | AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM | - AArch64::AEK_BF16)}, + AArch64::AEK_BF16 | AArch64::AEK_LSE)}, {"cortex-a715", ARMV9A, (AArch64::AEK_SB | AArch64::AEK_SSBS | AArch64::AEK_MTE | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_PAUTH | AArch64::AEK_I8MM | AArch64::AEK_PREDRES | AArch64::AEK_PERFMON | AArch64::AEK_PROFILE | AArch64::AEK_SVE | AArch64::AEK_SVE2BITPERM | - AArch64::AEK_BF16 | AArch64::AEK_FLAGM)}, + AArch64::AEK_BF16 | AArch64::AEK_FLAGM | AArch64::AEK_LSE)}, {"cortex-r82", ARMV8R, (AArch64::AEK_LSE)}, {"cortex-x1", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | - AArch64::AEK_PROFILE)}, + AArch64::AEK_PROFILE | AArch64::AEK_LSE)}, {"cortex-x1c", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | AArch64::AEK_DOTPROD | AArch64::AEK_RCPC | AArch64::AEK_SSBS | - AArch64::AEK_PAUTH | AArch64::AEK_PROFILE)}, + AArch64::AEK_PAUTH | AArch64::AEK_PROFILE | AArch64::AEK_LSE)}, {"cortex-x2", ARMV9A, (AArch64::AEK_MTE | AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_PAUTH | AArch64::AEK_SSBS | AArch64::AEK_SB | AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM | - AArch64::AEK_FP16FML)}, + AArch64::AEK_FP16FML | AArch64::AEK_LSE)}, {"cortex-x3", ARMV9A, (AArch64::AEK_SVE | AArch64::AEK_PERFMON | AArch64::AEK_PROFILE | AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_MTE | AArch64::AEK_SVE2BITPERM | AArch64::AEK_SB | AArch64::AEK_PAUTH | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_PREDRES | - AArch64::AEK_FLAGM | AArch64::AEK_SSBS)}, + AArch64::AEK_FLAGM | AArch64::AEK_SSBS | AArch64::AEK_LSE)}, {"neoverse-e1", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | - AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS)}, + AArch64::AEK_FP16 | AArch64::AEK_RCPC | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"neoverse-n1", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | AArch64::AEK_FP16 | AArch64::AEK_PROFILE | AArch64::AEK_RCPC | - AArch64::AEK_SSBS)}, + AArch64::AEK_SSBS | AArch64::AEK_LSE)}, {"neoverse-n2", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_SM4 | AArch64::AEK_BF16 | AArch64::AEK_DOTPROD | AArch64::AEK_FP16 | AArch64::AEK_I8MM | AArch64::AEK_MTE | AArch64::AEK_SB | AArch64::AEK_SSBS | AArch64::AEK_SVE | - AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM)}, + AArch64::AEK_SVE2 | AArch64::AEK_SVE2BITPERM | AArch64::AEK_LSE)}, {"neoverse-512tvb", ARMV8_4A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_SM4 | AArch64::AEK_SVE | AArch64::AEK_SSBS | AArch64::AEK_FP16 | AArch64::AEK_BF16 | AArch64::AEK_DOTPROD | AArch64::AEK_PROFILE | AArch64::AEK_RAND | AArch64::AEK_FP16FML | - AArch64::AEK_I8MM)}, + AArch64::AEK_I8MM | AArch64::AEK_LSE)}, {"neoverse-v1", ARMV8_4A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_SM4 | AArch64::AEK_SVE | AArch64::AEK_SSBS | AArch64::AEK_FP16 | AArch64::AEK_BF16 | AArch64::AEK_DOTPROD | AArch64::AEK_PROFILE | AArch64::AEK_RAND | AArch64::AEK_FP16FML | - AArch64::AEK_I8MM)}, + AArch64::AEK_I8MM | AArch64::AEK_LSE)}, {"neoverse-v2", ARMV9A, (AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_SSBS | AArch64::AEK_FP16 | AArch64::AEK_BF16 | AArch64::AEK_RAND | AArch64::AEK_DOTPROD | AArch64::AEK_PROFILE | AArch64::AEK_SVE2BITPERM | - AArch64::AEK_FP16FML | AArch64::AEK_I8MM | AArch64::AEK_MTE)}, + AArch64::AEK_FP16FML | AArch64::AEK_I8MM | AArch64::AEK_MTE | + AArch64::AEK_LSE)}, {"cyclone", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_NONE)}, {"apple-a7", ARMV8A, @@ -478,50 +485,58 @@ inline constexpr CpuInfo CpuInfos[] = { (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC | AArch64::AEK_RDM)}, {"apple-a11", ARMV8_2A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | + AArch64::AEK_LSE)}, {"apple-a12", ARMV8_3A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | + AArch64::AEK_LSE)}, {"apple-a13", ARMV8_4A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | - AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3)}, + AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | + AArch64::AEK_LSE)}, {"apple-a14", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | - AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3)}, + AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | + AArch64::AEK_LSE)}, {"apple-a15", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | - AArch64::AEK_BF16 | AArch64::AEK_I8MM)}, + AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_LSE)}, {"apple-a16", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | - AArch64::AEK_BF16 | AArch64::AEK_I8MM)}, + AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_LSE)}, {"apple-m1", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | - AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3)}, + AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | + AArch64::AEK_LSE)}, {"apple-m2", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_SHA3 | - AArch64::AEK_BF16 | AArch64::AEK_I8MM)}, + AArch64::AEK_BF16 | AArch64::AEK_I8MM | AArch64::AEK_LSE)}, {"apple-s4", ARMV8_3A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | + AArch64::AEK_LSE)}, {"apple-s5", ARMV8_3A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | + AArch64::AEK_LSE)}, {"exynos-m3", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"exynos-m4", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | - AArch64::AEK_FP16)}, + AArch64::AEK_FP16 | AArch64::AEK_LSE)}, {"exynos-m5", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_DOTPROD | - AArch64::AEK_FP16)}, + AArch64::AEK_FP16 | AArch64::AEK_LSE)}, {"falkor", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC | AArch64::AEK_RDM)}, {"saphira", ARMV8_3A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_PROFILE)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_PROFILE | + AArch64::AEK_LSE)}, {"kryo", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, - {"thunderx2t99", ARMV8_1A, (AArch64::AEK_AES | AArch64::AEK_SHA2)}, - {"thunderx3t110", ARMV8_3A, (AArch64::AEK_AES | AArch64::AEK_SHA2)}, + {"thunderx2t99", ARMV8_1A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_LSE)}, + {"thunderx3t110", ARMV8_3A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_LSE)}, {"thunderx", ARMV8A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_CRC)}, {"thunderxt88", ARMV8A, @@ -535,17 +550,19 @@ inline constexpr CpuInfo CpuInfos[] = { AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_PROFILE)}, {"a64fx", ARMV8_2A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | - AArch64::AEK_SVE)}, + AArch64::AEK_SVE | AArch64::AEK_LSE)}, {"carmel", ARMV8_2A, - (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16)}, + (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_FP16 | + AArch64::AEK_LSE)}, {"ampere1", ARMV8_6A, (AArch64::AEK_AES | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_SB | AArch64::AEK_SSBS | - AArch64::AEK_RAND)}, + AArch64::AEK_RAND | AArch64::AEK_LSE)}, {"ampere1a", ARMV8_6A, (AArch64::AEK_FP16 | AArch64::AEK_RAND | AArch64::AEK_SM4 | AArch64::AEK_SHA3 | AArch64::AEK_SHA2 | AArch64::AEK_AES | - AArch64::AEK_MTE | AArch64::AEK_SB | AArch64::AEK_SSBS)}, + AArch64::AEK_MTE | AArch64::AEK_SB | AArch64::AEK_SSBS | + AArch64::AEK_LSE)}, {"hip09", ARMV8_5A, (AArch64::AEK_AES | AArch64::AEK_SM4 | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_PROFILE | diff --git a/llvm/test/MC/AArch64/directive-arch.s b/llvm/test/MC/AArch64/directive-arch.s index 32840b4cd142227040d6f2fa7296cc2e2235a2df..c036b7da922ed91f6a9f0ba964f986a86d43e521 100644 --- a/llvm/test/MC/AArch64/directive-arch.s +++ b/llvm/test/MC/AArch64/directive-arch.s @@ -8,7 +8,7 @@ # CHECK: aesd v0.16b, v2.16b # CHECK: eor v0.16b, v0.16b, v2.16b - .arch armv8.1-a + .arch armv8.1-a+lse casa w5, w7, [x20] # CHECK: casa w5, w7, [x20] diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp index 3762ae115653dba79ed27df0b564422fc5adffc8..ead36ed5d895095ae5de28668f5cc060e6f1c464 100644 --- a/llvm/unittests/TargetParser/TargetParserTest.cpp +++ b/llvm/unittests/TargetParser/TargetParserTest.cpp @@ -1417,14 +1417,14 @@ INSTANTIATE_TEST_SUITE_P( 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_RDM | AArch64::AEK_PROFILE | AArch64::AEK_FP16 | AArch64::AEK_FP16FML | AArch64::AEK_DOTPROD, "8.2-A"), ARMCPUTestParams( "hip09", "armv8.5-a", "crypto-neon-fp-armv8", AArch64::AEK_CRC | AArch64::AEK_FP | AArch64::AEK_SIMD | - AArch64::AEK_RAS | AArch64::AEK_LSE | AArch64::AEK_RDM | + AArch64::AEK_RAS | AArch64::AEK_RDM | AArch64::AEK_RCPC | AArch64::AEK_DOTPROD | AArch64::AEK_AES | AArch64::AEK_SM4 | AArch64::AEK_SHA2 | AArch64::AEK_SHA3 | AArch64::AEK_FP16 | AArch64::AEK_PROFILE | @@ -1440,13 +1440,13 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_SHA3 | AArch64::AEK_SM4 | AArch64::AEK_SSBS | AArch64::AEK_SVE | AArch64::AEK_BF16 | AArch64::AEK_CRC | AArch64::AEK_DOTPROD | AArch64::AEK_FP | AArch64::AEK_I8MM | - AArch64::AEK_LSE | AArch64::AEK_RAS | AArch64::AEK_RCPC | + AArch64::AEK_RAS | AArch64::AEK_RCPC | AArch64::AEK_RDM | AArch64::AEK_SIMD, "8.5-A"), ARMCPUTestParams( "hip11", "armv9-a", "neon-fp-armv8", AArch64::AEK_CRC | AArch64::AEK_FP | AArch64::AEK_SIMD | - AArch64::AEK_RAS | AArch64::AEK_LSE | AArch64::AEK_RDM | + AArch64::AEK_RAS | AArch64::AEK_RDM | AArch64::AEK_RCPC | AArch64::AEK_SVE | AArch64::AEK_SVE2 | AArch64::AEK_DOTPROD | AArch64::AEK_MTE | AArch64::AEK_FP16FML | AArch64::AEK_FP16 | AArch64::AEK_SVE2BITPERM |