diff mbox series

[testsuite] Fixup dg-options in {gcc, g++, gfortran}.dg/vect.exp tests

Message ID 20240313105839.2785627-1-maxim.kuvyrkov@linaro.org
State New
Headers show
Series [testsuite] Fixup dg-options in {gcc, g++, gfortran}.dg/vect.exp tests | expand

Commit Message

Maxim Kuvyrkov March 13, 2024, 10:58 a.m. UTC
This patch has been tested on
- aarch64-linux-gnu
- arm-linux-gnueabihf (VFP, NEON disabled by default),
- arm-none-eabi (Soft-FP)
with the following [expected] differences in the test results:

  - FAIL now PASS             [FAIL => PASS]:
  Executed from: gcc:gcc.dg/vect/vect.exp
    gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c (test for excess errors)
    gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects (test for excess errors)

  - UNSUPPORTED disappears    [UNSUP=>     ]:
  Executed from: g++:g++.dg/vect/vect.exp
    g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=gnu++98

  - UNSUPPORTED appears       [     =>UNSUP]:
  Executed from: g++:g++.dg/vect/vect.exp
    g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=c++98

  - UNRESOLVED disappears     [UNRES=>     ]:
  Executed from: gcc:gcc.dg/vect/vect.exp
    gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects compilation failed to produce executable
    gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c compilation failed to produce executable

This patch was motivated by gcc.dg/vect/pr113576.c, which currently
fails to compile for ARM targets without NEON.

======================= CUT =======================

Testsuites driven by vect.exp rely on check_vect_support_and_set_flags
to set appropriate DEFAULT_VECTFLAGS for a given target (e.g., add
-mfpu=neon for arm-linux-gnueabi).  Unfortunately, these flags are
overwritten by dg-options directive, which can cause tests to fail.

Behavior of dg-options is documented in vect.exp files, but not
all developers look at the .exp file when adding a new testcase.
This caused a few dg-options directives to be used instead of
the more appropriate dg-additional-options.

This patch changes target-independent dg-options into
dg-additional-options.  This patch does not touch target-specific
dg-options and target-specific tests to avoid disturbing the gentle
balance of target-specific vectorization.

This patch also removes a couple of unneeded "dg-do run" directives
to avoid failures on compile-only targets.  Default action is, again,
set by check_vect_support_and_set_flags.

Lastly, I avoided renaming tests that use -O<n> options to O<n>-*
filename format because this support is not consistent between
gcc.dg/vect/, g++.dg/vect/, and gfortran.dg/vect/ testsuites.
It seems dg-additional-options is cleaner.

