[Bug target/78585] New: unaligned vmovaps memory operand generated for i686 target
zsojka at seznam dot cz
gcc-bugzilla@gcc.gnu.org
Tue Nov 29 11:39:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78585
Bug ID: 78585
Summary: unaligned vmovaps memory operand generated for i686
target
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: zsojka at seznam dot cz
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: x86_64-pc-linux-gnu
Created attachment 40189
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40189&action=edit
reduced testcase
Output:
$ i686-pc-linux-gnu-gcc -Os -fno-ipa-cp -fschedule-insns -mavx testcase.c
$ ./a.out
Segmentation fault
Stack was correctly aligned when entering foo(). When addressing m128 relative
to ebp, offset%16==8 must hold. But here, offset==68:
...
vmovaps XMMWORD PTR [ebp-68], xmm0
...
vpaddq xmm2, xmm2, XMMWORD PTR [ebp-68]
...
$ i686-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-i686/bin/i686-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-242953-checking-yes-rtl-df-extra-nobootstrap-nographite-i686/bin/../libexec/gcc/i686-pc-linux-gnu/7.0.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --without-cloog --without-ppl --without-isl
--with-sysroot=/usr/i686-pc-linux-gnu --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=i686-pc-linux-gnu
--with-ld=/usr/bin/i686-pc-linux-gnu-ld --with-as=/usr/bin/i686-pc-linux-gnu-as
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-242953-checking-yes-rtl-df-extra-nobootstrap-nographite-i686
Thread model: posix
gcc version 7.0.0 20161129 (experimental) (GCC)
More information about the Gcc-bugs
mailing list