-frename-registers on d30v

Richard Henderson rth@redhat.com
Wed Nov 22 17:23:00 GMT 2000


On Wed, Nov 22, 2000 at 01:17:28PM -0500, Michael Meissner wrote:
> I've been working mostly on a branch for the last couple of months, so
> I don't know how widespread the wreakage is, but -frename-registers
> doesn't work on the d30v (testsuite/gcc.c-torture/compile/cmpdi-1.c
> when compiled with -O3 -frename-registers).

The problem exhibited in this test case is that there
is a hole in the operands for 

(define_insn "*movcccc_signed_true"
  [(set (match_operand:CC 0 "flag_operand" "=f,f")
        (if_then_else:CC (match_operand:CC 1 "br_flag_operand" "f,f")
             (match_operator:CC 3 "srelational_si_operator"
               [(match_operand:SI 4 "gpr_operand" "d,d")
                (match_operand:SI 5 "gpr_or_constant_operand" "dI,i")])
             (match_dup 0)))]

Note the lack of an operand 2.

I could swear that this is illegal, and I'm quite surprised
that reload didn't crash on it.

What is consensus?  Should the operands be compressed (in which case
an error in genrecog would be appropriate), or should this be handled
(in which case regrename can check for null operand_loc).


r~


More information about the Gcc-bugs mailing list