This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Regression in LAPACK with -O3
- From: dominiq at lps dot ens dot fr (Dominique Dhumieres)
- To: jvdelisle at verizon dot net, dominiq at lps dot ens dot fr
- Cc: fortran at gcc dot gnu dot org
- Date: Wed, 01 Feb 2006 23:46:11 +0100
- Subject: Re: Regression in LAPACK with -O3
- References: <43DFE247.mailGF01145WX@tournesol.lps.ens.fr> <43E02744.80605@verizon.net>
> I am not seeing this problem on i686 with -O0.
I don't on a G5 with -O0, but I see it with -O1 to -O3.
I have traced the problem down to LAPACK/SRC/slarre.f
In one test "WORK( I ) = D( J ) + S" gives zero and
line 254:
WORK( 2*IN+I ) = ONE / WORK( I )
gives +Infinity which triggers the problem. If I replace
the line by:
IF (WORK(I).EQ.ZERO) THEN
WORK( 2*IN+I ) = ONE / EPS
ELSE
WORK( 2*IN+I ) = ONE / WORK( I )
END IF
everything works as usual and even the test pass and I get:
cgd.out: CGV drivers: 62 out of 1092 tests failed to pass the threshold
csep.out: CST drivers: 1 out of 11664 tests failed to pass the threshold
ded.out: DES: 2 out of 3264 tests failed to pass the threshold
ded.out: DSX: 2 out of 3494 tests failed to pass the threshold
dgd.out: DXV drivers: 200 out of 5000 tests failed to pass the threshold
sgd.out: SXV drivers: 37 out of 5000 tests failed to pass the threshold
ssep.out: SST: 2 out of 4662 tests failed to pass the threshold
ssep.out: SST drivers: 1 out of 14256 tests failed to pass the threshold
zgd.out: ZGV drivers: 61 out of 1092 tests failed to pass the threshold
zgd.out: ZXV drivers: 24 out of 5000 tests failed to pass the threshold
with only one failure for csep.out.
This should probably be reported to the LAPACK maintainer(s).
Dominique