https://gcc.gnu.org/g:ece10cd6b6b9bb74fd0574492af09f7f0fa1d8bf
commit r17-1499-gece10cd6b6b9bb74fd0574492af09f7f0fa1d8bf Author: Iain Sandoe <[email protected]> Date: Fri Oct 20 09:57:28 2023 +0100 aarch64: Make assembler bug workaround configurable. Some assmblers have a bug that requires +crc to be emitted even though the base architecture supports it. However, that also triggers a different bug in another assembler. So make the fix configurable. gcc/ChangeLog: * common/config/aarch64/aarch64-common.cc: Make the asm crc bug workaround configurable. Signed-off-by: Iain Sandoe <[email protected]> Diff: --- gcc/common/config/aarch64/aarch64-common.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc index e176262ea350..fc7e84ae966c 100644 --- a/gcc/common/config/aarch64/aarch64-common.cc +++ b/gcc/common/config/aarch64/aarch64-common.cc @@ -653,8 +653,12 @@ aarch64_get_extension_string_for_isa_flags However, assemblers with Armv8-R AArch64 support should not have this issue, so we don't need this fix when targeting Armv8-R. */ - auto explicit_flags = (!(current_flags & AARCH64_FL_V8R) - ? AARCH64_FL_CRC : 0); + aarch64_feature_flags explicit_flags = +#ifndef DISABLE_AARCH64_AS_CRC_BUGFIX + (!(current_flags & AARCH64_FL_V8R) ? AARCH64_FL_CRC : 0); +#else + 0; +#endif /* Add the features in isa_flags & ~current_flags using the smallest possible number of extensions. We can do this by iterating over the
