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