http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50911
Bug #: 50911 Summary: [4.7 regression] assertion failure in expand_vec_perm_interleave2 with -msse Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: ebotca...@gcc.gnu.org Target: i?86-*-* x86_64-*-* Created attachment 25660 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25660 Concatenated testcase This is a regression introduced by the recent changes in the x86 back-end which are related to vectorization. If you compile the to-be-gnatchoped testcase with -O3 -msse, you get: eric@atlantis:~/build/gcc> gcc -S -gnatws -O3 -msse loop_optimization9.adb +===========================GNAT BUG DETECTED==============================+ | 4.7.0 20111028 (experimental) [trunk revision 180610] (i586-suse-linux-gnu) GCC error:| | in expand_vec_perm_interleave2, at config/i386/i386.c:35573 | | Error detected around gcc/ada/rts/s-string.ads:58:4 This compiles fine with -O3 -msse2 instead. The testcase can directly be added to the testsuite as gnat.dg/loop_optimization9.ad[sb].