|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.