Re: own target: combine emits invalid RTL

2007-11-19 Thread Rask Ingemann Lambertsen
On Fri, Nov 16, 2007 at 12:05:06AM +0100, Michael_fogel wrote: > (define_insn "iorsi3_internal1" > [(set (match_operand:SI 0 "gp_reg_operand" "=r,r") > (ior:SI (match_operand:SI 1 "reg_or_0_operand" "%rJ,rJ") > (match_operand:SI 2 "uns_arith_operand" "r,K")))] Oh, by t

Re: own target: combine emits invalid RTL

2007-11-18 Thread Michael_fogel
Jim Wilson wrote: > Dave Korn wrote: >> First places to look would be GO_IF_LEGITIMATE_ADDRESS and >> REG_OK_FOR_BASE_P, wouldn't they? Particularly in conjunction with >> REG_OK_STRICT. > > This could be a REG_OK_STRICT issue, but it isn't the usual case of > accepting an unallocated pseudo in

Re: own target: combine emits invalid RTL

2007-11-16 Thread Jim Wilson
Dave Korn wrote: First places to look would be GO_IF_LEGITIMATE_ADDRESS and REG_OK_FOR_BASE_P, wouldn't they? Particularly in conjunction with REG_OK_STRICT. This could be a REG_OK_STRICT issue, but it isn't the usual case of accepting an unallocated pseudo in reload, as we have a SUBREG ME

RE: own target: combine emits invalid RTL

2007-11-16 Thread Dave Korn
On 16 November 2007 00:01, Jim Wilson wrote: > Michael_fogel wrote: >> (ior:SI (subreg:SI (mem/s:QI (reg/f:SI 1250) [0 >> .flags+0 S1 A32]) 0) > > See register_operand and general_operand in recog.c. (SUBREG (MEM)) is > accepted by register_operand if INSN_SCHEDULING is not defined, for

Re: own target: combine emits invalid RTL

2007-11-16 Thread Rask Ingemann Lambertsen
On Fri, Nov 16, 2007 at 12:05:06AM +0100, Michael_fogel wrote: > tcp_in.c:1133: internal compiler error: in gen_reg_rtx, at emit-rtl.c:771 > Please submit a full bug report, This means you're calling gen_reg_rtx() when you're not allowed to. Olders version of GCC had a life1 pass, after which c

Re: own target: combine emits invalid RTL

2007-11-15 Thread Jim Wilson
Michael_fogel wrote: (ior:SI (subreg:SI (mem/s:QI (reg/f:SI 1250) [0 .flags+0 S1 A32]) 0) See register_operand and general_operand in recog.c. (SUBREG (MEM)) is accepted by register_operand if INSN_SCHEDULING is not defined, for historical reasons. This is something that should be f