On non-vector targets dejagnu attempts dg-do compile for pr95401.cc. This produces a command like this: g++ pr95401.cc pr95401a.cc -S -o pr95401.s
which isn't valid (gcc does not accept multiple input files when using -S with -o). This patch adds require-effective-target vect_int to avoid the case where the testcase is invoked with dg-do compile. gcc/testsuite/ChangeLog: * g++.dg/vect/pr95401.cc: Add require-effective-target vect_int. Signed-off-by: Patrick O'Neill <patr...@rivosinc.com> --- Tested using rv64gc & rv64gcv to make sure the testcase runs/doesn't compile as expected. Somewhat related/similar problem (running vector test on non-vector target): https://inbox.sourceware.org/gcc-patches/20231102190911.66763-1-patr...@rivosinc.com/T/#u https://inbox.sourceware.org/gcc-patches/20231102234527.77231-1-patr...@rivosinc.com/T/#u Ideally we would have a way to ban a dejagnu dg-do or an equivalent to check_vect_support_and_set_flags that returns true/false based on if it emits run/compile as the default dg-do command. require-effective-target seems to be a reasonable alternative. pr95401.cc and pr95401a.cc only use int variables and arrays. --- gcc/testsuite/g++.dg/vect/pr95401.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/g++.dg/vect/pr95401.cc b/gcc/testsuite/g++.dg/vect/pr95401.cc index 6a56dab0957..6a1b65ff0e7 100644 --- a/gcc/testsuite/g++.dg/vect/pr95401.cc +++ b/gcc/testsuite/g++.dg/vect/pr95401.cc @@ -1,5 +1,6 @@ // { dg-additional-options "-mavx2 -O3" { target avx2_runtime } } // { dg-additional-sources pr95401a.cc } +// { dg-require-effective-target vect_int } extern int var_9; extern unsigned var_14; -- 2.34.1