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.