This patch does the following,
1. do not change target-specific tests, e.g., gcc.dg/vect/costmodel/riscv/*;
2. do not change { dg-options FOO { target { target-*-pattern } } };
3. do not remove { dg-do run { target { target-*-pattern } } };
4. change { dg-options FOO } to { dg-additional-options FOO };
5. remove { dg-do run } in several tests, where it is clearly not needed.

gcc/testsuite/ChangeLog:

	PR testsuite/114307
	* g++.dg/vect/pr84556.cc: Fixup.
	* gcc.dg/vect/complex/complex-operations-run.c Fixup.
	* gcc.dg/vect/gimplefe-40.c Fixup.
	* gcc.dg/vect/gimplefe-41.c Fixup.
	* gcc.dg/vect/pr101145inf.c Fixup.
	* gcc.dg/vect/pr101145inf_1.c Fixup.
	* gcc.dg/vect/pr108316.c Fixup.
	* gcc.dg/vect/pr109011-1.c Fixup.
	* gcc.dg/vect/pr109011-2.c Fixup.
	* gcc.dg/vect/pr109011-3.c Fixup.
	* gcc.dg/vect/pr109011-4.c Fixup.
	* gcc.dg/vect/pr109011-5.c Fixup.
	* gcc.dg/vect/pr111846.c Fixup.
	* gcc.dg/vect/pr111860-2.c Fixup.
	* gcc.dg/vect/pr111860-3.c Fixup.
	* gcc.dg/vect/pr113002.c Fixup.
	* gcc.dg/vect/pr113576.c Fixup.
	* gcc.dg/vect/pr84711.c Fixup.
	* gcc.dg/vect/pr85597.c Fixup.
	* gcc.dg/vect/pr88497-1.c Fixup.
	* gcc.dg/vect/pr88497-2.c Fixup.
	* gcc.dg/vect/pr88497-3.c Fixup.
	* gcc.dg/vect/pr88497-4.c Fixup.
	* gcc.dg/vect/pr88497-5.c Fixup.
	* gcc.dg/vect/pr88497-7.c Fixup.
	* gcc.dg/vect/pr92347.c Fixup.
	* gcc.dg/vect/pr93069.c Fixup.
	* gcc.dg/vect/pr97241.c Fixup.
	* gcc.dg/vect/pr99102.c Fixup.
	* gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c Fixup.
	* gcc.dg/vect/vect-early-break_65.c Fixup.
	* gcc.dg/vect/vect-fold-1.c Fixup.
	* gcc.dg/vect/vect-ifcvt-19.c Fixup.
	* gcc.dg/vect/vect-ifcvt-20.c Fixup.
	* gcc.dg/vect/vect-reduc-epilogue-gaps.c Fixup.
	* gcc.dg/vect/vect-singleton_1.c Fixup.
	* gfortran.dg/vect/fast-math-mgrid-resid.f Fixup.
	* gfortran.dg/vect/pr77848.f Fixup.
	* gfortran.dg/vect/pr90913.f90 Fixup.
---
 gcc/testsuite/g++.dg/vect/pr84556.cc                           | 2 +-
 gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c     | 1 -
 gcc/testsuite/gcc.dg/vect/gimplefe-40.c                        | 2 +-
 gcc/testsuite/gcc.dg/vect/gimplefe-41.c                        | 2 +-
 gcc/testsuite/gcc.dg/vect/pr101145inf.c                        | 2 +-
 gcc/testsuite/gcc.dg/vect/pr101145inf_1.c                      | 2 +-
 gcc/testsuite/gcc.dg/vect/pr108316.c                           | 2 +-
 gcc/testsuite/gcc.dg/vect/pr109011-1.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr109011-2.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr109011-3.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr109011-4.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr109011-5.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr111846.c                           | 2 +-
 gcc/testsuite/gcc.dg/vect/pr111860-2.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr111860-3.c                         | 2 +-
 gcc/testsuite/gcc.dg/vect/pr113002.c                           | 2 +-
 gcc/testsuite/gcc.dg/vect/pr113576.c                           | 3 +--
 gcc/testsuite/gcc.dg/vect/pr84711.c                            | 2 +-
 gcc/testsuite/gcc.dg/vect/pr85597.c                            | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-1.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-2.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-3.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-4.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-5.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr88497-7.c                          | 2 +-
 gcc/testsuite/gcc.dg/vect/pr92347.c                            | 2 +-
 gcc/testsuite/gcc.dg/vect/pr93069.c                            | 2 +-
 gcc/testsuite/gcc.dg/vect/pr97241.c                            | 2 +-
 gcc/testsuite/gcc.dg/vect/pr99102.c                            | 2 +-
 .../gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c       | 1 -
 gcc/testsuite/gcc.dg/vect/vect-early-break_65.c                | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-fold-1.c                        | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c                      | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c                      | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c           | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-singleton_1.c                   | 2 +-
 gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f         | 2 +-
 gcc/testsuite/gfortran.dg/vect/pr77848.f                       | 2 +-
 gcc/testsuite/gfortran.dg/vect/pr90913.f90                     | 2 +-
 39 files changed, 37 insertions(+), 40 deletions(-)

Comments

Richard Earnshaw March 13, 2024, 11:25 a.m. UTC | #1
On 13/03/2024 10:58, Maxim Kuvyrkov wrote:
> This patch has been tested on
> - aarch64-linux-gnu
> - arm-linux-gnueabihf (VFP, NEON disabled by default),
> - arm-none-eabi (Soft-FP)
> with the following [expected] differences in the test results:
> 
>    - FAIL now PASS             [FAIL => PASS]:
>    Executed from: gcc:gcc.dg/vect/vect.exp
>      gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c (test for excess errors)
>      gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects (test for excess errors)
> 
>    - UNSUPPORTED disappears    [UNSUP=>     ]:
>    Executed from: g++:g++.dg/vect/vect.exp
>      g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=gnu++98
> 
>    - UNSUPPORTED appears       [     =>UNSUP]:
>    Executed from: g++:g++.dg/vect/vect.exp
>      g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=c++98
> 
>    - UNRESOLVED disappears     [UNRES=>     ]:
>    Executed from: gcc:gcc.dg/vect/vect.exp
>      gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects compilation failed to produce executable
>      gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c compilation failed to produce executable
> 
> This patch was motivated by gcc.dg/vect/pr113576.c, which currently
> fails to compile for ARM targets without NEON.
> 
> ======================= CUT =======================
> 
> Testsuites driven by vect.exp rely on check_vect_support_and_set_flags
> to set appropriate DEFAULT_VECTFLAGS for a given target (e.g., add
> -mfpu=neon for arm-linux-gnueabi).  Unfortunately, these flags are
> overwritten by dg-options directive, which can cause tests to fail.
> 
> Behavior of dg-options is documented in vect.exp files, but not
> all developers look at the .exp file when adding a new testcase.
> This caused a few dg-options directives to be used instead of
> the more appropriate dg-additional-options.
> 
> This patch changes target-independent dg-options into
> dg-additional-options.  This patch does not touch target-specific
> dg-options and target-specific tests to avoid disturbing the gentle
> balance of target-specific vectorization.
> 
> This patch also removes a couple of unneeded "dg-do run" directives
> to avoid failures on compile-only targets.  Default action is, again,
> set by check_vect_support_and_set_flags.
> 
> Lastly, I avoided renaming tests that use -O<n> options to O<n>-*
> filename format because this support is not consistent between
> gcc.dg/vect/, g++.dg/vect/, and gfortran.dg/vect/ testsuites.
> It seems dg-additional-options is cleaner.
> 
> This patch does the following,
> 1. do not change target-specific tests, e.g., gcc.dg/vect/costmodel/riscv/*;
> 2. do not change { dg-options FOO { target { target-*-pattern } } };
> 3. do not remove { dg-do run { target { target-*-pattern } } };
> 4. change { dg-options FOO } to { dg-additional-options FOO };
> 5. remove { dg-do run } in several tests, where it is clearly not needed.
> 
> gcc/testsuite/ChangeLog:
> 
> 	PR testsuite/114307
> 	* g++.dg/vect/pr84556.cc: Fixup.
> 	* gcc.dg/vect/complex/complex-operations-run.c Fixup.
> 	* gcc.dg/vect/gimplefe-40.c Fixup.
> 	* gcc.dg/vect/gimplefe-41.c Fixup.
> 	* gcc.dg/vect/pr101145inf.c Fixup.
> 	* gcc.dg/vect/pr101145inf_1.c Fixup.
> 	* gcc.dg/vect/pr108316.c Fixup.
> 	* gcc.dg/vect/pr109011-1.c Fixup.
> 	* gcc.dg/vect/pr109011-2.c Fixup.
> 	* gcc.dg/vect/pr109011-3.c Fixup.
> 	* gcc.dg/vect/pr109011-4.c Fixup.
> 	* gcc.dg/vect/pr109011-5.c Fixup.
> 	* gcc.dg/vect/pr111846.c Fixup.
> 	* gcc.dg/vect/pr111860-2.c Fixup.
> 	* gcc.dg/vect/pr111860-3.c Fixup.
> 	* gcc.dg/vect/pr113002.c Fixup.
> 	* gcc.dg/vect/pr113576.c Fixup.
> 	* gcc.dg/vect/pr84711.c Fixup.
> 	* gcc.dg/vect/pr85597.c Fixup.
> 	* gcc.dg/vect/pr88497-1.c Fixup.
> 	* gcc.dg/vect/pr88497-2.c Fixup.
> 	* gcc.dg/vect/pr88497-3.c Fixup.
> 	* gcc.dg/vect/pr88497-4.c Fixup.
> 	* gcc.dg/vect/pr88497-5.c Fixup.
> 	* gcc.dg/vect/pr88497-7.c Fixup.
> 	* gcc.dg/vect/pr92347.c Fixup.
> 	* gcc.dg/vect/pr93069.c Fixup.
> 	* gcc.dg/vect/pr97241.c Fixup.
> 	* gcc.dg/vect/pr99102.c Fixup.
> 	* gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c Fixup.
> 	* gcc.dg/vect/vect-early-break_65.c Fixup.
> 	* gcc.dg/vect/vect-fold-1.c Fixup.
> 	* gcc.dg/vect/vect-ifcvt-19.c Fixup.
> 	* gcc.dg/vect/vect-ifcvt-20.c Fixup.
> 	* gcc.dg/vect/vect-reduc-epilogue-gaps.c Fixup.
> 	* gcc.dg/vect/vect-singleton_1.c Fixup.
> 	* gfortran.dg/vect/fast-math-mgrid-resid.f Fixup.
> 	* gfortran.dg/vect/pr77848.f Fixup.
> 	* gfortran.dg/vect/pr90913.f90 Fixup.

Thanks for looking into this, I agree that changing to 
dg-additional-options looks the right choice.

The only thing to be wary of is that later 'dg-options' directives may 
override dg-additional-options directives; you might want to test at 
least one target where there are target-specific dg-options that you've 
not modified.

The patch is OK, but the ChangeLog is not!  Fixup doesn't tell me 
anything useful.  For the first entry, you need something more specific, 
like "Use dg-additional-options for test-specific flags."  And perhaps 
add "Remove dg-run." when that applies as well.  For subsequent entries 
you can use "Likewise."

R.

> ---
>   gcc/testsuite/g++.dg/vect/pr84556.cc                           | 2 +-
>   gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c     | 1 -
>   gcc/testsuite/gcc.dg/vect/gimplefe-40.c                        | 2 +-
>   gcc/testsuite/gcc.dg/vect/gimplefe-41.c                        | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr101145inf.c                        | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr101145inf_1.c                      | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr108316.c                           | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr109011-1.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr109011-2.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr109011-3.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr109011-4.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr109011-5.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr111846.c                           | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr111860-2.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr111860-3.c                         | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr113002.c                           | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr113576.c                           | 3 +--
>   gcc/testsuite/gcc.dg/vect/pr84711.c                            | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr85597.c                            | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-1.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-2.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-3.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-4.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-5.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr88497-7.c                          | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr92347.c                            | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr93069.c                            | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr97241.c                            | 2 +-
>   gcc/testsuite/gcc.dg/vect/pr99102.c                            | 2 +-
>   .../gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c       | 1 -
>   gcc/testsuite/gcc.dg/vect/vect-early-break_65.c                | 2 +-
>   gcc/testsuite/gcc.dg/vect/vect-fold-1.c                        | 2 +-
>   gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c                      | 2 +-
>   gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c                      | 2 +-
>   gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c           | 2 +-
>   gcc/testsuite/gcc.dg/vect/vect-singleton_1.c                   | 2 +-
>   gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f         | 2 +-
>   gcc/testsuite/gfortran.dg/vect/pr77848.f                       | 2 +-
>   gcc/testsuite/gfortran.dg/vect/pr90913.f90                     | 2 +-
>   39 files changed, 37 insertions(+), 40 deletions(-)
> 
> diff --git a/gcc/testsuite/g++.dg/vect/pr84556.cc b/gcc/testsuite/g++.dg/vect/pr84556.cc
> index e2c97e917be..6b1c9cec515 100644
> --- a/gcc/testsuite/g++.dg/vect/pr84556.cc
> +++ b/gcc/testsuite/g++.dg/vect/pr84556.cc
> @@ -1,6 +1,6 @@
>   // PR c++/84556
>   // { dg-do run { target c++11 } }
> -// { dg-options "-O2 -fopenmp-simd" }
> +// { dg-additional-options "-O2 -fopenmp-simd" }
>   // { dg-additional-options "-mavx" { target avx_runtime } }
>   
>   int
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
> index 14ac512a8ef..5a68ff02951 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
> @@ -1,4 +1,3 @@
> -/* { dg-do run } */
>   /* { dg-require-effective-target vect_complex_add_double } */
>   /* { dg-add-options arm_v8_3a_complex_neon } */
>   /* { dg-add-options arm_v8_3a_complex_neon } */
> diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
> index 3c5bb4cf6e5..4e37a7980fc 100644
> --- a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
> +++ b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile { target { int128 && vect_float } } } */
> -/* { dg-options "-fgimple -Wno-psabi -w" } */
> +/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
>   /* { dg-additional-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */
>   
>   typedef float v4sf __attribute__((vector_size(16)));
> diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
> index e52a3a559a9..650bb2b5bd5 100644
> --- a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
> +++ b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile { target { vect_double && vect_long_long } } } */
> -/* { dg-options "-fgimple -Wno-psabi -w" } */
> +/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
>   /* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */
>   
>   typedef double __v2df __attribute__ ((__vector_size__ (16)));
> diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf.c b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
> index ed49f5670b5..3ad8c1a2dd7 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr101145inf.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
> @@ -1,5 +1,5 @@
>   /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
> -/* { dg-options "-O3" } */
> +/* { dg-additional-options "-O3" } */
>   #include <limits.h>
>   #include "pr101145inf.inc"
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
> index 4ee3e31c7fe..e3e9dd46d10 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
> @@ -1,5 +1,5 @@
>   /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
> -/* { dg-options "-O3" } */
> +/* { dg-additional-options "-O3" } */
>   #include <limits.h>
>   #include "pr101145inf.inc"
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr108316.c b/gcc/testsuite/gcc.dg/vect/pr108316.c
> index 540b7f2aed4..6888ae50d9e 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr108316.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr108316.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O3" } */
> +/* { dg-additional-options "-O3" } */
>   
>   extern _Bool a[];
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-1.c b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
> index 98362d6bc40..28f1288648b 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr109011-1.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
> @@ -1,6 +1,6 @@
>   /* PR tree-optimization/109011 */
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>   /* { dg-additional-options "-mavx512cd" { target { { i?86-*-* x86_64-*-* } && avx512cd } } } */
>   /* { dg-additional-options "-mavx512vpopcntdq" { target { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } } } */
>   /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr8 } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-2.c b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
> index a737e3fa03a..0219019edf1 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr109011-2.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
> @@ -1,6 +1,6 @@
>   /* PR tree-optimization/109011 */
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>   /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
>   /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
>   /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-3.c b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
> index 21c364dfdfd..eda0d3aa978 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr109011-3.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
> @@ -1,6 +1,6 @@
>   /* PR tree-optimization/109011 */
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>   /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
>   /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-4.c b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
> index 76af7884224..da7810d62b5 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr109011-4.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
> @@ -1,6 +1,6 @@
>   /* PR tree-optimization/109011 */
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>   /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
>   /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
>   /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-5.c b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
> index 19dbfb3356a..f2119aebcfd 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr109011-5.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
> @@ -1,6 +1,6 @@
>   /* PR tree-optimization/109011 */
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>   /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
>   /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr111846.c b/gcc/testsuite/gcc.dg/vect/pr111846.c
> index d283882f261..c4d1da6d22b 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr111846.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr111846.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O3 -ffast-math" } */
> +/* { dg-additional-options "-O3 -ffast-math" } */
>   /* { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } } */
>   
>   extern __attribute__((__simd__)) float powf(float, float);
> diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-2.c b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
> index 07f64ffb531..e205d2c3c9f 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr111860-2.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
> +/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
>   int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
>   
>   int
> diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-3.c b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
> index 07f64ffb531..e205d2c3c9f 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr111860-3.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
> +/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
>   int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
>   
>   int
> diff --git a/gcc/testsuite/gcc.dg/vect/pr113002.c b/gcc/testsuite/gcc.dg/vect/pr113002.c
> index 186710f64b4..ad6e5835985 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr113002.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr113002.c
> @@ -1,6 +1,6 @@
>   /* { dg-do compile } */
>   /* { dg-require-effective-target int128 } */
> -/* { dg-options "-finline-stringops -Os" } */
> +/* { dg-additional-options "-finline-stringops -Os" } */
>   
>   typedef __int128 v64u128 __attribute__((vector_size(64)));
>   int c;
> diff --git a/gcc/testsuite/gcc.dg/vect/pr113576.c b/gcc/testsuite/gcc.dg/vect/pr113576.c
> index b6edde6f8e2..ba171b7c1f2 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr113576.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr113576.c
> @@ -1,5 +1,4 @@
> -/* { dg-do run } */
> -/* { dg-options "-O3" } */
> +/* { dg-additional-options "-O3" } */
>   /* { dg-additional-options "-march=skylake-avx512" { target avx512f } } */
>   
>   #include "tree-vect.h"
> diff --git a/gcc/testsuite/gcc.dg/vect/pr84711.c b/gcc/testsuite/gcc.dg/vect/pr84711.c
> index 12e9f60114a..350f9010be7 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr84711.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr84711.c
> @@ -1,6 +1,6 @@
>   /* { dg-do compile } */
>   /* { dg-require-effective-target vect_int } */
> -/* { dg-options "-O2 -Wno-psabi" } */
> +/* { dg-additional-options "-O2 -Wno-psabi" } */
>   /* { dg-additional-options "-msse" { target i?86-*-* x86_64-*-* } } */
>   
>   typedef int v4si
> diff --git a/gcc/testsuite/gcc.dg/vect/pr85597.c b/gcc/testsuite/gcc.dg/vect/pr85597.c
> index cf615f9c464..71cc3615d63 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr85597.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr85597.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O3" } */
> +/* { dg-additional-options "-O3" } */
>   /* { dg-additional-options "-mfma" { target { x86_64-*-* i?86-*-* } } } */
>   
>   extern double fma (double, double, double);
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-1.c b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
> index 885ec709428..8f9a14af1d3 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-1.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
> @@ -1,7 +1,7 @@
>   /* { dg-require-effective-target vect_double } */
>   /* { dg-require-effective-target vsx_hw { target { powerpc*-*-* } } } */
>   /* { dg-require-effective-target sse2_runtime { target { i?86-*-* x86_64-*-* } } } */
> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>   /* { dg-additional-options "-mvsx" { target { powerpc*-*-* } } } */
>   /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-2.c b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
> index 8da5920903c..34528ce9aa4 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-2.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
> @@ -2,7 +2,7 @@
>   /* { dg-require-effective-target vect_float } */
>   /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>   /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>   /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>   /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-3.c b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
> index 449f282e85c..1489dbcc59a 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-3.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
> @@ -2,7 +2,7 @@
>   /* { dg-require-effective-target vect_int } */
>   /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>   /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>   /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>   /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-4.c b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
> index f7b6c91c911..e7b20509cbb 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-4.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
> @@ -2,7 +2,7 @@
>   /* { dg-require-effective-target vect_int } */
>   /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>   /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>   /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>   /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-5.c b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
> index cbd12241c76..c3e34c22962 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-5.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
> @@ -2,7 +2,7 @@
>   /* { dg-require-effective-target vect_int } */
>   /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>   /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>   /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>   /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-7.c b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
> index d20ed71284e..e94907b3426 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr88497-7.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
> @@ -1,5 +1,5 @@
>   /* { dg-require-effective-target avx512f_runtime } */
> -/* { dg-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
> +/* { dg-additional-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
>   
>   /* To test reassoc can undistribute vector bit_field_ref on multiple
>      vector machine modes, bypass those modes with only one candidate.
> diff --git a/gcc/testsuite/gcc.dg/vect/pr92347.c b/gcc/testsuite/gcc.dg/vect/pr92347.c
> index f75b2596a26..13d16551b5c 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr92347.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr92347.c
> @@ -1,6 +1,6 @@
>   /* Copied from PR 92347.  */
>   /* { dg-do compile } */
> -/* { dg-options "-O1 -fopenmp-simd" } */
> +/* { dg-additional-options "-O1 -fopenmp-simd" } */
>   /* { dg-additional-options "-mavx" { target { i?86-*-* x86_64-*-* } } } */
>   
>   int by;
> diff --git a/gcc/testsuite/gcc.dg/vect/pr93069.c b/gcc/testsuite/gcc.dg/vect/pr93069.c
> index 45c740dbe9e..a46fa437aa9 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr93069.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr93069.c
> @@ -1,6 +1,6 @@
>   /* PR target/93069 */
>   /* { dg-do assemble { target vect_simd_clones } } */
> -/* { dg-options "-O2 -fopenmp-simd" } */
> +/* { dg-additional-options "-O2 -fopenmp-simd" } */
>   
>   #pragma omp declare simd
>   int
> diff --git a/gcc/testsuite/gcc.dg/vect/pr97241.c b/gcc/testsuite/gcc.dg/vect/pr97241.c
> index d4be8f60940..f9b3d6d8337 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr97241.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr97241.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O3 --param max-loop-header-insns=2" } */
> +/* { dg-additional-options "-O3 --param max-loop-header-insns=2" } */
>   
>   short int *ev;
>   int l4;
> diff --git a/gcc/testsuite/gcc.dg/vect/pr99102.c b/gcc/testsuite/gcc.dg/vect/pr99102.c
> index 0d030d15c86..071741f5e48 100644
> --- a/gcc/testsuite/gcc.dg/vect/pr99102.c
> +++ b/gcc/testsuite/gcc.dg/vect/pr99102.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
> +/* { dg-additional-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
>   /* { dg-additional-options "-msve-vector-bits=256" { target aarch64_sve256_hw } } */
>   long a[44];
>   short d, e = -7;
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
> index 7b46e7d8a2a..155ce477103 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
> @@ -1,5 +1,4 @@
>   /* Make sure a -0 stays -0 when we perform a conditional reduction.  */
> -/* { dg-do run } */
>   /* { dg-require-effective-target vect_double } */
>   /* { dg-add-options ieee } */
>   /* { dg-additional-options "-std=gnu99 -fno-fast-math" } */
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
> index 23a8341b529..fa87999dcd4 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
> @@ -2,7 +2,7 @@
>   /* { dg-do compile } */
>   /* { dg-require-effective-target vect_early_break } */
>   /* { dg-require-effective-target vect_int } */
> -/* { dg-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
> +/* { dg-additional-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
>   
>   enum a { b };
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
> index 2bd21a47a0b..cc1349e7d78 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-O2 -fdump-tree-ccp1" } */
> +/* { dg-additional-options "-O2 -fdump-tree-ccp1" } */
>   
>   typedef unsigned char v4qi __attribute__ ((vector_size (4)));
>   
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
> index b10147298d3..27cc5427f88 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
> +/* { dg-additional-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
>   
>   void __GIMPLE (ssa,guessed_local(10737414), startwith ("fix_loops"))
>   foo (int * f, int d, int e)
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
> index 96c5f5a9293..0a4a8087d2c 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
> @@ -1,5 +1,5 @@
>   /* { dg-do compile } */
> -/* { dg-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
> +/* { dg-additional-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
>   
>   void foo (int * restrict p, int * restrict q, int * restrict r, int * restrict s, int * restrict t, int * restrict u)
>   {
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
> index dc5704f5607..5e7bfd5d81d 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O3 -fno-vect-cost-model" } */
> +/* { dg-additional-options "-O3 -fno-vect-cost-model" } */
>   struct {
>       float real;
>       float img;
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
> index 6c2ff49cdab..bd243f805b7 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
> @@ -1,7 +1,7 @@
>   /* PR target/59843 ICE on function taking/returning vector of one float64_t.  */
>   
>   /* { dg-do compile } */
> -/* { dg-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
> +/* { dg-additional-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
>   
>   #define TEST(BASETYPE, VECTYPE, SUFFIX)					     \
>     typedef BASETYPE VECTYPE						     \
> 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 97b88821731..2e548748296 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-options "-O3 --param vect-max-peeling-for-alignment=0 -fpredictive-commoning -fdump-tree-pcom-details -std=legacy" }
> +! { dg-additional-options "-O3 --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/pr77848.f b/gcc/testsuite/gfortran.dg/vect/pr77848.f
> index 4752205f5d2..2a5e5bfea54 100644
> --- a/gcc/testsuite/gfortran.dg/vect/pr77848.f
> +++ b/gcc/testsuite/gfortran.dg/vect/pr77848.f
> @@ -1,6 +1,6 @@
>   ! PR 77848: Verify versioning is on when vectorization fails
>   ! { dg-do compile }
> -! { dg-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
> +! { dg-additional-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
>   ! { dg-additional-options "-mzarch" { target { s390*-*-* } } }
>   
>         subroutine sub(x,a,n,m)
> diff --git a/gcc/testsuite/gfortran.dg/vect/pr90913.f90 b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
> index d0f225159cc..1529cee3757 100644
> --- a/gcc/testsuite/gfortran.dg/vect/pr90913.f90
> +++ b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
> @@ -1,5 +1,5 @@
>   ! { dg-do compile }
> -! { dg-options "-O3 -ffast-math" }
> +! { dg-additional-options "-O3 -ffast-math" }
>   ! { dg-additional-options "-mavx -mveclibabi=svml" { target i?86-*-* x86_64-*-* } }
>   subroutine foo (a, b, c, d, e, f, g, h, k, l)
>     implicit none
Maxim Kuvyrkov March 13, 2024, noon UTC | #2
> On Mar 13, 2024, at 15:25, Richard Earnshaw <Richard.Earnshaw@foss.arm.com> wrote:
> 
> 
> 
> On 13/03/2024 10:58, Maxim Kuvyrkov wrote:
>> This patch has been tested on
>> - aarch64-linux-gnu
>> - arm-linux-gnueabihf (VFP, NEON disabled by default),
>> - arm-none-eabi (Soft-FP)
>> with the following [expected] differences in the test results:
>>   - FAIL now PASS             [FAIL => PASS]:
>>   Executed from: gcc:gcc.dg/vect/vect.exp
>>     gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c (test for excess errors)
>>     gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects (test for excess errors)
>>   - UNSUPPORTED disappears    [UNSUP=>     ]:
>>   Executed from: g++:g++.dg/vect/vect.exp
>>     g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=gnu++98
>>   - UNSUPPORTED appears       [     =>UNSUP]:
>>   Executed from: g++:g++.dg/vect/vect.exp
>>     g++:g++.dg/vect/vect.exp=g++.dg/vect/pr84556.cc  -std=c++98
>>   - UNRESOLVED disappears     [UNRES=>     ]:
>>   Executed from: gcc:gcc.dg/vect/vect.exp
>>     gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c -flto -ffat-lto-objects compilation failed to produce executable
>>     gcc:gcc.dg/vect/vect.exp=gcc.dg/vect/pr113576.c compilation failed to produce executable
>> This patch was motivated by gcc.dg/vect/pr113576.c, which currently
>> fails to compile for ARM targets without NEON.
>> ======================= CUT =======================
>> Testsuites driven by vect.exp rely on check_vect_support_and_set_flags
>> to set appropriate DEFAULT_VECTFLAGS for a given target (e.g., add
>> -mfpu=neon for arm-linux-gnueabi).  Unfortunately, these flags are
>> overwritten by dg-options directive, which can cause tests to fail.
>> Behavior of dg-options is documented in vect.exp files, but not
>> all developers look at the .exp file when adding a new testcase.
>> This caused a few dg-options directives to be used instead of
>> the more appropriate dg-additional-options.
>> This patch changes target-independent dg-options into
>> dg-additional-options.  This patch does not touch target-specific
>> dg-options and target-specific tests to avoid disturbing the gentle
>> balance of target-specific vectorization.
>> This patch also removes a couple of unneeded "dg-do run" directives
>> to avoid failures on compile-only targets.  Default action is, again,
>> set by check_vect_support_and_set_flags.
>> Lastly, I avoided renaming tests that use -O<n> options to O<n>-*
>> filename format because this support is not consistent between
>> gcc.dg/vect/, g++.dg/vect/, and gfortran.dg/vect/ testsuites.
>> It seems dg-additional-options is cleaner.
>> This patch does the following,
>> 1. do not change target-specific tests, e.g., gcc.dg/vect/costmodel/riscv/*;
>> 2. do not change { dg-options FOO { target { target-*-pattern } } };
>> 3. do not remove { dg-do run { target { target-*-pattern } } };
>> 4. change { dg-options FOO } to { dg-additional-options FOO };
>> 5. remove { dg-do run } in several tests, where it is clearly not needed.
>> gcc/testsuite/ChangeLog:
>> PR testsuite/114307
>> * g++.dg/vect/pr84556.cc: Fixup.
>> * gcc.dg/vect/complex/complex-operations-run.c Fixup.
>> * gcc.dg/vect/gimplefe-40.c Fixup.
>> * gcc.dg/vect/gimplefe-41.c Fixup.
>> * gcc.dg/vect/pr101145inf.c Fixup.
>> * gcc.dg/vect/pr101145inf_1.c Fixup.
>> * gcc.dg/vect/pr108316.c Fixup.
>> * gcc.dg/vect/pr109011-1.c Fixup.
>> * gcc.dg/vect/pr109011-2.c Fixup.
>> * gcc.dg/vect/pr109011-3.c Fixup.
>> * gcc.dg/vect/pr109011-4.c Fixup.
>> * gcc.dg/vect/pr109011-5.c Fixup.
>> * gcc.dg/vect/pr111846.c Fixup.
>> * gcc.dg/vect/pr111860-2.c Fixup.
>> * gcc.dg/vect/pr111860-3.c Fixup.
>> * gcc.dg/vect/pr113002.c Fixup.
>> * gcc.dg/vect/pr113576.c Fixup.
>> * gcc.dg/vect/pr84711.c Fixup.
>> * gcc.dg/vect/pr85597.c Fixup.
>> * gcc.dg/vect/pr88497-1.c Fixup.
>> * gcc.dg/vect/pr88497-2.c Fixup.
>> * gcc.dg/vect/pr88497-3.c Fixup.
>> * gcc.dg/vect/pr88497-4.c Fixup.
>> * gcc.dg/vect/pr88497-5.c Fixup.
>> * gcc.dg/vect/pr88497-7.c Fixup.
>> * gcc.dg/vect/pr92347.c Fixup.
>> * gcc.dg/vect/pr93069.c Fixup.
>> * gcc.dg/vect/pr97241.c Fixup.
>> * gcc.dg/vect/pr99102.c Fixup.
>> * gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c Fixup.
>> * gcc.dg/vect/vect-early-break_65.c Fixup.
>> * gcc.dg/vect/vect-fold-1.c Fixup.
>> * gcc.dg/vect/vect-ifcvt-19.c Fixup.
>> * gcc.dg/vect/vect-ifcvt-20.c Fixup.
>> * gcc.dg/vect/vect-reduc-epilogue-gaps.c Fixup.
>> * gcc.dg/vect/vect-singleton_1.c Fixup.
>> * gfortran.dg/vect/fast-math-mgrid-resid.f Fixup.
>> * gfortran.dg/vect/pr77848.f Fixup.
>> * gfortran.dg/vect/pr90913.f90 Fixup.
> 
> Thanks for looking into this, I agree that changing to dg-additional-options looks the right choice.
> 
> The only thing to be wary of is that later 'dg-options' directives may override dg-additional-options directives; you might want to test at least one target where there are target-specific dg-options that you've not modified.

As far as I see, the only case like this is gcc/testsuite/gfortran.dg/vect/vect-8.f90 , where Edwin added dg-options after dg-additional-options in [1].

Edwin, please check whether you intended to ignore "-fno-tree-loop-distribute-patterns -finline-matmul-limit=0" options in gfortran.dg/vect/vect-8.f90 test, and move dg-options before dg-additional-options if not.

[1] https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/testsuite/gfortran.dg/vect/vect-8.f90;h=f77ec9fb87a7223be01de61a7bfb578547d77186;hp=938dfc29754cd83b8a30f9d088d74da52fe5e7a3;hb=4b799a16ae59fc0f508c5931ebf1851a3446b707;hpb=e56fb037d9d265682f5e7217d8a4c12a8d3fddf8

> 
> The patch is OK, but the ChangeLog is not!  Fixup doesn't tell me anything useful.  For the first entry, you need something more specific, like "Use dg-additional-options for test-specific flags."  And perhaps add "Remove dg-run." when that applies as well.  For subsequent entries you can use "Likewise."

Will fix in v2.

Thanks for the review!

--
Maxim Kuvyrkov
https://www.linaro.org

> 
> R.
> 
>> ---
>>  gcc/testsuite/g++.dg/vect/pr84556.cc                           | 2 +-
>>  gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c     | 1 -
>>  gcc/testsuite/gcc.dg/vect/gimplefe-40.c                        | 2 +-
>>  gcc/testsuite/gcc.dg/vect/gimplefe-41.c                        | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr101145inf.c                        | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr101145inf_1.c                      | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr108316.c                           | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr109011-1.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr109011-2.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr109011-3.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr109011-4.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr109011-5.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr111846.c                           | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr111860-2.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr111860-3.c                         | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr113002.c                           | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr113576.c                           | 3 +--
>>  gcc/testsuite/gcc.dg/vect/pr84711.c                            | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr85597.c                            | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-1.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-2.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-3.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-4.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-5.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr88497-7.c                          | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr92347.c                            | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr93069.c                            | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr97241.c                            | 2 +-
>>  gcc/testsuite/gcc.dg/vect/pr99102.c                            | 2 +-
>>  .../gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c       | 1 -
>>  gcc/testsuite/gcc.dg/vect/vect-early-break_65.c                | 2 +-
>>  gcc/testsuite/gcc.dg/vect/vect-fold-1.c                        | 2 +-
>>  gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c                      | 2 +-
>>  gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c                      | 2 +-
>>  gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c           | 2 +-
>>  gcc/testsuite/gcc.dg/vect/vect-singleton_1.c                   | 2 +-
>>  gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f         | 2 +-
>>  gcc/testsuite/gfortran.dg/vect/pr77848.f                       | 2 +-
>>  gcc/testsuite/gfortran.dg/vect/pr90913.f90                     | 2 +-
>>  39 files changed, 37 insertions(+), 40 deletions(-)
>> diff --git a/gcc/testsuite/g++.dg/vect/pr84556.cc b/gcc/testsuite/g++.dg/vect/pr84556.cc
>> index e2c97e917be..6b1c9cec515 100644
>> --- a/gcc/testsuite/g++.dg/vect/pr84556.cc
>> +++ b/gcc/testsuite/g++.dg/vect/pr84556.cc
>> @@ -1,6 +1,6 @@
>>  // PR c++/84556
>>  // { dg-do run { target c++11 } }
>> -// { dg-options "-O2 -fopenmp-simd" }
>> +// { dg-additional-options "-O2 -fopenmp-simd" }
>>  // { dg-additional-options "-mavx" { target avx_runtime } }
>>    int
>> diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
>> index 14ac512a8ef..5a68ff02951 100644
>> --- a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
>> +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
>> @@ -1,4 +1,3 @@
>> -/* { dg-do run } */
>>  /* { dg-require-effective-target vect_complex_add_double } */
>>  /* { dg-add-options arm_v8_3a_complex_neon } */
>>  /* { dg-add-options arm_v8_3a_complex_neon } */
>> diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
>> index 3c5bb4cf6e5..4e37a7980fc 100644
>> --- a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
>> +++ b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile { target { int128 && vect_float } } } */
>> -/* { dg-options "-fgimple -Wno-psabi -w" } */
>> +/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
>>  /* { dg-additional-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */
>>    typedef float v4sf __attribute__((vector_size(16)));
>> diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
>> index e52a3a559a9..650bb2b5bd5 100644
>> --- a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
>> +++ b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile { target { vect_double && vect_long_long } } } */
>> -/* { dg-options "-fgimple -Wno-psabi -w" } */
>> +/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
>>  /* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */
>>    typedef double __v2df __attribute__ ((__vector_size__ (16)));
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf.c b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
>> index ed49f5670b5..3ad8c1a2dd7 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr101145inf.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
>> -/* { dg-options "-O3" } */
>> +/* { dg-additional-options "-O3" } */
>>  #include <limits.h>
>>  #include "pr101145inf.inc"
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
>> index 4ee3e31c7fe..e3e9dd46d10 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
>> -/* { dg-options "-O3" } */
>> +/* { dg-additional-options "-O3" } */
>>  #include <limits.h>
>>  #include "pr101145inf.inc"
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr108316.c b/gcc/testsuite/gcc.dg/vect/pr108316.c
>> index 540b7f2aed4..6888ae50d9e 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr108316.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr108316.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3" } */
>> +/* { dg-additional-options "-O3" } */
>>    extern _Bool a[];
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-1.c b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
>> index 98362d6bc40..28f1288648b 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr109011-1.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
>> @@ -1,6 +1,6 @@
>>  /* PR tree-optimization/109011 */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>>  /* { dg-additional-options "-mavx512cd" { target { { i?86-*-* x86_64-*-* } && avx512cd } } } */
>>  /* { dg-additional-options "-mavx512vpopcntdq" { target { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } } } */
>>  /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr8 } } } */
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-2.c b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
>> index a737e3fa03a..0219019edf1 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr109011-2.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
>> @@ -1,6 +1,6 @@
>>  /* PR tree-optimization/109011 */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>>  /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
>>  /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
>>  /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-3.c b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
>> index 21c364dfdfd..eda0d3aa978 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr109011-3.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
>> @@ -1,6 +1,6 @@
>>  /* PR tree-optimization/109011 */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>>  /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
>>  /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-4.c b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
>> index 76af7884224..da7810d62b5 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr109011-4.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
>> @@ -1,6 +1,6 @@
>>  /* PR tree-optimization/109011 */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>>  /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
>>  /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
>>  /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-5.c b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
>> index 19dbfb3356a..f2119aebcfd 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr109011-5.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
>> @@ -1,6 +1,6 @@
>>  /* PR tree-optimization/109011 */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>> +/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
>>  /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
>>  /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr111846.c b/gcc/testsuite/gcc.dg/vect/pr111846.c
>> index d283882f261..c4d1da6d22b 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr111846.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr111846.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 -ffast-math" } */
>> +/* { dg-additional-options "-O3 -ffast-math" } */
>>  /* { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } } */
>>    extern __attribute__((__simd__)) float powf(float, float);
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-2.c b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
>> index 07f64ffb531..e205d2c3c9f 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr111860-2.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
>> +/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
>>  int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
>>    int
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-3.c b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
>> index 07f64ffb531..e205d2c3c9f 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr111860-3.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
>> +/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
>>  int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
>>    int
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr113002.c b/gcc/testsuite/gcc.dg/vect/pr113002.c
>> index 186710f64b4..ad6e5835985 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr113002.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr113002.c
>> @@ -1,6 +1,6 @@
>>  /* { dg-do compile } */
>>  /* { dg-require-effective-target int128 } */
>> -/* { dg-options "-finline-stringops -Os" } */
>> +/* { dg-additional-options "-finline-stringops -Os" } */
>>    typedef __int128 v64u128 __attribute__((vector_size(64)));
>>  int c;
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr113576.c b/gcc/testsuite/gcc.dg/vect/pr113576.c
>> index b6edde6f8e2..ba171b7c1f2 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr113576.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr113576.c
>> @@ -1,5 +1,4 @@
>> -/* { dg-do run } */
>> -/* { dg-options "-O3" } */
>> +/* { dg-additional-options "-O3" } */
>>  /* { dg-additional-options "-march=skylake-avx512" { target avx512f } } */
>>    #include "tree-vect.h"
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr84711.c b/gcc/testsuite/gcc.dg/vect/pr84711.c
>> index 12e9f60114a..350f9010be7 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr84711.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr84711.c
>> @@ -1,6 +1,6 @@
>>  /* { dg-do compile } */
>>  /* { dg-require-effective-target vect_int } */
>> -/* { dg-options "-O2 -Wno-psabi" } */
>> +/* { dg-additional-options "-O2 -Wno-psabi" } */
>>  /* { dg-additional-options "-msse" { target i?86-*-* x86_64-*-* } } */
>>    typedef int v4si
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr85597.c b/gcc/testsuite/gcc.dg/vect/pr85597.c
>> index cf615f9c464..71cc3615d63 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr85597.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr85597.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3" } */
>> +/* { dg-additional-options "-O3" } */
>>  /* { dg-additional-options "-mfma" { target { x86_64-*-* i?86-*-* } } } */
>>    extern double fma (double, double, double);
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-1.c b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
>> index 885ec709428..8f9a14af1d3 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-1.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
>> @@ -1,7 +1,7 @@
>>  /* { dg-require-effective-target vect_double } */
>>  /* { dg-require-effective-target vsx_hw { target { powerpc*-*-* } } } */
>>  /* { dg-require-effective-target sse2_runtime { target { i?86-*-* x86_64-*-* } } } */
>> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>>  /* { dg-additional-options "-mvsx" { target { powerpc*-*-* } } } */
>>  /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-2.c b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
>> index 8da5920903c..34528ce9aa4 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-2.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
>> @@ -2,7 +2,7 @@
>>  /* { dg-require-effective-target vect_float } */
>>  /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>>  /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
>> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>>  /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>>  /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-3.c b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
>> index 449f282e85c..1489dbcc59a 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-3.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
>> @@ -2,7 +2,7 @@
>>  /* { dg-require-effective-target vect_int } */
>>  /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>>  /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
>> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>>  /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>>  /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-4.c b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
>> index f7b6c91c911..e7b20509cbb 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-4.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
>> @@ -2,7 +2,7 @@
>>  /* { dg-require-effective-target vect_int } */
>>  /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>>  /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
>> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>>  /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>>  /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-5.c b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
>> index cbd12241c76..c3e34c22962 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-5.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
>> @@ -2,7 +2,7 @@
>>  /* { dg-require-effective-target vect_int } */
>>  /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
>>  /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
>> -/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
>>  /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
>>  /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
>>  diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-7.c b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
>> index d20ed71284e..e94907b3426 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr88497-7.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-require-effective-target avx512f_runtime } */
>> -/* { dg-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
>> +/* { dg-additional-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
>>    /* To test reassoc can undistribute vector bit_field_ref on multiple
>>     vector machine modes, bypass those modes with only one candidate.
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr92347.c b/gcc/testsuite/gcc.dg/vect/pr92347.c
>> index f75b2596a26..13d16551b5c 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr92347.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr92347.c
>> @@ -1,6 +1,6 @@
>>  /* Copied from PR 92347.  */
>>  /* { dg-do compile } */
>> -/* { dg-options "-O1 -fopenmp-simd" } */
>> +/* { dg-additional-options "-O1 -fopenmp-simd" } */
>>  /* { dg-additional-options "-mavx" { target { i?86-*-* x86_64-*-* } } } */
>>    int by;
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr93069.c b/gcc/testsuite/gcc.dg/vect/pr93069.c
>> index 45c740dbe9e..a46fa437aa9 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr93069.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr93069.c
>> @@ -1,6 +1,6 @@
>>  /* PR target/93069 */
>>  /* { dg-do assemble { target vect_simd_clones } } */
>> -/* { dg-options "-O2 -fopenmp-simd" } */
>> +/* { dg-additional-options "-O2 -fopenmp-simd" } */
>>    #pragma omp declare simd
>>  int
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr97241.c b/gcc/testsuite/gcc.dg/vect/pr97241.c
>> index d4be8f60940..f9b3d6d8337 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr97241.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr97241.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O3 --param max-loop-header-insns=2" } */
>> +/* { dg-additional-options "-O3 --param max-loop-header-insns=2" } */
>>    short int *ev;
>>  int l4;
>> diff --git a/gcc/testsuite/gcc.dg/vect/pr99102.c b/gcc/testsuite/gcc.dg/vect/pr99102.c
>> index 0d030d15c86..071741f5e48 100644
>> --- a/gcc/testsuite/gcc.dg/vect/pr99102.c
>> +++ b/gcc/testsuite/gcc.dg/vect/pr99102.c
>> @@ -1,4 +1,4 @@
>> -/* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
>> +/* { dg-additional-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
>>  /* { dg-additional-options "-msve-vector-bits=256" { target aarch64_sve256_hw } } */
>>  long a[44];
>>  short d, e = -7;
>> diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
>> index 7b46e7d8a2a..155ce477103 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
>> @@ -1,5 +1,4 @@
>>  /* Make sure a -0 stays -0 when we perform a conditional reduction.  */
>> -/* { dg-do run } */
>>  /* { dg-require-effective-target vect_double } */
>>  /* { dg-add-options ieee } */
>>  /* { dg-additional-options "-std=gnu99 -fno-fast-math" } */
>> diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
>> index 23a8341b529..fa87999dcd4 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
>> @@ -2,7 +2,7 @@
>>  /* { dg-do compile } */
>>  /* { dg-require-effective-target vect_early_break } */
>>  /* { dg-require-effective-target vect_int } */
>> -/* { dg-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
>> +/* { dg-additional-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
>>    enum a { b };
>>  diff --git a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
>> index 2bd21a47a0b..cc1349e7d78 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-O2 -fdump-tree-ccp1" } */
>> +/* { dg-additional-options "-O2 -fdump-tree-ccp1" } */
>>    typedef unsigned char v4qi __attribute__ ((vector_size (4)));
>>  diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
>> index b10147298d3..27cc5427f88 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
>> +/* { dg-additional-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
>>    void __GIMPLE (ssa,guessed_local(10737414), startwith ("fix_loops"))
>>  foo (int * f, int d, int e)
>> diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
>> index 96c5f5a9293..0a4a8087d2c 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
>> @@ -1,5 +1,5 @@
>>  /* { dg-do compile } */
>> -/* { dg-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
>> +/* { dg-additional-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
>>    void foo (int * restrict p, int * restrict q, int * restrict r, int * restrict s, int * restrict t, int * restrict u)
>>  {
>> diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
>> index dc5704f5607..5e7bfd5d81d 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
>> @@ -1,4 +1,4 @@
>> -/* { dg-options "-O3 -fno-vect-cost-model" } */
>> +/* { dg-additional-options "-O3 -fno-vect-cost-model" } */
>>  struct {
>>      float real;
>>      float img;
>> diff --git a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
>> index 6c2ff49cdab..bd243f805b7 100644
>> --- a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
>> +++ b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
>> @@ -1,7 +1,7 @@
>>  /* PR target/59843 ICE on function taking/returning vector of one float64_t.  */
>>    /* { dg-do compile } */
>> -/* { dg-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
>> +/* { dg-additional-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
>>    #define TEST(BASETYPE, VECTYPE, SUFFIX)     \
>>    typedef BASETYPE VECTYPE     \
>> 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 97b88821731..2e548748296 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-options "-O3 --param vect-max-peeling-for-alignment=0 -fpredictive-commoning -fdump-tree-pcom-details -std=legacy" }
>> +! { dg-additional-options "-O3 --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/pr77848.f b/gcc/testsuite/gfortran.dg/vect/pr77848.f
>> index 4752205f5d2..2a5e5bfea54 100644
>> --- a/gcc/testsuite/gfortran.dg/vect/pr77848.f
>> +++ b/gcc/testsuite/gfortran.dg/vect/pr77848.f
>> @@ -1,6 +1,6 @@
>>  ! PR 77848: Verify versioning is on when vectorization fails
>>  ! { dg-do compile }
>> -! { dg-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
>> +! { dg-additional-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
>>  ! { dg-additional-options "-mzarch" { target { s390*-*-* } } }
>>          subroutine sub(x,a,n,m)
>> diff --git a/gcc/testsuite/gfortran.dg/vect/pr90913.f90 b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
>> index d0f225159cc..1529cee3757 100644
>> --- a/gcc/testsuite/gfortran.dg/vect/pr90913.f90
>> +++ b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
>> @@ -1,5 +1,5 @@
>>  ! { dg-do compile }
>> -! { dg-options "-O3 -ffast-math" }
>> +! { dg-additional-options "-O3 -ffast-math" }
>>  ! { dg-additional-options "-mavx -mveclibabi=svml" { target i?86-*-* x86_64-*-* } }
>>  subroutine foo (a, b, c, d, e, f, g, h, k, l)
>>    implicit none
diff mbox series

Patch

diff --git a/gcc/testsuite/g++.dg/vect/pr84556.cc b/gcc/testsuite/g++.dg/vect/pr84556.cc
index e2c97e917be..6b1c9cec515 100644
--- a/gcc/testsuite/g++.dg/vect/pr84556.cc
+++ b/gcc/testsuite/g++.dg/vect/pr84556.cc
@@ -1,6 +1,6 @@ 
 // PR c++/84556
 // { dg-do run { target c++11 } }
-// { dg-options "-O2 -fopenmp-simd" }
+// { dg-additional-options "-O2 -fopenmp-simd" }
 // { dg-additional-options "-mavx" { target avx_runtime } }
 
 int
diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
index 14ac512a8ef..5a68ff02951 100644
--- a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
+++ b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c
@@ -1,4 +1,3 @@ 
-/* { dg-do run } */
 /* { dg-require-effective-target vect_complex_add_double } */
 /* { dg-add-options arm_v8_3a_complex_neon } */
 /* { dg-add-options arm_v8_3a_complex_neon } */
diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
index 3c5bb4cf6e5..4e37a7980fc 100644
--- a/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
+++ b/gcc/testsuite/gcc.dg/vect/gimplefe-40.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile { target { int128 && vect_float } } } */
-/* { dg-options "-fgimple -Wno-psabi -w" } */
+/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
 /* { dg-additional-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */
 
 typedef float v4sf __attribute__((vector_size(16)));
