summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mmix/mmix.md3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d21eb1eaab1..b46d9373a41 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-25 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
+ with REG_P tests before REGNO access.
+
2007-09-24 DJ Delorie <dj@redhat.com>
PR target/31482
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 44ab5667ac3..aa878af0f82 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -481,7 +481,8 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
(const_int 0)))]
;; FIXME: Can we test equivalence any other way?
;; FIXME: Can we fold any other way?
- "REGNO (operands[1]) == REGNO (operands[0])"
+ "REG_P (operands[0]) && REG_P (operands[1])
+ && REGNO (operands[1]) == REGNO (operands[0])"
"%% folded: cmp %0,%1,0")
(define_insn "*cmpcc"