Hi Segher, I am building the GCC with the following configuration ( using gcc trunk ). ../gcc/configure --target=powerpc-linux --prefix=/opt/buckeye/powerpc-linux --disable-shared --disable-threads --enable-languages=c --with-newlib
And my assembly code (without optimization) is: $ cc1 -msvr4-struct-return test.c .LFB0: stwu 1,-32(1) .LCFI0: stw 31,28(1) .LCFI1: mr 31,1 .LCFI2: lis 9,.LC0@ha la 9,.LC0@l(9) lhz 10,0(9) lbz 9,2(9) sth 10,11(31) stb 9,13(31) lhz 10,11(31) lbz 9,13(31) sth 10,8(31) stb 9,10(31) li 9,0 lbz 10,8(31) rlwinm 10,10,0,24,31 slwi 10,10,16 rlwinm 9,9,0,16,7 or 9,9,10 lbz 10,9(31) rlwinm 10,10,0,24,31 slwi 10,10,8 rlwinm 9,9,0,24,15 or 9,9,10 lbz 10,10(31) rlwinm 10,10,0,24,31 rlwinm 9,9,0,0,23 or 9,9,10 mr 3,9 addi 11,31,32 lwz 31,-4(11) .LCFI3: mr 1,11 .LCFI4: blr Assembly code (with optimization -O2) is: $ cc1 -msvr4-struct-return -O2 test.c .LFB0: stwu 1,-32(1) .LCFI0: lis 3,0x11 ori 3,3,0x2233 addi 1,1,32 .LCFI1: blr As you mentioned assembly code in the GCC Bugzilla, I am not able to reproduce the issue. Please let me know your options used to reproduce this issue. Sirl, If you got the patch for this issue or will look into the issue. -- Thanks & Regards Lokesh Janghel