http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56548
Bug #: 56548 Summary: [4.8 Regression] ICE in emit_move_insn, at expr.c:3486 with -march=pentium{pro,2,3} -O3 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: d.g.gorbac...@gmail.com GCC 4.8.0 20130303 (experimental). $ cat > bug.c short foo(short x) { int i; for (i = 0; i < 3; i++) if (x > 0) x--; return x; } ^D $ gcc -S -O3 -march=pentium3 bug.c bug.c: In function 'foo': bug.c:9:3: internal compiler error: in emit_move_insn, at expr.c:3486 return x; ^ 0x834eaa1 emit_move_insn(rtx_def*, rtx_def*) ../../gcc-4.8/gcc/expr.c:3485 0x8600ef9 expand_value_return ../../gcc-4.8/gcc/stmt.c:1461 0x86068d8 expand_return(tree_node*) ../../gcc-4.8/gcc/stmt.c:1547 0x825eefc expand_gimple_stmt_1 ../../gcc-4.8/gcc/cfgexpand.c:2182 0x825f82c expand_gimple_stmt ../../gcc-4.8/gcc/cfgexpand.c:2304 0x8262484 expand_gimple_basic_block ../../gcc-4.8/gcc/cfgexpand.c:4083 0x82648c8 gimple_expand_cfg ../../gcc-4.8/gcc/cfgexpand.c:4602 GCC 20121118 (r193607) - fails, 20121111 (r193417) - works.