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

Reply via email to