Bill Allombert on Thu, 3 Oct 2002 10:00:42 +0200


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

Re: gcc-3.1.1 on alpha


On Wed, Oct 02, 2002 at 09:07:24PM -0400, Igor Schein wrote:
> On Tue, Sep 24, 2002 at 06:28:17PM +0200, Bill Allombert wrote:
> > On Mon, Sep 23, 2002 at 08:16:51PM +0200, Bill Allombert wrote:
> > > On Tue, Jul 30, 2002 at 06:00:55PM -0400, Igor Schein wrote:
> > > > Hi,
> > > > 
> > > > gcc-3.1.1 miscompiles latest CVS pari code on alpha-linux:
> > > > 
> > > > ? conjvec(Mod(x^2+x+1,x^3-x-1))
> > > >   ***   bug in GP (Floating Point Exception), please report
> > > > 
> > > > That's with debugging binary + alpha kernel.  With generic kernel it
> > > > works fine. 
> > 
> > It looks like mulll is not specified correctly. It allowed gcc
> > to use the same register in input and ouput, clobbering it.
> > I have no knowledge of the alpha asm, so I do not really know
> > if I do something meaningful.  Here a patch that fix all the asm macros.
> > 
> > Please test!!
> 
> I applied the patch and compiled with gcc-3.2.   All segmentation
> faults are done.  Does any performance penalty come with your patch?

You are a better position than me to test that:)
No, I do not believe they are any performance penalty.
This patch just forbid the compiler to use the same registers in
input and output when this would break the code.

Cheers,
Bill.