Using r144996 configured for crisv32-axis-linux-gnu (but the error is there for crisv32-axis-elf, which is somewhat more repeatable and simulator-friendly), I get these errors:
Running /tmp/x144980/gcc/gcc/testsuite/gcc.c-torture/execute/execute.exp ... ... FAIL: gcc.c-torture/execute/stdarg-3.c compilation, -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: gcc.c-torture/execute/stdarg-3.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) The error message in gcc.log for the both is: x/gcc.c-torture/execute/stdarg-3.c: In function 'main': x/gcc.c-torture/execute/stdarg-3.c:166: internal compiler error: in reload_as_needed, at reload1.c:4380 "call debug_rtx (insn)" at the gcc_assert at the line in question yields (insn 427 1353 1140 17 /tmp/x144980/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-3.c:144 (set (mem/s/c:SI (reg:SI 6 r6) [10 S4 A8]) (reg:SI 8 r8)) 38 {*movsi_internal} (expr_list:REG_INC (reg:SI 8 r8) (expr_list:REG_INC (reg:SI 6 r6) (nil)))) and in_hard_regno is 8 and in_regno is 207. Note the "spurious" left-over REG_INC note. It seems revision 142328 (the fix for PR37514, in which the code and the triggering gcc_assert was added) exposed or cause this bug. A crisv32-axis-elf cc1 from tags/gcc_4_3_3_release does not give any such error, neither does trunk r142327. Trunk r142328 does give the error. FWIW, crisv32-*-* has the interesting trait that it's AUTO_INC_DEC, has a moderate amount of registers available (in contrast to e.g. ia64) and can't offset addresses (only (mem reg) and (mem (post_inc reg)) are valid). -- Summary: [4.4 Regression] fix for PR37514 gives FAIL: gcc.c- torture/execute/stdarg-3.c compilation, -O3 -fomit- frame-pointer -funroll-loops (internal compiler error) Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu, i686-unknown-linux-gnu GCC target triplet: crisv32-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39522