This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bug 84762 - GCC for PowerPC32 violates the SysV ABI spec for small struct returns


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]