This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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: Regression in LAPACK with -O3


> 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


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