This is the mail archive of the
mailing list for the GCC project.
Re: Recent 3.2 branch commits cause x86 -fPIC regressions
On Tue, Sep 17, 2002 at 11:41:55PM +0930, Alan Modra wrote:
> Looks OK to me. I played with -mcpu and -march too, as the doloop
> optimization isn't used on all x86 variants. Updating to latest gcc-3.2,
> and retrying..
Oh ho! Looks like PR opt/7515 fix is the culprit.
$ gcc/xgcc -Bgcc/ -fPIC -O3 -fomit-frame-pointer /src/gcc-3.2/gcc/testsuite/gcc.c-torture/execute/20020406-1.c
calling DUPFFexgcd on degrees 1 and 2
DUPFFexgcd called on degrees 1 and 2
DUPFFexgcd called on degrees 1 and 1
It's past my bedtime, and I can't immediately see why Richard's patch
should cause this (probably just exposes some other bug), so I'm
calling it a day.
The recursive call looks bad to me. Insns marked *** ought to be swapped,
8048570: 8b 44 24 40 mov 0x40(%esp,1),%eax
8048574: 89 ee mov %ebp,%esi
8048576: 8b 54 24 44 mov 0x44(%esp,1),%edx
804857a: 89 74 24 4c mov %esi,0x4c(%esp,1) ***
804857e: 8b 6c 24 4c mov 0x4c(%esp,1),%ebp ***
8048582: 89 54 24 40 mov %edx,0x40(%esp,1)
8048586: 89 44 24 44 mov %eax,0x44(%esp,1)
804858a: eb a4 jmp 8048530 <DUPFFexgcd+0x20>
IBM OzLabs - Linux Technology Centre