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: [email protected]
ReportedBy: [email protected]
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