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

Reply via email to