This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: glibc 2.7 complex functions are possibly miscompiled by gcc 4.3 trunk
Saturday 29 December 2007 19:49:13 tarihinde Ian Lance Taylor ÅunlarÄ
yazmÄÅtÄ:
> Ismail DÃnmez <ismail@pardus.org.tr> writes:
> > Saturday 22 December 2007 19:11:32 tarihinde Ismail DÃnmez ÅunlarÄ
yazmÄÅtÄ:
> > > Hi all,
> > >
> > > I am doing glibc 4.3 regression tests using gcc 4.3 trunk nearly every
> > > day and I see 3 tests fail :
> > >
> > > math/test-float
> > > math/test-ildoubl
> > > math/test-ifloat
> > >
> > > The erorrs are all similar :
> > >
> > > Failure: Test: Imaginary part of: cacosh (-0 + 0 i) == 0.0 + pi/2 i
> > > Result:
> > > is: 0.00000000000000000000e+00 0x0.00000000000000000000p+0
> > > should be: 1.57079637050628662109e+00 0x1.921fb600000000000000p+0
> > > difference: 1.57079637050628662109e+00 0x1.921fb600000000000000p+0
> > > ulp : 13176795.0000
> > > max.ulp : 0.0000
> >
> > Replying to myself once again, these failures are due to
> > -fgcse-after-reload flag, -O3 -fno-gcse-after-reload cures this. Any tips
> > on how to debug this?
>
> Generic advice to start: compile with -da to get all the RTL dump
> files. Compare the dump files immediately before and after
> gcse-after-reload and see what changed. Set breakpoints on
> validate_change or make_insn_raw as appropriate for the changes. Walk
> up the stack and see what the code is doing. The file in question is
> postreload-gcse.c, which is relatively self-contained.
>
> Of course it is moderately likely that the bug is not in
> gcse-after-reload, and is in some other pass generating incorrect
> information. Still, finding the problem in gcse-after-reload is a
> good start.
Thanks I'll try, this is all new to me so its rather likely to be slow
progress.
Regards,
ismail
--
Never learn by your mistakes, if you do you may never dare to try again.