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: unassig...@gcc.gnu.org
        ReportedBy: p...@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

Reply via email to