------- Comment #27 from bernds at gcc dot gnu dot org 2010-07-18 21:00 ------- (In reply to comment #26) > Subject: Re: [4.6 regression] Revision 162270 failed to bootstrap > > Doing a non bootstrap build, I see the following new fail: > FAIL: gcc.c-torture/execute/950605-1.c execution, -O1
David, this seems to be caused by a different revision. The postreload pass we're discussing here makes no changes to RTL on that testcase. Please ensure you find the right revision that introduces a problem. In this case, it probably was another of my changes that caused this failure, although I can't tell what's wrong. The extend insn disappears during fwprop1: -(insn 3 5 4 2 950605-1.c:3 (set (reg/v:DI 68 [ c+-7 ]) - (zero_extend:DI (reg:SI 26 %r26 [ c+-3 ]))) 133 {*pa.md:4633} (nil)) +(note 5 0 4 2 [bb 2] NOTE_INSN_BASIC_BLOCK) -(note 4 3 7 2 NOTE_INSN_FUNCTION_BEG) +(note 4 5 7 2 NOTE_INSN_FUNCTION_BEG) (insn 7 4 8 2 950605-1.c:4 (set (reg:SI 69) (const_int 255 [0xff])) 71 {*pa.md:2130} (nil)) (jump_insn 8 7 9 2 950605-1.c:4 (set (pc) - (if_then_else (eq (subreg/s/u:SI (reg/v:DI 68 [ c+-7 ]) 4) + (if_then_else (eq (reg:SI 26 %r26 [ c+-3 ]) (reg:SI 69)) (label_ref:DI 23) - (pc))) 46 {*pa.md:1330} (expr_list:REG_BR_PROB (const_int 9996 [0x270c]) - (nil)) + (pc))) 46 {*pa.md:1330} (expr_list:REG_DEAD (reg:SI 69) + (expr_list:REG_DEAD (reg/v:DI 68 [ c+-7 ]) + (expr_list:REG_BR_PROB (const_int 9996 [0x270c]) + (nil)))) I can't find anything wrong with this, as it's a SImode comparison. Is the backend emitting the correct compare instruction? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44970