diff options
| author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-06 14:27:21 +0000 |
|---|---|---|
| committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-06 14:27:21 +0000 |
| commit | 52c0765a4b0ecafca82ec5341f41b0538cfcdd84 (patch) | |
| tree | 9ebcc73700fd8b90440b10eea9e888ce922c4aed | |
| parent | ee9d2006f1827f2e24ef8d6898baba2eb42f3e45 (diff) | |
| download | ppe42-gcc-52c0765a4b0ecafca82ec5341f41b0538cfcdd84.tar.gz ppe42-gcc-52c0765a4b0ecafca82ec5341f41b0538cfcdd84.zip | |
* config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>,
sync_and<mode>, sync_xor<mode>): Operand 0 is in-out.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110645 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/i386/sync.md | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dc53896671..225f6e82a2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> + + * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>, + sync_and<mode>, sync_xor<mode>): Operand 0 is in-out. + 2006-02-06 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads. diff --git a/gcc/config/i386/sync.md b/gcc/config/i386/sync.md index fb3976cc6bc..19a61c8b580 100644 --- a/gcc/config/i386/sync.md +++ b/gcc/config/i386/sync.md @@ -1,5 +1,5 @@ ;; GCC machine description for i386 synchronization instructions. -;; Copyright (C) 2005 +;; Copyright (C) 2005, 2006 ;; Free Software Foundation, Inc. ;; ;; This file is part of GCC. @@ -230,7 +230,7 @@ "xchg{<modesuffix>}\t{%1, %0|%0, %1}") (define_insn "sync_add<mode>" - [(set (match_operand:IMODE 0 "memory_operand" "=m") + [(set (match_operand:IMODE 0 "memory_operand" "+m") (unspec_volatile:IMODE [(plus:IMODE (match_dup 0) (match_operand:IMODE 1 "nonmemory_operand" "r<immconstraint>"))] @@ -240,7 +240,7 @@ "lock\;add{<modesuffix>}\t{%1, %0|%0, %1}") (define_insn "sync_sub<mode>" - [(set (match_operand:IMODE 0 "memory_operand" "=m") + [(set (match_operand:IMODE 0 "memory_operand" "+m") (unspec_volatile:IMODE [(minus:IMODE (match_dup 0) (match_operand:IMODE 1 "nonmemory_operand" "r<immconstraint>"))] @@ -250,7 +250,7 @@ "lock\;sub{<modesuffix>}\t{%1, %0|%0, %1}") (define_insn "sync_ior<mode>" - [(set (match_operand:IMODE 0 "memory_operand" "=m") + [(set (match_operand:IMODE 0 "memory_operand" "+m") (unspec_volatile:IMODE [(ior:IMODE (match_dup 0) (match_operand:IMODE 1 "nonmemory_operand" "r<immconstraint>"))] @@ -260,7 +260,7 @@ "lock\;or{<modesuffix>}\t{%1, %0|%0, %1}") (define_insn "sync_and<mode>" - [(set (match_operand:IMODE 0 "memory_operand" "=m") + [(set (match_operand:IMODE 0 "memory_operand" "+m") (unspec_volatile:IMODE [(and:IMODE (match_dup 0) (match_operand:IMODE 1 "nonmemory_operand" "r<immconstraint>"))] @@ -270,7 +270,7 @@ "lock\;and{<modesuffix>}\t{%1, %0|%0, %1}") (define_insn "sync_xor<mode>" - [(set (match_operand:IMODE 0 "memory_operand" "=m") + [(set (match_operand:IMODE 0 "memory_operand" "+m") (unspec_volatile:IMODE [(xor:IMODE (match_dup 0) (match_operand:IMODE 1 "nonmemory_operand" "r<immconstraint>"))] |