diff --git a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
index e52a3a559a9..650bb2b5bd5 100644
--- a/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
+++ b/gcc/testsuite/gcc.dg/vect/gimplefe-41.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile { target { vect_double && vect_long_long } } } */
-/* { dg-options "-fgimple -Wno-psabi -w" } */
+/* { dg-additional-options "-fgimple -Wno-psabi -w" } */
 /* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */
 
 typedef double __v2df __attribute__ ((__vector_size__ (16)));
diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf.c b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
index ed49f5670b5..3ad8c1a2dd7 100644
--- a/gcc/testsuite/gcc.dg/vect/pr101145inf.c
+++ b/gcc/testsuite/gcc.dg/vect/pr101145inf.c
@@ -1,5 +1,5 @@ 
 /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
-/* { dg-options "-O3" } */
+/* { dg-additional-options "-O3" } */
 #include <limits.h>
 #include "pr101145inf.inc"
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
index 4ee3e31c7fe..e3e9dd46d10 100644
--- a/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
+++ b/gcc/testsuite/gcc.dg/vect/pr101145inf_1.c
@@ -1,5 +1,5 @@ 
 /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
-/* { dg-options "-O3" } */
+/* { dg-additional-options "-O3" } */
 #include <limits.h>
 #include "pr101145inf.inc"
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr108316.c b/gcc/testsuite/gcc.dg/vect/pr108316.c
index 540b7f2aed4..6888ae50d9e 100644
--- a/gcc/testsuite/gcc.dg/vect/pr108316.c
+++ b/gcc/testsuite/gcc.dg/vect/pr108316.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O3" } */
+/* { dg-additional-options "-O3" } */
 
 extern _Bool a[];
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-1.c b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
index 98362d6bc40..28f1288648b 100644
--- a/gcc/testsuite/gcc.dg/vect/pr109011-1.c
+++ b/gcc/testsuite/gcc.dg/vect/pr109011-1.c
@@ -1,6 +1,6 @@ 
 /* PR tree-optimization/109011 */
 /* { dg-do compile } */
