This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/52407] New: sse2 simd uint32_t and int64_t and stack variable initialization


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]