Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: gcc 4.1.3 (netbsd-5-1) ARM compiler bug



On Sat, Nov 05, 2011 at 11:40:37PM +0100, Ignatios Souvatzis wrote:
> Addition: xjpg_dec.c compiles to slow, working code with -O0.

Isolated test case shows same behaviour:
marie pointerdiff !% cat pointerdiff.c
struct foo {
        char c[1024];
        char *a;
        char *b;
};
int bar (struct foo *g) {
        return g->b - g->a;
}
marie pointerdiff !% cc -O2 -S pointerdiff.c
marie pointerdiff !% cat pointerdiff.s
        .file   "pointerdiff.c"
        .text
        .align  2
        .global bar
        .type   bar, %function
bar:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        @ link register save eliminated.
        ldr     r0, [r0, #1028]
        ldr     r3, [r0, #1024]
        sub     r0, r3, r0
        @ lr needed for prologue
        mov     pc, lr
        .size   bar, .-bar
        .ident  "GCC: (GNU) 4.1.3 20080704 prerelease (NetBSD nb2 20081120)"

Regards,
        -is


Home | Main Index | Thread Index | Old Index