[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc
Subject: Re: 3.1 regrename.c doesn't handle which_alternative==-1
From: Michael Matz <matzmich () cs ! tu-berlin ! de>
Date: 2002-04-30 16:37:20
[Download RAW message or body]
Hi,
On Tue, 30 Apr 2002, Brad Lucier wrote:
> > Can you do a "p debug_rtx(insn)" in gdb at that line, after the
> > SEGV?
>
> (gdb) p debug_rtx(insn)
> (insn 25568 25566 25570 (set (reg:SF 72 %f40 [127])
> (mem:SF (plus:SI (reg/v:SI 16 %l0 [116])
> (const_int 19 [0x13])) [0 S4 A64])) 85 {*movsf_insn_novis} (nil)
> (nil))
Hmm, this looks sane, and should match alternative 6 (from 0). Operand 0
is a floatreg (matching 'f'), operand 1 a mem, whose address seems valid
to me (a general reg + a small constant) (matching the 'm'). No idea why
it doesn't. Try to step through constrain_operands(), why the operands do
not match their constraint in the way constrain_operands() is checking
them (i.e. wait in the outer do() loop for which_alternative being 6, and
check how it procedes through the operands and their constraints).
Ciao,
Michael.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic