This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0
- From: "tkarkha at us dot ibm.com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 2 Mar 2011 22:35:07 +0000
- Subject: [Bug target/47947] Varibles of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0
- Auto-submitted: auto-generated
- References: <bug-47947-4@http.gcc.gnu.org/bugzilla/>
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.000000,2.000000,3.000000,4.000000>
DEBUG:: u_in1 = <5.000000,6.000000,7.000000,8.000000>
DEBUG::foo:: l_temp0 = <1.000000,2.000000,3.000000,4.000000>
DEBUG::foo:: l_temp1 = <5.000000,6.000000,7.000000,8.000000>
DEBUG::foo:: in0 HI = <1.000000,0.000000>
DEBUG::foo:: in0 LO = <3.000000,0.000000>
DEBUG::foo:: in1 HI = <5.000000,0.000000>
DEBUG::foo:: in1 LO = <7.000000,0.000000>
DEBUG::foo:: l_result HI = <6.000000,8.000000>
DEBUG::foo:: l_result LO = <10.000000,0.000000>
DEBUG::foo:: result:: l_temp2 = <6.000000,8.000000,10.000000,0.000000>
DEBUG:: u_out = <6.000000,8.000000,10.000000,0.000000>
$
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.000000.