From: H.J. Lu Date: Wed, 6 May 2009 17:33:59 +0000 (-0700) Subject: pr40021.f: Moved to ... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5416e9bec1c0e13c4c7c5e70d1db904432877fcb;p=gcc.git pr40021.f: Moved to ... 2009-05-06 H.J. Lu * gfortran.dg/pr40021.f: Moved to ... * gfortran.fortran-torture/execute/pr40021.f: Here. From-SVN: r147192 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f639c581acd..5075dff97ba 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-05-06 H.J. Lu + + * gfortran.dg/pr40021.f: Moved to ... + * gfortran.fortran-torture/execute/pr40021.f: Here. + 2009-05-06 Janis Johnson PR middle-end/39986 @@ -5,6 +10,7 @@ 2009-05-06 Michael Matz + PR middle-end/40021 * gfortran.dg/pr40021.f: New test. 2009-05-06 Le-Chun Wu diff --git a/gcc/testsuite/gfortran.dg/pr40021.f b/gcc/testsuite/gfortran.dg/pr40021.f deleted file mode 100644 index 6d3f44de4df..00000000000 --- a/gcc/testsuite/gfortran.dg/pr40021.f +++ /dev/null @@ -1,42 +0,0 @@ -! { dg-do run { target i?86-*-* x86_64-*-* } } -! { dg-require-effective-target ilp32 } -! { dg-options "-O2 -ftree-vectorize -msse2 -mfpmath=sse -ffast-math" } - PROGRAM test - DOUBLE PRECISION DA - INTEGER I, N - DOUBLE PRECISION DX(9),DY(9) - - EXTERNAL DAXPY - N=5 - DA=1.0 - DATA DX/-2, -1, -3, -4, 1, 2, 10, 15, 14/ - DATA DY/0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0/ - CALL DAXPY (N,DA,DX,DY) - DO 10 I = 1, N - if (DX(I).ne.DY(I)) call abort -10 CONTINUE - STOP - END - - SUBROUTINE DAXPY(N,DA,DX,DY) - DOUBLE PRECISION DA - INTEGER N - DOUBLE PRECISION DX(*),DY(*) - INTEGER I,IX,IY,M,MP1 - INTRINSIC MOD - IF (N.LE.0) RETURN - 20 M = MOD(N,4) - IF (M.EQ.0) GO TO 40 - DO 30 I = 1,M - DY(I) = DY(I) + DA*DX(I) - 30 CONTINUE - IF (N.LT.4) RETURN - 40 MP1 = M + 1 - DO 50 I = MP1,N,4 - DY(I) = DY(I) + DA*DX(I) - DY(I+1) = DY(I+1) + DA*DX(I+1) - DY(I+2) = DY(I+2) + DA*DX(I+2) - DY(I+3) = DY(I+3) + DA*DX(I+3) - 50 CONTINUE - RETURN - END diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f b/gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f new file mode 100644 index 00000000000..ddd269f2a46 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f @@ -0,0 +1,40 @@ +C Derived from lapack + PROGRAM test + DOUBLE PRECISION DA + INTEGER I, N + DOUBLE PRECISION DX(9),DY(9) + + EXTERNAL DAXPY + N=5 + DA=1.0 + DATA DX/-2, -1, -3, -4, 1, 2, 10, 15, 14/ + DATA DY/0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0/ + CALL DAXPY (N,DA,DX,DY) + DO 10 I = 1, N + if (DX(I).ne.DY(I)) call abort +10 CONTINUE + STOP + END + + SUBROUTINE DAXPY(N,DA,DX,DY) + DOUBLE PRECISION DA + INTEGER N + DOUBLE PRECISION DX(*),DY(*) + INTEGER I,IX,IY,M,MP1 + INTRINSIC MOD + IF (N.LE.0) RETURN + 20 M = MOD(N,4) + IF (M.EQ.0) GO TO 40 + DO 30 I = 1,M + DY(I) = DY(I) + DA*DX(I) + 30 CONTINUE + IF (N.LT.4) RETURN + 40 MP1 = M + 1 + DO 50 I = MP1,N,4 + DY(I) = DY(I) + DA*DX(I) + DY(I+1) = DY(I+1) + DA*DX(I+1) + DY(I+2) = DY(I+2) + DA*DX(I+2) + DY(I+3) = DY(I+3) + DA*DX(I+3) + 50 CONTINUE + RETURN + END