Use -xbrace_comment=no with recent Solaris/x86 as
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 26 Oct 2017 12:22:21 +0000 (12:22 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Thu, 26 Oct 2017 12:22:21 +0000 (12:22 +0000)
* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
supports -xbrace_comment option.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
(ASM_CPU_SPEC): Use it.

From-SVN: r254103

gcc/ChangeLog
gcc/config.in
gcc/config/i386/sol2.h
gcc/configure
gcc/configure.ac

index 3033a7f789d5e8d3c5ec7e1aa5046b12d0cb131e..95d9e39a43e34f8662a756126f1c627ac6a002ed 100644 (file)
@@ -1,3 +1,12 @@
+2017-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
+       supports -xbrace_comment option.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
+       (ASM_CPU_SPEC): Use it.
+
 2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * target.def (static_rtx_alignment): New hook.
index 89d7108e8dbd0ca0c1b8de09eb80e659aef3acca..5651bcba431c40df946b940674be0e5baf7c78a2 100644 (file)
 #endif
 
 
+/* Define if your assembler supports -xbrace_comment option. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_AS_XBRACE_COMMENT_OPTION
+#endif
+
+
 /* Define to 1 if you have the `atoq' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ATOQ
index 61733603fa21b4c5de4683620960d1993ebd6423..05e5e1a4949847bff213f3858004e588f3f3900b 100644 (file)
@@ -65,8 +65,16 @@ along with GCC; see the file COPYING3.  If not see
 #define ASM_CPU64_DEFAULT_SPEC "-xarch=generic64"
 #endif
 
+/* Since Studio 12.6, as needs -xbrace_comment=no so its AVX512 syntax is
+   fully compatible with gas.  */
+#ifdef HAVE_AS_XBRACE_COMMENT_OPTION
+#define ASM_XBRACE_COMMENT_SPEC "-xbrace_comment=no"
+#else
+#define ASM_XBRACE_COMMENT_SPEC ""
+#endif
+
 #undef ASM_CPU_SPEC
-#define ASM_CPU_SPEC "%(asm_cpu_default)"
+#define ASM_CPU_SPEC "%(asm_cpu_default) " ASM_XBRACE_COMMENT_SPEC
 
 /* Don't include ASM_PIC_SPEC.  While the Solaris 10+ assembler accepts -K PIC,
    it gives many warnings: 
index aa5937df84c4248bbc0787b6b3504132e9f2bf33..c49e665f1ca47bb754d49dc1db4ae6b6d4aa10fa 100755 (executable)
@@ -25552,6 +25552,38 @@ $as_echo "$as_me: WARNING: LTO for $target requires binutils >= 2.20.1, but vers
        ;;
     esac
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for -xbrace_comment" >&5
+$as_echo_n "checking assembler for -xbrace_comment... " >&6; }
+if test "${gcc_cv_as_ix86_xbrace_comment+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  gcc_cv_as_ix86_xbrace_comment=no
+  if test x$gcc_cv_as != x; then
+    $as_echo '.text' > conftest.s
+    if { ac_try='$gcc_cv_as $gcc_cv_as_flags -xbrace_comment=no -o conftest.o conftest.s >&5'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+    then
+       gcc_cv_as_ix86_xbrace_comment=yes
+    else
+      echo "configure: failed program was" >&5
+      cat conftest.s >&5
+    fi
+    rm -f conftest.o conftest.s
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ix86_xbrace_comment" >&5
+$as_echo "$gcc_cv_as_ix86_xbrace_comment" >&6; }
+if test $gcc_cv_as_ix86_xbrace_comment = yes; then
+
+$as_echo "#define HAVE_AS_XBRACE_COMMENT_OPTION 1" >>confdefs.h
+
+fi
+
+
     # Test if the assembler supports the section flag 'e' for specifying
     # an excluded section.
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .section with e" >&5
index d905d0d980ab90de6eb4df12bd4e71ca09f82360..7c0a903c4cdb00e7135a305df60a8c8e88a11ae4 100644 (file)
@@ -4103,6 +4103,11 @@ foo:     nop
        ;;
     esac
 
+    gcc_GAS_CHECK_FEATURE([-xbrace_comment], gcc_cv_as_ix86_xbrace_comment,,
+      [-xbrace_comment=no], [.text],,
+      [AC_DEFINE(HAVE_AS_XBRACE_COMMENT_OPTION, 1,
+               [Define if your assembler supports -xbrace_comment option.])])
+
     # Test if the assembler supports the section flag 'e' for specifying
     # an excluded section.
     gcc_GAS_CHECK_FEATURE([.section with e], gcc_cv_as_section_has_e,