Commit 2e8b0910 by Jeffrey A Law Committed by Jeff Law

20000511-1.f: New test.

        * g77.f-torture/compile/20000511-1.f: New test.
        * g77.f-torture/compile/20000511-2.f: New test.

From-SVN: r33866
parent f4305c31
Thu May 11 19:02:43 2000 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/20000511-1.f: New test.
* g77.f-torture/compile/20000511-2.f: New test.
2000-05-11 Michael Meissner <meissner@redhat.com>
* gcc.c-torture/execute/20000511-1.c: New test.
......
subroutine saxpy(n,sa,sx,incx,sy,incy)
C
C constant times a vector plus a vector.
C uses unrolled loop for increments equal to one.
C jack dongarra, linpack, 3/11/78.
C modified 12/3/93, array(1) declarations changed to array(*)
C
real sx(*),sy(*),sa
integer i,incx,incy,ix,iy,m,mp1,n
C
C -ffast-math ICE provoked by this conditional
if(sa /= 0.0)then
C
C code for both increments equal to 1
C
do i= 1,n
sy(i)= sy(i)+sa*sx(i)
enddo
endif
return
end
subroutine sgbcon(norm,n,kl,ku,ab,ldab,ipiv,anorm,rcond,work,iwork
&,info)
C
C -- LAPACK routine (version 3.0) --
C Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
C Courant Institute, Argonne National Lab, and Rice University
C September 30, 1994
C
C .. Scalar Arguments ..
character norm
integer info,kl,ku,ldab,n
real anorm,rcond
C ..
C .. Array Arguments ..
integer ipiv(n),iwork(n)
real ab(ldab,n),work(n)
C ..
C
C Purpose
C =======
C demonstrate g77 bug at -O -funroll-loops
C =====================================================================
C
C .. Parameters ..
real one,zero
parameter(one= 1.0e+0,zero= 0.0e+0)
C ..
C .. Local Scalars ..
logical lnoti,onenrm
character normin
integer ix,j,jp,kase,kase1,kd,lm
real ainvnm,scale,smlnum,t
C ..
C .. External Functions ..
logical lsame
integer isamax
real sdot,slamch
externallsame,isamax,sdot,slamch
C ..
C .. External Subroutines ..
externalsaxpy,slacon,slatbs,srscl,xerbla
C ..
C .. Executable Statements ..
C
C Multiply by inv(L).
C
do j= 1,n-1
C the following min() intrinsic provokes this bug
lm= min(kl,n-j)
jp= ipiv(j)
t= work(jp)
if(jp.ne.j)then
C but only when combined with this if block
work(jp)= work(j)
work(j)= t
endif
C and this subroutine call
call saxpy(lm,-t,ab(kd+1,j),1,work(j+1),1)
enddo
return
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment