[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.0   |---


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #2 from David Edelsohn dje at gcc dot gnu.org 2011-03-02 22:08:51 
UTC ---
Did you build the application as a 32 bit or 64 bit application?  If you used
the default 32 bit on AIX did you try using -maix64?


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #3 from David Edelsohn dje at gcc dot gnu.org 2011-03-02 22:29:43 
UTC ---
I can reproduce this bug.  It occurs in AIX 32 bit mode, but not in AIX 64 bit
mode.

Linux 32 bit mode ABI is different than AIX 32 bit ABI, so it is more difficult
for LTC to reproduce.  They are going to try Linux 32 bit -fpic/-fPIC.


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread tkarkha at us dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #4 from Tejas Karkhanis tkarkha at us dot ibm.com 2011-03-02 
22:35:01 UTC ---
David,

I tried building with -maix64 flag.  Here is the output after compiling with
-maix64 flag:

gcc-4.6.0 -Wall -O3 -I ./ -std=gnu99 -maltivec -mabi=altivec
-flax-vector-conversions -mvsx -mcpu=power7 -mtune=power7 -maix64 gccBugTest.c
-o gccBugTest_GCC
$ ./gccBugTest_GCC
DEBUG:: u_in0 = 1.00,2.00,3.00,4.00
DEBUG:: u_in1 = 5.00,6.00,7.00,8.00
DEBUG::foo:: l_temp0 = 1.00,2.00,3.00,4.00
DEBUG::foo:: l_temp1 = 5.00,6.00,7.00,8.00
DEBUG::foo:: in0 HI = 1.00,0.00
DEBUG::foo:: in0 LO = 3.00,0.00
DEBUG::foo:: in1 HI = 5.00,0.00
DEBUG::foo:: in1 LO = 7.00,0.00
DEBUG::foo:: l_result HI = 6.00,8.00
DEBUG::foo:: l_result LO = 10.00,0.00
DEBUG::foo:: result:: l_temp2 = 6.00,8.00,10.00,0.00
DEBUG:: u_out = 6.00,8.00,10.00,0.00
$ 

Notice that this time the error is in the right-most element of the variable
u_out -- the right-most element should have been 12.00.


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #5 from David Edelsohn dje at gcc dot gnu.org 2011-03-02 22:48:10 
UTC ---
The bug does not occur with -O1.  It does occur with -O2 and above, both 32 bit
and 64 bit AIX.


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #6 from David Edelsohn dje at gcc dot gnu.org 2011-03-02 22:51:04 
UTC ---
Created attachment 23520
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23520
Assembly output from testcase


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0

--- Comment #7 from Pat Haugen pthaugen at gcc dot gnu.org 2011-03-02 
23:01:59 UTC ---
-fpic/-fPIC don't cause a failure on Linux either. I consistently get the
following output no matter what I've tried.

[pthaugen@ltcgranola3p01 hmmer]$ a.out
DEBUG:: u_in0 = 1.00,2.00,3.00,4.00
DEBUG:: u_in1 = 5.00,6.00,7.00,8.00
DEBUG::foo:: l_temp0 = 1.00,2.00,3.00,4.00
DEBUG::foo:: l_temp1 = 5.00,6.00,7.00,8.00
DEBUG::foo:: in0 HI = 1.00,2.00
DEBUG::foo:: in0 LO = 3.00,4.00
DEBUG::foo:: in1 HI = 5.00,6.00
DEBUG::foo:: in1 LO = 7.00,8.00
DEBUG::foo:: l_result HI = 6.00,8.00
DEBUG::foo:: l_result LO = 10.00,12.00
DEBUG::foo:: result:: l_temp2 = 6.00,8.00,10.00,12.00
DEBUG:: u_out = 6.00,8.00,10.00,12.00


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

--- Comment #8 from Pat Haugen pthaugen at gcc dot gnu.org 2011-03-02 
23:03:36 UTC ---
(In reply to comment #6)
 Created attachment 23520 [details]
 Assembly output from testcase

David,
Can you post your output you get from this run, since we've seen variations
now.


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-02 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.0   |---


[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0

2011-03-01 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pthaugen at gcc dot gnu.org

--- Comment #1 from Pat Haugen pthaugen at gcc dot gnu.org 2011-03-01 
21:51:09 UTC ---
I checked to see if this is the same issue as PR47862, and it doesn't appear to
be so. I was unable to duplicate the problem on Linux with trunk and ibm-4.5
branch, so looking AIX specific.