[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #6 from ubizjak at gmail dot com 2010-08-01 11:41 --- FYI, following shoot-in-the-dark patch didn't help, but I guess it is needed together with some further reload surgery: Index: gensupport.c === --- gensupport.c(revision 162794) +++ gensupport.c(working copy) @@ -1050,7 +1050,7 @@ static const struct std_pred_table std_p {address_operand, true, true, {SUBREG, REG, MEM, PLUS, MINUS, MULT}}, {register_operand, false, false, {SUBREG, REG}}, {pmode_register_operand, true, false, {SUBREG, REG}}, - {scratch_operand, false, false, {SCRATCH, REG}}, + {scratch_operand, false, false, {SCRATCH, SUBREG, REG}}, {immediate_operand, false, true, {UNKNOWN}}, {const_int_operand, false, false, {CONST_INT}}, {const_double_operand, false, false, {CONST_INT, CONST_DOUBLE}}, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #5 from ubizjak at gmail dot com 2010-07-25 18:06 --- *** Bug 44816 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #3 from vmakarov at redhat dot com 2010-05-10 15:22 --- It is caused by revision 152533: http://gcc.gnu.org/ml/gcc-cvs/2009-10/msg00182.html If it is so, the patch triggered some reload bug IMO. The patch itself was very safe because it resulted in creation of additional conflicts. I hope that Jeff Law's work on new reload will fix it when it is in 4.6 finally. Otherwise, we should work on this PR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #4 from law at redhat dot com 2010-05-11 05:31 --- I doubt my work will make a significant difference for this test. We're trying to reload an insn which matches: (define_insn *addmode3_cconly_overflow [(set (reg:CCC FLAGS_REG) (compare:CCC (plus:SWI (match_operand:SWI 1 nonimmediate_operand %0) (match_operand:SWI 2 general_operand rim)) (match_dup 1))) (clobber (match_scratch:SWI 0 =r))] ix86_binary_operator_ok (PLUS, MODEmode, operands) add{imodesuffix}\t{%2, %0|%0, %2} [(set_attr type alu) (set_attr mode MODE)]) (gdb) p debug_reload() Reload 0: reload_in (SI) = (reg:SI 6 bp) reload_out (SI) = (scratch:SI) GENERAL_REGS, RELOAD_OTHER (opnum = 0), can't combine reload_in_reg: (subreg:SI (reg:DI 6 bp [orig:66 D.2764 ] [66]) 0) reload_out_reg: (scratch:SI) $14 = void (gdb) p debug_rtx (insn) (insn 25 24 26 5 j.c:26 (parallel [ (set (reg:CCC 17 flags) (compare:CCC (plus:SI (subreg:SI (reg:DI 6 bp [orig:66 D.2764 ] [66]) 0) (reg:SI 3 bx [orig:58 D.2737 ] [58])) (subreg:SI (reg:DI 6 bp [orig:66 D.2764 ] [66]) 0))) (clobber (scratch:SI)) ]) 316 {*addsi3_cconly_overflow} (expr_list:REG_DEAD (reg:DI 6 bp [orig:66 D.2764 ] [66]) (expr_list:REG_DEAD (reg:SI 3 bx [orig:58 D.2737 ] [58]) (nil I think the only way to satisfy this reload is to allocate the scratch to (subreg: SI (reg:DI 6)) I have no clue why reload doesn't do that. -- law at redhat dot com changed: What|Removed |Added CC||law at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #1 from hjl dot tools at gmail dot com 2010-05-08 00:35 --- It failed with gcc 4.4.3 and 4.5.0. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-05-08 00:35:54 date|| Summary|[4.6 Regression] ice in |[4.4/4.5/4.6 Regression] ice |subst_reloads, at |in subst_reloads, at |reload.c:6327 |reload.c:6327 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031
[Bug target/44031] [4.4/4.5/4.6 Regression] ice in subst_reloads, at reload.c:6327
--- Comment #2 from hjl dot tools at gmail dot com 2010-05-08 00:40 --- It is caused by revision 152533: http://gcc.gnu.org/ml/gcc-cvs/2009-10/msg00182.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||ubizjak at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44031