-/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
+/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
 /* { dg-additional-options "-mavx512cd" { target { { i?86-*-* x86_64-*-* } && avx512cd } } } */
 /* { dg-additional-options "-mavx512vpopcntdq" { target { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } } } */
 /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr8 } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-2.c b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
index a737e3fa03a..0219019edf1 100644
--- a/gcc/testsuite/gcc.dg/vect/pr109011-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr109011-2.c
@@ -1,6 +1,6 @@ 
 /* PR tree-optimization/109011 */
 /* { dg-do compile } */
-/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
+/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
 /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
 /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
 /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-3.c b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
index 21c364dfdfd..eda0d3aa978 100644
--- a/gcc/testsuite/gcc.dg/vect/pr109011-3.c
+++ b/gcc/testsuite/gcc.dg/vect/pr109011-3.c
@@ -1,6 +1,6 @@ 
 /* PR tree-optimization/109011 */
 /* { dg-do compile } */
-/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
+/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
 /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
 /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-4.c b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
index 76af7884224..da7810d62b5 100644
--- a/gcc/testsuite/gcc.dg/vect/pr109011-4.c
+++ b/gcc/testsuite/gcc.dg/vect/pr109011-4.c
@@ -1,6 +1,6 @@ 
 /* PR tree-optimization/109011 */
 /* { dg-do compile } */
