This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/52407] New: sse2 simd uint32_t and int64_t and stack variable initialization
- From: "pcpa at mandriva dot com.br" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 27 Feb 2012 21:12:47 +0000
- Subject: [Bug c/52407] New: sse2 simd uint32_t and int64_t and stack variable initialization
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52407
Bug #: 52407
Summary: sse2 simd uint32_t and int64_t and stack variable
initialization
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pcpa@mandriva.com.br
Created attachment 26766
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26766
simple test
The attached test case works if adapted for smaller integer
types (initializing more fields through the pointer), and also
works if declaring either "mul_vl_l" variables "p" or "w" static
or global.
If compiled with -O0 it also works, but -O1 or greater
generates incorrect result. If not casting and initializing
through the pointer, as in the "#if 0" code it also works.
expected output:
$ ./a.out
2 4 6 8 10 12 14 16
generated output:
$ ./a.out
0 4 0 8 0 12 0 16