This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/52736] New: [4.7 regression] miscompilation: store to aliased __m128d is 8 Bytes off
- From: "kretz at kde dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Mar 2012 06:40:22 +0000
- Subject: [Bug target/52736] New: [4.7 regression] miscompilation: store to aliased __m128d is 8 Bytes off
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52736
Bug #: 52736
Summary: [4.7 regression] miscompilation: store to aliased
__m128d is 8 Bytes off
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: kretz@kde.org
Created attachment 27007
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27007
testcase
The attached testcase fails when compiled with:
g++ -msse2 -O1 main.cpp
The first aliased store on line 35 stores to the second element in the vector
instead of the fist. The store on line 37 stores to the exact same location in
memory (which is the correct location for line 37).
Slight modification of the example can lead to the compiler optimizing the code
to use half vector loads, in which case it uses the correct one.