http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48612
Summary: [4.7 Regression] vminps instruction is generated with -ftree-vectorize even without -mavx, causing SIGILL Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 23990 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23990 reduced testcase (from gcc.target/i386/sse-minps-1.c) Output: $ gcc -O -ftree-vectorize testcase.c $ ./a.out Program received signal SIGILL, Illegal instruction. 0x00000000004004eb in do_test (e=0x7fffffffde70) at testcase.c:16 16 e[i] = s1.a[i] < s2.a[i] ? s1.a[i] : s2.a[i]; (gdb) disassemble Dump of assembler code for function do_test: 0x00000000004004e4 <+0>: movaps 0x135(%rip),%xmm0 # 0x400620 => 0x00000000004004eb <+7>: vminps 0x13d(%rip),%xmm0,%xmm0 # 0x400630 0x00000000004004f3 <+15>: movlps %xmm0,(%rdi) 0x00000000004004f6 <+18>: movhps %xmm0,0x8(%rdi) 0x00000000004004fa <+22>: retq End of assembler dump.