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 the way: A

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

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 variable.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 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

own target: combine emits invalid RTL

2007-11-15 Thread Michael_fogel
Hi There is again a problem i con not solve by my own. I tried to compile LwIP and discovered following error. tcp_in.c:1133: internal compiler error: in gen_reg_rtx, at emit-rtl.c:771 Please submit a full bug report, A full output of all passes showed, that combine seems to make invalid

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 variable.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