From 5b83677d1ae4ab4cca9ca01c454e1eb1a28130a1 Mon Sep 17 00:00:00 2001 From: hp Date: Tue, 25 Sep 2007 02:01:24 +0000 Subject: [PATCH] * config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate with REG_P tests before REGNO access. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128743 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/mmix/mmix.md | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 + + * config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate + with REG_P tests before REGNO access. + 2007-09-24 DJ Delorie 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" -- 2.11.0