From 52c0765a4b0ecafca82ec5341f41b0538cfcdd84 Mon Sep 17 00:00:00 2001 From: bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon, 6 Feb 2006 14:27:21 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/sync.md | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dc53896671e..225f6e82a2d1 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 fb3976cc6bc4..19a61c8b580a 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>"))] -- GitLab