This is the mail archive of the 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: 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
$ ./a.out 
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,
I think.

 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>

Alan Modra
IBM OzLabs - Linux Technology Centre

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