------- Comment #6 from eres at il dot ibm dot com 2008-03-23 07:20 ------- (In reply to comment #5) > (In reply to comment #4) > > I've applied a patch that should fix this. No-one's confirmed > > whether it does though, so I'm marking the PR as waiting. > And I just confirmed, it does fix it, on powerpc64-darwin:
It also fixes the problem on spu-gcc, but on powerpc64-linux it seems that the problem still exists: ----------------------------------- On spu-gcc: test2: - hbr .L5,$lr + fa $4,$4,$4 stqd $sp,-128($sp) + fa $3,$3,$3 ai $sp,$sp,-128 - stqd $3,64($sp) - stqd $4,80($sp) - lqd $4,80($sp) - lqd $5,64($sp) - fa $3,$4,$4 - fa $2,$5,$5 - stqd $3,48($sp) - stqd $2,32($sp) - lqd $4,48($sp) - lqd $3,32($sp) ai $sp,$sp,128 -.L5: bi $lr ----------------------------------- On powerpc64-linux : .file "struct1.c" .section ".text" .align 2 .p2align 4,,15 .globl test1 .type test1, @function test1: stwu 1,-32(1) mfvrsave 0 stw 0,28(1) oris 0,0,0xc000 mtvrsave 0 lvx 0,0,4 lvx 1,0,5 vaddfp 0,0,1 lwz 12,28(1) stvx 0,0,3 mtvrsave 12 addi 1,1,32 blr .size test1,.-test1 .align 2 .p2align 4,,15 .globl test2 .type test2, @function test2: stwu 1,-32(1) mfvrsave 0 stw 0,28(1) oris 0,0,0xc000 mtvrsave 0 li 0,16 lvx 1,0,4 lvx 0,4,0 vaddfp 1,1,1 vaddfp 0,0,0 lwz 12,28(1) stvx 1,0,4 stvx 0,4,0 stvx 0,3,0 stvx 1,0,3 mtvrsave 12 addi 1,1,32 blr .size test2,.-test2 .ident "GCC: (GNU) 4.4.0 20080323 (experimental)" .section .note.GNU-stack,"",@progbits -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33927