aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2015-05-08 16:34:11 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2015-05-08 16:34:11 +0200
commit2a812183d676b5b19fa9a4ad0520681e11c9d016 (patch)
tree40db55dfae5cd770bd53abe72c75f28c7f74e956 /gcc
parent7d54bea5b99b69b78efe81028098b78d9a52f815 (diff)
downloadgcc-2a812183d676b5b19fa9a4ad0520681e11c9d016.zip
gcc-2a812183d676b5b19fa9a4ad0520681e11c9d016.tar.gz
gcc-2a812183d676b5b19fa9a4ad0520681e11c9d016.tar.bz2
rs6000.md: Require operand inequality in one of the peepholes.
* config/rs6000/rs6000.md: Require operand inequality in one of the peepholes. From-SVN: r222912
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.md3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e85dc31..5f15755 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md: Require operand inequality in one
+ of the peepholes.
+
2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 0909986..acf890c 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -12051,7 +12051,8 @@
(match_operand 7 "" "")
(match_operand 8 "" "")))]
"peep2_reg_dead_p (3, operands[0])
- && peep2_reg_dead_p (4, operands[4])"
+ && peep2_reg_dead_p (4, operands[4])
+ && REGNO (operands[0]) != REGNO (operands[5])"
[(set (match_dup 0) (xor:SI (match_dup 5) (match_dup 9)))
(set (match_dup 4) (compare:CC (match_dup 0) (match_dup 10)))
(set (pc) (if_then_else (match_dup 6) (match_dup 7) (match_dup 8)))]