------- Comment #10 from amodra at bigpond dot net dot au 2007-10-20 00:08 ------- Prior to my patch:
.L.main1: mflr 0 mr 12,1 std 0,16(1) lis 0,0xffff ori 0,0,4656 stdux 1,1,0 mfvrsave 0 stw 0,-4(12) so we store vrsave at frame_top-4 ... lwz 12,-4(1) li 3,0 mtvrsave 12 but here we restore from frame_top+0xfff...f4656-4 ld 1,0(1) because the frame isn't popped until here. ld 0,16(1) mtlr 0 blr -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33812