From: Andrew Carlotti Date: Mon, 15 Jan 2024 11:16:53 +0000 (+0000) Subject: aarch64: Add sysreg features to +d128 dependencies X-Git-Tag: gdb-15-branchpoint~89 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53071aac476c2d497b313b1ee09a462912cb1d87;p=thirdparty%2Fbinutils-gdb.git aarch64: Add sysreg features to +d128 dependencies We should revisit sysreg feature enablement and dependencies in future, but this change should help until then. OK for master? --- diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 5f663838de3..d80aceb42f1 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10398,6 +10398,10 @@ struct aarch64_option_cpu_value_table const aarch64_feature_set require; /* Feature dependencies. */ }; +/* There are currently many feature bits with no corresponding flag for features implied by FEAT_D128. We should combine or remove most of these in the future, but for now just make +d128 enable these dependencies as well. */ +#define D128_FEATURE_DEPS AARCH64_FEATURES (8, LSE128, SCTLR2, FGT2, ATS1A, \ + AIE, S1PIE, S2PIE, TCR2) + static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"crc", AARCH64_FEATURE (CRC), AARCH64_NO_FEATURES}, {"crypto", AARCH64_FEATURES (2, AES, SHA2), @@ -10469,8 +10473,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"the", AARCH64_FEATURE (THE), AARCH64_NO_FEATURES}, {"rasv2", AARCH64_FEATURE (RASv2), AARCH64_FEATURE (RAS)}, {"ite", AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES}, - {"d128", AARCH64_FEATURE (D128), - AARCH64_FEATURE (LSE128)}, + {"d128", AARCH64_FEATURE (D128), D128_FEATURE_DEPS}, {"b16b16", AARCH64_FEATURE (B16B16), AARCH64_FEATURE (SVE2)}, {"sme2p1", AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SME2)}, {"sve2p1", AARCH64_FEATURE (SVE2p1), AARCH64_FEATURE (SVE2)},