-/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
+/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
 /* { dg-additional-options "-mavx512cd -mbmi -mlzcnt -mno-avx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512cd } && lzcnt } && bmi } } } */
 /* { dg-additional-options "-mvsx" { target { powerpc_vsx_ok && has_arch_pwr9 } } } */
 /* { dg-additional-options "-mdejagnu-cpu=power9 -mvsx" { target { powerpc_vsx_ok && { ! has_arch_pwr9 } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr109011-5.c b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
index 19dbfb3356a..f2119aebcfd 100644
--- a/gcc/testsuite/gcc.dg/vect/pr109011-5.c
+++ b/gcc/testsuite/gcc.dg/vect/pr109011-5.c
@@ -1,6 +1,6 @@ 
 /* PR tree-optimization/109011 */
 /* { dg-do compile } */
-/* { dg-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
+/* { dg-additional-options "-O3 -fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized" } */
 /* { dg-additional-options "-mno-avx512cd -mbmi -mlzcnt -mavx512vpopcntdq" { target { { { { i?86-*-* x86_64-*-* } && avx512vpopcntdq } && lzcnt } && bmi } } } */
 /* { dg-additional-options "-mdejagnu-cpu=power8 -mvsx" { target powerpc_vsx_ok } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr111846.c b/gcc/testsuite/gcc.dg/vect/pr111846.c
index d283882f261..c4d1da6d22b 100644
--- a/gcc/testsuite/gcc.dg/vect/pr111846.c
+++ b/gcc/testsuite/gcc.dg/vect/pr111846.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O3 -ffast-math" } */
+/* { dg-additional-options "-O3 -ffast-math" } */
 /* { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } } */
 
 extern __attribute__((__simd__)) float powf(float, float);
diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-2.c b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
index 07f64ffb531..e205d2c3c9f 100644
--- a/gcc/testsuite/gcc.dg/vect/pr111860-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
+/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
 int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
 
 int
diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-3.c b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
index 07f64ffb531..e205d2c3c9f 100644
--- a/gcc/testsuite/gcc.dg/vect/pr111860-3.c
+++ b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
+/* { dg-additional-options "-O -fno-tree-sink -ftree-vectorize" } */
 int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
 
 int
diff --git a/gcc/testsuite/gcc.dg/vect/pr113002.c b/gcc/testsuite/gcc.dg/vect/pr113002.c
index 186710f64b4..ad6e5835985 100644
--- a/gcc/testsuite/gcc.dg/vect/pr113002.c
+++ b/gcc/testsuite/gcc.dg/vect/pr113002.c
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target int128 } */
-/* { dg-options "-finline-stringops -Os" } */
+/* { dg-additional-options "-finline-stringops -Os" } */
 
 typedef __int128 v64u128 __attribute__((vector_size(64)));
 int c;
diff --git a/gcc/testsuite/gcc.dg/vect/pr113576.c b/gcc/testsuite/gcc.dg/vect/pr113576.c
index b6edde6f8e2..ba171b7c1f2 100644
--- a/gcc/testsuite/gcc.dg/vect/pr113576.c
+++ b/gcc/testsuite/gcc.dg/vect/pr113576.c
@@ -1,5 +1,4 @@ 
-/* { dg-do run } */
-/* { dg-options "-O3" } */
+/* { dg-additional-options "-O3" } */
 /* { dg-additional-options "-march=skylake-avx512" { target avx512f } } */
 
 #include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/pr84711.c b/gcc/testsuite/gcc.dg/vect/pr84711.c
