------- Comment #9 from jingyu at google dot com  2010-02-10 12:18 -------
I still get the 10-instruction code with trunk GCC I checked out today.

$arm-eabi-gcc -mthumb -mthumb-interwork -fpic -Os code.c -S
test:
        push    {lr}
        sub     sp, sp, #20
        ldr     r2, [r0]
        add     r3, sp, #4
        ldr     r1, [r0, #4]
        str     r2, [r3, #4]
        mov     r0, r3
        bl      func
        add     sp, sp, #20
        @ sp needed for prologue
        pop     {r0}
        bx      r0
        .size   test, .-test
        .ident  "GCC: (GNU) 4.5.0 20100210 (experimental)"

The toolchain was built with newlib-1.17.0, mpc-0.8.1, mpfr-2.4.1, gmp-4.2.4,
binutils-2.19.
Target: arm-eabi
Configured with:
/usr/local/home/projects/newlib_armtoolchain/gcc-trunk-read/configure
--prefix=/usr/local/home/projects/toolchain_build/newlib_build_trunk/install
--target=arm-eabi --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--with-gmp=/usr/local/home/projects/toolchain_build/newlib_build_trunk/install
--with-mpfr=/usr/local/home/projects/toolchain_build/newlib_build_trunk/install
--with-mpc=/usr/local/home/projects/toolchain_build/newlib_build_trunk/install
--enable-multilib --with-newlib --with-gnu-as --with-gnu-ld
--enable-languages=c,c++
Thread model: single
gcc version 4.5.0 20100210 (experimental) (GCC) 


Steven, could you please share how you build the toolchain which generates the
9-instruction code?

Thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39871

Reply via email to