http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46052
Summary: [4.6 Regression] ICE: in emit_move_insn, at expr.c:3386 with -ftree-vectorize Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Created attachment 22066 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22066 reduced testcase Compiler output: $ gcc -O -ftree-pre -ftree-vectorize -funswitch-loops pr46052.c pr46052.c: In function 'foo': pr46052.c:13:12: internal compiler error: in emit_move_insn, at expr.c:3386 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. When this diff is applied: ========= static inline char bar (void) { + return i ? i : 1; } void foo (int n) ========= the ICE changes to: $ gcc -O -ftree-pre -ftree-vectorize -funswitch-loops testcase.c testcase.c: In function 'foo': testcase.c:9:6: internal compiler error: RTL check: access of elt 16 of vector with last elt 15 in store_constructor, at expr.c:5744 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Tested revisions: r165540 - crash r163636 - OK