index 12e9f60114a..350f9010be7 100644
--- a/gcc/testsuite/gcc.dg/vect/pr84711.c
+++ b/gcc/testsuite/gcc.dg/vect/pr84711.c
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -Wno-psabi" } */
+/* { dg-additional-options "-O2 -Wno-psabi" } */
 /* { dg-additional-options "-msse" { target i?86-*-* x86_64-*-* } } */
 
 typedef int v4si
diff --git a/gcc/testsuite/gcc.dg/vect/pr85597.c b/gcc/testsuite/gcc.dg/vect/pr85597.c
index cf615f9c464..71cc3615d63 100644
--- a/gcc/testsuite/gcc.dg/vect/pr85597.c
+++ b/gcc/testsuite/gcc.dg/vect/pr85597.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O3" } */
+/* { dg-additional-options "-O3" } */
 /* { dg-additional-options "-mfma" { target { x86_64-*-* i?86-*-* } } } */
 
 extern double fma (double, double, double);
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-1.c b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
index 885ec709428..8f9a14af1d3 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-1.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-1.c
@@ -1,7 +1,7 @@ 
 /* { dg-require-effective-target vect_double } */
 /* { dg-require-effective-target vsx_hw { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target sse2_runtime { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
 /* { dg-additional-options "-mvsx" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-2.c b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
index 8da5920903c..34528ce9aa4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-2.c
@@ -2,7 +2,7 @@ 
 /* { dg-require-effective-target vect_float } */
 /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
 /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-3.c b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
