From cc9568bae32642d24b9f2c94eb1d9ecb64a0b064 Mon Sep 17 00:00:00 2001
From: Bernd Schmidt <bernds@codesourcery.com>
Date: Thu, 1 Jul 2010 09:20:40 +0000
Subject: [PATCH] re PR bootstrap/44727 (Failed to bootstrap with
 --with-cpu=atom)

	PR target/44727
	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
	Make sure operand 0 dies.

From-SVN: r161656
---
 gcc/ChangeLog           | 6 ++++++
 gcc/config/i386/i386.md | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d36c585e2778..f09065965e9a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-07-01  Bernd Schmidt  <bernds@codesourcery.com>
+
+	PR target/44727
+	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
+	Make sure operand 0 dies.
+
 2010-07-01  Richard Guenther  <rguenther@suse.de>
 
 	PR middle-end/42834
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index e361fd707ab7..1714d50df9f4 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -17575,6 +17575,8 @@
 	    || GET_MODE (operands[0]) == HImode))
        || GET_MODE (operands[0]) == SImode
        || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
+   && (rtx_equal_p (operands[0], operands[3])
+       || peep2_reg_dead_p (2, operands[0]))
    /* We reorder load and the shift.  */
    && !reg_overlap_mentioned_p (operands[0], operands[4])"
   [(set (match_dup 5) (match_dup 4))
-- 
GitLab