[Bug target/48612] New: [4.7 Regression] vminps instruction is generated with -ftree-vectorize even without -mavx, causing SIGILL
zsojka at seznam dot cz
gcc-bugzilla@gcc.gnu.org
Thu Apr 14 20:40:00 GMT 2011
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: unassigned@gcc.gnu.org
ReportedBy: zsojka@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.
More information about the Gcc-bugs
mailing list