index 449f282e85c..1489dbcc59a 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-3.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-3.c
@@ -2,7 +2,7 @@ 
 /* { dg-require-effective-target vect_int } */
 /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
 /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-4.c b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
index f7b6c91c911..e7b20509cbb 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-4.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-4.c
@@ -2,7 +2,7 @@ 
 /* { dg-require-effective-target vect_int } */
 /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
 /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-5.c b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
index cbd12241c76..c3e34c22962 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-5.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-5.c
@@ -2,7 +2,7 @@ 
 /* { dg-require-effective-target vect_int } */
 /* { dg-require-effective-target powerpc_altivec_ok { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -ffast-math -fdump-tree-reassoc1" } */
 /* { dg-additional-options "-maltivec" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/pr88497-7.c b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
index d20ed71284e..e94907b3426 100644
--- a/gcc/testsuite/gcc.dg/vect/pr88497-7.c
+++ b/gcc/testsuite/gcc.dg/vect/pr88497-7.c
@@ -1,5 +1,5 @@ 
 /* { dg-require-effective-target avx512f_runtime } */
-/* { dg-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
+/* { dg-additional-options "-O2 -mavx512f -ffast-math -fdump-tree-reassoc1" } */
 
 /* To test reassoc can undistribute vector bit_field_ref on multiple
    vector machine modes, bypass those modes with only one candidate.
diff --git a/gcc/testsuite/gcc.dg/vect/pr92347.c b/gcc/testsuite/gcc.dg/vect/pr92347.c
index f75b2596a26..13d16551b5c 100644
--- a/gcc/testsuite/gcc.dg/vect/pr92347.c
+++ b/gcc/testsuite/gcc.dg/vect/pr92347.c
@@ -1,6 +1,6 @@ 
 /* Copied from PR 92347.  */
 /* { dg-do compile } */
-/* { dg-options "-O1 -fopenmp-simd" } */
+/* { dg-additional-options "-O1 -fopenmp-simd" } */
 /* { dg-additional-options "-mavx" { target { i?86-*-* x86_64-*-* } } } */
 
 int by;
diff --git a/gcc/testsuite/gcc.dg/vect/pr93069.c b/gcc/testsuite/gcc.dg/vect/pr93069.c
index 45c740dbe9e..a46fa437aa9 100644
--- a/gcc/testsuite/gcc.dg/vect/pr93069.c
+++ b/gcc/testsuite/gcc.dg/vect/pr93069.c
@@ -1,6 +1,6 @@ 
 /* PR target/93069 */
 /* { dg-do assemble { target vect_simd_clones } } */
-/* { dg-options "-O2 -fopenmp-simd" } */
+/* { dg-additional-options "-O2 -fopenmp-simd" } */
 
 #pragma omp declare simd
 int
diff --git a/gcc/testsuite/gcc.dg/vect/pr97241.c b/gcc/testsuite/gcc.dg/vect/pr97241.c
index d4be8f60940..f9b3d6d8337 100644
--- a/gcc/testsuite/gcc.dg/vect/pr97241.c
+++ b/gcc/testsuite/gcc.dg/vect/pr97241.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O3 --param max-loop-header-insns=2" } */
+/* { dg-additional-options "-O3 --param max-loop-header-insns=2" } */
 
 short int *ev;
 int l4;
diff --git a/gcc/testsuite/gcc.dg/vect/pr99102.c b/gcc/testsuite/gcc.dg/vect/pr99102.c
index 0d030d15c86..071741f5e48 100644
--- a/gcc/testsuite/gcc.dg/vect/pr99102.c
+++ b/gcc/testsuite/gcc.dg/vect/pr99102.c
@@ -1,4 +1,4 @@ 
-/* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+/* { dg-additional-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
 /* { dg-additional-options "-msve-vector-bits=256" { target aarch64_sve256_hw } } */
 long a[44];
 short d, e = -7;
diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
index 7b46e7d8a2a..155ce477103 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
@@ -1,5 +1,4 @@ 
 /* Make sure a -0 stays -0 when we perform a conditional reduction.  */
-/* { dg-do run } */
 /* { dg-require-effective-target vect_double } */
 /* { dg-add-options ieee } */
 /* { dg-additional-options "-std=gnu99 -fno-fast-math" } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
index 23a8341b529..fa87999dcd4 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_65.c
@@ -2,7 +2,7 @@ 
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_early_break } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
+/* { dg-additional-options "-Ofast -fno-vect-cost-model -fdump-tree-vect-details" } */
 
 enum a { b };
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
index 2bd21a47a0b..cc1349e7d78 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-fold-1.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-ccp1" } */
+/* { dg-additional-options "-O2 -fdump-tree-ccp1" } */
 
 typedef unsigned char v4qi __attribute__ ((vector_size (4)));
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
index b10147298d3..27cc5427f88 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-19.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
+/* { dg-additional-options "-fgimple -Ofast -fdump-tree-ifcvt-raw" } */
 
 void __GIMPLE (ssa,guessed_local(10737414), startwith ("fix_loops"))
 foo (int * f, int d, int e)
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
index 96c5f5a9293..0a4a8087d2c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-20.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
+/* { dg-additional-options "-fgimple -fopenmp-simd -Ofast -fdump-tree-ifcvt-raw" } */
 
 void foo (int * restrict p, int * restrict q, int * restrict r, int * restrict s, int * restrict t, int * restrict u)
 {
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
index dc5704f5607..5e7bfd5d81d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-epilogue-gaps.c
@@ -1,4 +1,4 @@ 
-/* { dg-options "-O3 -fno-vect-cost-model" } */
+/* { dg-additional-options "-O3 -fno-vect-cost-model" } */
 struct {
     float real;
     float img;
diff --git a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
index 6c2ff49cdab..bd243f805b7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
@@ -1,7 +1,7 @@ 
 /* PR target/59843 ICE on function taking/returning vector of one float64_t.  */
 
 /* { dg-do compile } */
-/* { dg-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
+/* { dg-additional-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
 
 #define TEST(BASETYPE, VECTYPE, SUFFIX)					     \
   typedef BASETYPE VECTYPE						     \
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 97b88821731..2e548748296 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-options "-O3 --param vect-max-peeling-for-alignment=0 -fpredictive-commoning -fdump-tree-pcom-details -std=legacy" }
+! { dg-additional-options "-O3 --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/pr77848.f b/gcc/testsuite/gfortran.dg/vect/pr77848.f
index 4752205f5d2..2a5e5bfea54 100644
--- a/gcc/testsuite/gfortran.dg/vect/pr77848.f
+++ b/gcc/testsuite/gfortran.dg/vect/pr77848.f
@@ -1,6 +1,6 @@ 
 ! PR 77848: Verify versioning is on when vectorization fails
 ! { dg-do compile }
-! { dg-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
+! { dg-additional-options "-O3 -ffast-math -fdump-tree-ifcvt -fdump-tree-vect-details" }
 ! { dg-additional-options "-mzarch" { target { s390*-*-* } } }
 
       subroutine sub(x,a,n,m)
diff --git a/gcc/testsuite/gfortran.dg/vect/pr90913.f90 b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
index d0f225159cc..1529cee3757 100644
--- a/gcc/testsuite/gfortran.dg/vect/pr90913.f90
+++ b/gcc/testsuite/gfortran.dg/vect/pr90913.f90
@@ -1,5 +1,5 @@ 
 ! { dg-do compile }
-! { dg-options "-O3 -ffast-math" }
+! { dg-additional-options "-O3 -ffast-math" }
 ! { dg-additional-options "-mavx -mveclibabi=svml" { target i?86-*-* x86_64-*-* } }
 subroutine foo (a, b, c, d, e, f, g, h, k, l)
   implicit none