[Bug target/47947] Variables of type vector double are not copied correctly in gcc-4.5.1 and gcc-4.6.0
pthaugen at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 3 22:12:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47947
--- Comment #10 from Pat Haugen <pthaugen at gcc dot gnu.org> 2011-03-03 22:12:12 UTC ---
This is looking like a dup of PR47862, note the following snippet of assembler.
stfd 0,360(1) #,
stfd 12,344(1) #,
stfd 13,352(1) #,
stfd 11,336(1) #,
...
bl .printf #
nop
lfd 11,336(1) #,
addi 9,1,384 #,,
addi 3,31,176 #, tmp156,
stxvd2x 11,0,9 # in0$hiVectorDouble,
...
bl .printf #
nop
lfd 13,352(1) #,
addi 9,1,384 #,,
addi 3,31,208 #, tmp156,
stxvd2x 13,0,9 # in0$loVectorDouble,
0,11,12,13 all hold vector values coming into this snippet, and you can see
we're just saving/restoring part of the vector across the printf calls.
More information about the Gcc-bugs
mailing list