diff --git a/llvm/include/llvm/TargetParser/AArch64TargetParser.h b/llvm/include/llvm/TargetParser/AArch64TargetParser.h --- a/llvm/include/llvm/TargetParser/AArch64TargetParser.h +++ b/llvm/include/llvm/TargetParser/AArch64TargetParser.h @@ -471,7 +471,7 @@ {"a64fx", ARMV8_2A, (AArch64::AEK_FP16 | AArch64::AEK_SVE)}, {"carmel", ARMV8_2A, (AArch64::AEK_FP16)}, {"ampere1", ARMV8_6A, - (AArch64::AEK_FP16 | AArch64::AEK_SB | AArch64::AEK_SSBS)}, + (AArch64::AEK_FP16 | AArch64::AEK_SB | AArch64::AEK_RAND | AArch64::AEK_SSBS)}, // Invalid CPU {"invalid", INVALID, (AArch64::AEK_INVALID)}, }; diff --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td --- a/llvm/lib/Target/AArch64/AArch64.td +++ b/llvm/lib/Target/AArch64/AArch64.td @@ -1294,7 +1294,7 @@ FeatureNEON, FeaturePerfMon, FeatureSPE, FeatureFullFP16, FeatureFP16FML, FeatureDotProd]; list Ampere1 = [HasV8_6aOps, FeatureNEON, FeaturePerfMon, - FeatureMTE, FeatureSSBS]; + FeatureSSBS, FeatureRandGen, FeatureSB]; // ETE and TRBE are future architecture extensions. We temporarily enable them // by default for users targeting generic AArch64. The extensions do not diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp --- a/llvm/unittests/TargetParser/TargetParserTest.cpp +++ b/llvm/unittests/TargetParser/TargetParserTest.cpp @@ -1339,7 +1339,7 @@ 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_SSBS | AArch64::AEK_SB | AArch64::AEK_RAND, "8.6-A"), ARMCPUTestParams( "neoverse-512tvb", "armv8.4-a", "crypto-neon-fp-armv8",