]> gcc.gnu.org Git - gcc.git/commitdiff
Use ud2 assembly mnemonic when available.
authorRoland McGrath <mcgrathr@google.com>
Fri, 14 Feb 2014 17:37:23 +0000 (17:37 +0000)
committerRoland McGrath <roland@gcc.gnu.org>
Fri, 14 Feb 2014 17:37:23 +0000 (17:37 +0000)
gcc/
* configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
* configure: Regenerated.
* config.in: Regenerated.
* config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
instead of ASM_SHORT.

From-SVN: r207789

gcc/ChangeLog
gcc/config.in
gcc/config/i386/i386.md
gcc/configure
gcc/configure.ac

index eef35b4b19450857e4ea2df6c3a233baf35707a0..dd988ce565d6bc5ae7e177ee6ba1e0fcea5d325b 100644 (file)
@@ -1,3 +1,11 @@
+2014-02-14  Roland McGrath  <mcgrathr@google.com>
+
+       * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
+       * configure: Regenerated.
+       * config.in: Regenerated.
+       * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
+       instead of ASM_SHORT.
+
 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
            Richard Earnshaw  <rearnsha@arm.com>
 
index 3aefa06708e9a281cb771dd6edd95aff86ccd056..5aa32213e7c0c42cadb83f2363632208054b75f7 100644 (file)
 #endif
 
 
+/* Define if your assembler supports the 'ud2' mnemonic. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_AS_IX86_UD2
+#endif
+
+
 /* Define if your assembler supports the lituse_jsrdirect relocation. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_JSRDIRECT_RELOCS
index 05fc00a66fc77cc792a8066e916f2a2cca8371f6..232a33493e0854a2d0a8a024fca71332ba9f996f 100644 (file)
 (define_insn "trap"
   [(trap_if (const_int 1) (const_int 6))]
   ""
-  { return ASM_SHORT "0x0b0f"; }
+{
+#ifdef HAVE_AS_IX86_UD2
+  return "ud2";
+#else
+  return ASM_SHORT "0x0b0f";
+#endif
+}
   [(set_attr "length" "2")])
 
 (define_expand "prefetch"
index 3ecd194346ed029b6fc85201ccd7dd362bbe68a6..cab3e926d9f8fb073a91fec13ba99bb771b0720d 100755 (executable)
@@ -25107,6 +25107,37 @@ if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then
 
 $as_echo "#define HAVE_AS_IX86_REP_LOCK_PREFIX 1" >>confdefs.h
 
+fi
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for ud2 mnemonic" >&5
+$as_echo_n "checking assembler for ud2 mnemonic... " >&6; }
+if test "${gcc_cv_as_ix86_ud2+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  gcc_cv_as_ix86_ud2=no
+  if test x$gcc_cv_as != x; then
+    $as_echo 'ud2' > conftest.s
+    if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -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_ud2=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_ud2" >&5
+$as_echo "$gcc_cv_as_ix86_ud2" >&6; }
+if test $gcc_cv_as_ix86_ud2 = yes; then
+
+$as_echo "#define HAVE_AS_IX86_UD2 1" >>confdefs.h
+
 fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for R_386_TLS_GD_PLT reloc" >&5
index 402494e5ba320d7441cebe433fa442078a428840..969a8a628c8f7f02b521a5ba31e89adfe4ef4446 100644 (file)
@@ -3895,6 +3895,12 @@ foo:     nop
         [AC_DEFINE(HAVE_AS_IX86_REP_LOCK_PREFIX, 1,
           [Define if the assembler supports 'rep <insn>, lock <insn>'.])])
 
+    gcc_GAS_CHECK_FEATURE([ud2 mnemonic],
+       gcc_cv_as_ix86_ud2,,,
+       [ud2],,
+      [AC_DEFINE(HAVE_AS_IX86_UD2, 1,
+       [Define if your assembler supports the 'ud2' mnemonic.])])
+
     gcc_GAS_CHECK_FEATURE([R_386_TLS_GD_PLT reloc],
         gcc_cv_as_ix86_tlsgdplt,,,
        [call    tls_gd@tlsgdplt],
This page took 0.114043 seconds and 5 git commands to generate.