The following changes gfortran.dg/vect/vect.exp to glob all files
(catching unhandled mask-store-1.f90) and handling additional
flags via dg-additional-sources.
Tested on x86_64-unknown-linux-gnu, pushed.
* gfortran.dg/vect/vect.exp: Remove special options
handling. Glob all *.\[fF\]{,90,95,03,08} files.
* gfortran.dg/vect/O3-bb-slp-1.f: Add dg-additional-options.
* gfortran.dg/vect/O3-bb-slp-2.f: Likewise.
* gfortran.dg/vect/O3-pr36119.f90: Likewise.
* gfortran.dg/vect/O3-pr39595.f: Likewise.
* gfortran.dg/vect/O3-pr49957.f: Likewise.
* gfortran.dg/vect/Ofast-pr50414.f90: Likewise.
* gfortran.dg/vect/cost-model-pr34445.f: Likewise.
* gfortran.dg/vect/cost-model-pr34445a.f: Likewise.
* gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise.
* gfortran.dg/vect/fast-math-pr33299.f90: Likewise.
* gfortran.dg/vect/fast-math-pr37021.f90: Likewise.
* gfortran.dg/vect/fast-math-pr38968.f90: Likewise.
* gfortran.dg/vect/fast-math-real8-pr40801.f90: Likewise.
* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Likewise.
* gfortran.dg/vect/fast-math-vect-8.f90: Likewise.
* gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90: Likewise.
* gfortran.dg/vect/no-vfa-pr32377.f90: Likewise.
* gfortran.dg/vect/no-vfa-pr32457.f90: Likewise.
* gfortran.dg/vect/mask-store-1.f90: Add missing dg-do.
---
gcc/testsuite/gfortran.dg/vect/O3-bb-slp-1.f | 1 +
gcc/testsuite/gfortran.dg/vect/O3-bb-slp-2.f | 1 +
gcc/testsuite/gfortran.dg/vect/O3-pr36119.f90 | 1 +
gcc/testsuite/gfortran.dg/vect/O3-pr39595.f | 1 +
gcc/testsuite/gfortran.dg/vect/O3-pr49957.f | 1 +
.../gfortran.dg/vect/Ofast-pr50414.f90 | 2 +-
.../gfortran.dg/vect/cost-model-pr34445.f | 1 +
.../gfortran.dg/vect/cost-model-pr34445a.f | 2 +-
.../gfortran.dg/vect/fast-math-mgrid-resid.f | 2 +-
.../gfortran.dg/vect/fast-math-pr33299.f90 | 1 +
.../gfortran.dg/vect/fast-math-pr37021.f90 | 1 +
.../gfortran.dg/vect/fast-math-pr38968.f90 | 1 +
.../vect/fast-math-real8-pr40801.f90 | 1 +
.../vect/fast-math-rnflow-trs2a2.f90 | 1 +
.../gfortran.dg/vect/fast-math-vect-8.f90 | 1 +
.../gfortran.dg/vect/mask-store-1.f90 | 2 +
.../vect/no-fre-no-copy-prop-O3-pr51704.f90 | 1 +
.../gfortran.dg/vect/no-vfa-pr32377.f90 | 1 +
.../gfortran.dg/vect/no-vfa-pr32457.f90 | 1 +
gcc/testsuite/gfortran.dg/vect/vect.exp | 57 +------------------
20 files changed, 21 insertions(+), 59 deletions(-)
diff --git a/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-1.f
b/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-1.f
index 74b3b17b5a9..4b85659dea7 100644
--- a/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-1.f
+++ b/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-1.f
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-O3" }
subroutine tranx3 (jbeg,jend,kbeg,kend,dlo,den,mflx,zro)
parameter(in = 128+5
& , jn = 128+5
diff --git a/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-2.f
b/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-2.f
index 34c44def093..d2ab4f26f53 100644
--- a/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-2.f
+++ b/gcc/testsuite/gfortran.dg/vect/O3-bb-slp-2.f
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-O3" }
! { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } }
subroutine tranx3 (ibeg,jbeg,jend,kbeg,kend
& ,dlo,den
diff --git a/gcc/testsuite/gfortran.dg/vect/O3-pr36119.f90
b/gcc/testsuite/gfortran.dg/vect/O3-pr36119.f90
index 148adf5e6df..093d077a74a 100644
--- a/gcc/testsuite/gfortran.dg/vect/O3-pr36119.f90
+++ b/gcc/testsuite/gfortran.dg/vect/O3-pr36119.f90
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-O3" }
SUBROUTINE check_dnucint_ana (dcore)
IMPLICIT NONE
diff --git a/gcc/testsuite/gfortran.dg/vect/O3-pr39595.f
b/gcc/testsuite/gfortran.dg/vect/O3-pr39595.f
index 50725fe4d4f..89cb77edbd4 100644
--- a/gcc/testsuite/gfortran.dg/vect/O3-pr39595.f
+++ b/gcc/testsuite/gfortran.dg/vect/O3-pr39595.f
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-O3" }
subroutine foo(a,c,i,m)
real a(4,*),b(3,64),c(3,200),d(64)
integer*8 i,j,k,l,m
diff --git a/gcc/testsuite/gfortran.dg/vect/O3-pr49957.f
b/gcc/testsuite/gfortran.dg/vect/O3-pr49957.f
index 778b4a010b6..500635b3877 100644
--- a/gcc/testsuite/gfortran.dg/vect/O3-pr49957.f
+++ b/gcc/testsuite/gfortran.dg/vect/O3-pr49957.f
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_double }
+! { dg-additional-options "-O3" }
subroutine shell(nx,ny,nz,q,dq)
implicit none
integer i,j,k,l,nx,ny,nz
diff --git a/gcc/testsuite/gfortran.dg/vect/Ofast-pr50414.f90
b/gcc/testsuite/gfortran.dg/vect/Ofast-pr50414.f90
index 2f407d1ef35..4bb6ee21937 100644
--- a/gcc/testsuite/gfortran.dg/vect/Ofast-pr50414.f90
+++ b/gcc/testsuite/gfortran.dg/vect/Ofast-pr50414.f90
@@ -1,5 +1,5 @@
! { dg-do compile }
-! { dg-additional-options "-std=legacy" }
+! { dg-additional-options "-std=legacy -Ofast" }
SUBROUTINE SUB (A,L,YMAX)
DIMENSION A(L)
diff --git a/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445.f
b/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445.f
index 335328c5909..2929ae0c316 100644
--- a/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445.f
+++ b/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445.f
@@ -1,4 +1,5 @@
c { dg-do compile }
+c { dg-additional-options "-fvect-cost-model=dynamic" }
Subroutine FndSph(Alpha,Rad)
Dimension Rad(100),RadInp(100)
Do I = 1, NSphInp
diff --git a/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445a.f
b/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445a.f
index 1f310795dbc..29ea9be9a52 100644
--- a/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445a.f
+++ b/gcc/testsuite/gfortran.dg/vect/cost-model-pr34445a.f
@@ -1,5 +1,5 @@
c { dg-do compile }
-c { dg-additional-options "-std=legacy" }
+c { dg-additional-options "-std=legacy -fvect-cost-model=dynamic" }
subroutine derv (xx,b,bv,det,r,s,t,ndopt,cosxy,thick,edis,
1 vni,vnt)
implicit real*8 (a-h,o-z)
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
index 2e548748296..128dcdf84c2 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
@@ -1,6 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_double }
-! { dg-additional-options "-O3 --param vect-max-peeling-for-alignment=0
-fpredictive-commoning -fdump-tree-pcom-details -std=legacy" }
+! { dg-additional-options "-O3 -ffast-math --param
vect-max-peeling-for-alignment=0 -fpredictive-commoning
-fdump-tree-pcom-details -std=legacy" }
! { dg-additional-options "-mprefer-avx128" { target { i?86-*-* x86_64-*-* } }
}
! { dg-additional-options "-mlsx" { target { loongarch*-*-* } } }
! { dg-additional-options "-mzarch" { target { s390*-*-* } } }
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-pr33299.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-pr33299.f90
index 68f7969623a..6b5f608f833 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-pr33299.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-pr33299.f90
@@ -1,4 +1,5 @@
! { dg-require-effective-target vect_double }
+! { dg-additional-options "-ffast-math" }
PROGRAM test
REAL(8) :: f,dist(2)
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-pr37021.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-pr37021.f90
index e680f80aac3..ae3a4abc748 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-pr37021.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-pr37021.f90
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_double }
+! { dg-additional-options "-ffast-math" }
subroutine to_product_of(self,a,b,a1,a2)
complex(kind=8) :: self (:)
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-pr38968.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-pr38968.f90
index f5bc41a573b..a866dc366df 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-pr38968.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-pr38968.f90
@@ -4,6 +4,7 @@
! { dg-skip-if "" { ia64-*-* sparc*-*-* } }
! It can be slow on some x86 CPUs.
! { dg-timeout-factor 2 }
+! { dg-additional-options "-ffast-math" }
program mymatmul
implicit none
integer, parameter :: kp = 4
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-real8-pr40801.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-real8-pr40801.f90
index 372a99a2055..8198862b9ae 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-real8-pr40801.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-real8-pr40801.f90
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-ffast-math -fdefault-real-8" }
MODULE YOMPHY0
REAL :: ECMNP
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-rnflow-trs2a2.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-rnflow-trs2a2.f90
index b0c9ac04f4c..02d3e545673 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-rnflow-trs2a2.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-rnflow-trs2a2.f90
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_double }
+! { dg-additional-options "-ffast-math" }
function trs2a2 (j, k, u, d, m)
! matrice de transition intermediaire, partant de k sans descendre
diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-vect-8.f90
b/gcc/testsuite/gfortran.dg/vect/fast-math-vect-8.f90
index fe2c9e3a4fe..a6cc37af7d7 100644
--- a/gcc/testsuite/gfortran.dg/vect/fast-math-vect-8.f90
+++ b/gcc/testsuite/gfortran.dg/vect/fast-math-vect-8.f90
@@ -1,6 +1,7 @@
! { dg-do compile }
! { dg-require-effective-target vect_float }
! { dg-require-visibility "" }
+! { dg-additional-options "-ffast-math" }
module solv_cap
diff --git a/gcc/testsuite/gfortran.dg/vect/mask-store-1.f90
b/gcc/testsuite/gfortran.dg/vect/mask-store-1.f90
index 83cd8ddfea8..e6c60e6136e 100644
--- a/gcc/testsuite/gfortran.dg/vect/mask-store-1.f90
+++ b/gcc/testsuite/gfortran.dg/vect/mask-store-1.f90
@@ -1,3 +1,5 @@
+! { dg-do compile }
+
subroutine foo(a, b, x, n)
real(kind=8) :: a(n), b(n), tmp
logical(kind=1) :: x
diff --git a/gcc/testsuite/gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90
b/gcc/testsuite/gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90
index bf2ca0e953d..33df94611f9 100644
--- a/gcc/testsuite/gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90
+++ b/gcc/testsuite/gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-additional-options "-O3 -fno-tree-copy-prop -fno-tree-fre" }
integer, parameter :: q = 2
integer, parameter :: nx=3, ny=2*q, nz=5
diff --git a/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32377.f90
b/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32377.f90
index bf76adcfbee..ff71c9d684d 100644
--- a/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32377.f90
+++ b/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32377.f90
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_float }
+! { dg-additional-options "--param vect-max-version-for-alias-checks=0" }
subroutine s243(ntimes,ld,n,ctime,dtime,a,b,c,d,e,aa,bb,cc)
diff --git a/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32457.f90
b/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32457.f90
index 1f3a286de7d..4ee6cea271a 100644
--- a/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32457.f90
+++ b/gcc/testsuite/gfortran.dg/vect/no-vfa-pr32457.f90
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-require-effective-target vect_float }
+! { dg-additional-options "--param vect-max-version-for-alias-checks=0" }
SUBROUTINE KEEL(RBOUND)
REAL, DIMENSION(0:100) :: RBOUND
diff --git a/gcc/testsuite/gfortran.dg/vect/vect.exp
b/gcc/testsuite/gfortran.dg/vect/vect.exp
index a4e02a70463..55061c27cd6 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect.exp
+++ b/gcc/testsuite/gfortran.dg/vect/vect.exp
@@ -53,62 +53,7 @@ dg-init
# Main loop.
et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/vect-*.\[fF\]{,90,95,03,08} ]] "" $DEFAULT_VECTCFLAGS
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/pr*.\[fF\]{,90,95,03,08} ]] "" $DEFAULT_VECTCFLAGS
-
-#### Tests with special options
-global SAVED_DEFAULT_VECTCFLAGS
-set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VECTCFLAGS
-
-# -ffast-math tests
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-ffast-math"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/fast-math-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# -ffast-math tests
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-ffast-math" "-fdefault-real-8"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/fast-math-real8*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# -fvect-cost-model tests
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-fvect-cost-model=dynamic"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/cost-model-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# --param vect-max-version-for-alias-checks=0 tests
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "--param" "vect-max-version-for-alias-checks=0"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/no-vfa-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# With -O3
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-O3"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/O3-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# With -Ofast
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-Ofast"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/Ofast-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
-
-# With -fno-tree-copy-prop -fno-tree-fre -O3
-set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
-lappend DEFAULT_VECTCFLAGS "-fno-tree-copy-prop" "-fno-tree-fre" "-O3"
-et-dg-runtest gfortran-dg-runtest [lsort [glob -nocomplain \
- $srcdir/$subdir/no-fre-no-copy-prop-O3-*.\[fF\]{,90,95,03,08} ]] \
- "" $DEFAULT_VECTCFLAGS
+ $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] "" $DEFAULT_VECTCFLAGS
# Clean up.
set dg-do-what-default ${save-dg-do-what-default}
--
2.51.0