aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2010-07-01 09:20:40 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2010-07-01 09:20:40 +0000
commitcc9568bae32642d24b9f2c94eb1d9ecb64a0b064 (patch)
tree2e7f36d1e1a5495dfbac9be584d4e3ec279eafe8 /gcc
parent70f348148c09468b05aa09fcfa91b61611003c27 (diff)
downloadgcc-cc9568bae32642d24b9f2c94eb1d9ecb64a0b064.zip
gcc-cc9568bae32642d24b9f2c94eb1d9ecb64a0b064.tar.gz
gcc-cc9568bae32642d24b9f2c94eb1d9ecb64a0b064.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d36c585..f090659 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 e361fd7..1714d50 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))