This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: -frename-registers on d30v
- To: Michael Meissner <meissner at redhat dot com>
- Subject: Re: -frename-registers on d30v
- From: Richard Henderson <rth at redhat dot com>
- Date: Wed, 22 Nov 2000 17:23:21 -0800
- Cc: scox at redhat dot com, gcc-bugs at gcc dot gnu dot org
- References: <200011221817.NAA07015@tiktok.cygnus.com>
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~