This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: -frename-registers on d30v


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~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]