summaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-17 20:28:56 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-17 20:28:56 +0000
commitfa1a750285740ce8a2a7f9e1278ed71e68105331 (patch)
tree138f930705ab7ab9cd6f8a9659d2f3d7927c2c74 /gcc/configure
parent7c75339c4af0b37a67933ede0dccae3ca45623f8 (diff)
downloadgcc-fa1a750285740ce8a2a7f9e1278ed71e68105331.tar.gz
PR target/44074
* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. * configure: Regenerate. * config.in: Regenerate. * config/i386/i386.c (print_operand) <case ;>: Also print ; if !HAVE_AS_IX86_REP_LOCK_PREFIX. Don't emit whitespace. * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. (*rep_movsi): Likewise. (*rep_movsi_rex64): Likewise. (*rep_movqi): Likewise. (*rep_movqi_rex64): Likewise. (*rep_stosdi_rex64): Likewise. (*rep_stossi): Likewise. (*rep_stossi_rex64): Likewise. (*rep_stosqi): Likewise. (*rep_stosqi_rex64): Likewise. (*cmpstrnqi_nz_1): Use {%;} after repz. (*cmpstrnqi_nz_rex_1): Likewise. (*cmpstrnqi_1): Likewise. (*cmpstrnqi_rex_1): Likewise. (*strlenqi_1): Use {%;} after repnz. (*strlenqi_rex_1): Likewise. * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . (*sync_compare_and_swap<mode>): Likewise. (sync_double_compare_and_swap<mode>): Likewise. (*sync_double_compare_and_swapdi_pic): Likewise. (sync_old_add<mode>): Likewise. (sync_add<mode>): Likewise. (sync_sub<mode>): Likewise. (sync_<code><mode>): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159512 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure36
1 files changed, 35 insertions, 1 deletions
diff --git a/gcc/configure b/gcc/configure
index 0f39e4ebfdc..2384f424917 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -23228,7 +23228,7 @@ $as_echo "#define HAVE_AS_IX86_DIFF_SECT_DELTA 1" >>confdefs.h
fi
- # This one is used unconditionally by i386.[ch]; it is to be defined
+ # These two are used unconditionally by i386.[ch]; it is to be defined
# to 1 if the feature is present, 0 otherwise.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for GOTOFF in data" >&5
$as_echo_n "checking assembler for GOTOFF in data... " >&6; }
@@ -23269,6 +23269,40 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_AS_GOTOFF_IN_DATA `if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`
_ACEOF
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for rep and lock prefix" >&5
+$as_echo_n "checking assembler for rep and lock prefix... " >&6; }
+if test "${gcc_cv_as_ix86_rep_lock_prefix+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gcc_cv_as_ix86_rep_lock_prefix=no
+ if test x$gcc_cv_as != x; then
+ echo 'rep movsl
+ lock orl $0, (%esp)' > 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_rep_lock_prefix=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_rep_lock_prefix" >&5
+$as_echo "$gcc_cv_as_ix86_rep_lock_prefix" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_AS_IX86_REP_LOCK_PREFIX `if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`
+_ACEOF
+
+
;;
ia64*-*-*)