diff --git a/libstdc++-v3/testsuite/experimental/simd/driver.sh b/libstdc++-v3/testsuite/experimental/simd/driver.sh
index aabef316f47..84f3829c2d4 100755
--- a/libstdc++-v3/testsuite/experimental/simd/driver.sh
+++ b/libstdc++-v3/testsuite/experimental/simd/driver.sh
@@ -138,28 +138,38 @@ if [ -n "$only" ]; then
fi
if [ $abi -eq 0 ]; then
- abi=""
+ abiflag=""
elif [ $abi -gt 0 -a $abi -lt 10 ]; then
- abi="-DEXTENDEDTESTS=$((abi-1))"
+ abiflag="-DEXTENDEDTESTS=$((abi-1))"
else
echo "Error: The -a argument must be a value between 0 and 9 (inclusive)." >&2
exit 1
fi
fail() {
- echo "FAIL: $src $type $abi ($*)" | tee -a "$sum" "$log"
+ echo "FAIL: $src $type $abiflag ($*)" | tee -a "$sum" "$log"
+}
+
+xpass() {
+ echo "XPASS: $src $type $abiflag ($*)" | tee -a "$sum" "$log"
+}
+
+xfail() {
+ $quiet || echo "XFAIL: $src $type $abiflag ($*)"
+ echo "XFAIL: $src $type $abiflag ($*)" >> "$sum"
+ echo "XFAIL: $src $type $abiflag ($*)" >> "$log"
}
pass() {
- $quiet || echo "PASS: $src $type $abi ($*)"
- echo "PASS: $src $type $abi ($*)" >> "$sum"
- echo "PASS: $src $type $abi ($*)" >> "$log"
+ $quiet || echo "PASS: $src $type $abiflag ($*)"
+ echo "PASS: $src $type $abiflag ($*)" >> "$sum"
+ echo "PASS: $src $type $abiflag ($*)" >> "$log"
}
unsupported() {
- $quiet || echo "UNSUPPORTED: $src $type $abi ($*)"
- echo "UNSUPPORTED: $src $type $abi ($*)" >> "$sum"
- echo "UNSUPPORTED: $src $type $abi ($*)" >> "$log"
+ $quiet || echo "UNSUPPORTED: $src $type $abiflag ($*)"
+ echo "UNSUPPORTED: $src $type $abiflag ($*)" >> "$sum"
+ echo "UNSUPPORTED: $src $type $abiflag ($*)" >> "$log"
}
verify_compilation() {
@@ -173,6 +183,8 @@ verify_compilation() {
elif ! $quiet; then
grep -i 'warning:' "$log" | head -n5
fi
+ elif [ "$xfail" = "compile" ]; then
+ xpass "test for excess errors"
else
pass "test for excess errors"
fi
@@ -181,7 +193,12 @@ verify_compilation() {
fail "timeout: test for excess errors"
else
errors=$(grep -ic 'error:' "$log")
- fail "excess errors:" $errors
+ if [ "$xfail" = "compile" ]; then
+ xfail "excess errors:" $errors
+ exit 0
+ else
+ fail "excess errors:" $errors
+ fi
fi
if $verbose; then
cat "$log"
@@ -196,11 +213,18 @@ verify_test() {
failed=$1
if [ $failed -eq 0 ]; then
rm "$exe"
- pass "execution test"
+ if [ "$xfail" = "run" ]; then
+ xpass "execution test"
+ else
+ pass "execution test"
+ fi
else
$keep_failed || rm "$exe"
if [ $failed -eq 124 ]; then
fail "timeout: execution test"
+ elif [ "$xfail" = "run" ]; then
+ xfail "execution test"
+ exit 0
else
fail "execution test"
fi
@@ -225,16 +249,74 @@ write_log_and_verbose() {
fi
}
+matches() {
+ eval "case '$1' in
+ $2) return 0;; esac"
+ return 1
+}
+
+test_selector() {
+ string="$1"
+ pat_type="${string%% *}"
+ if matches "$shorttype" "$pat_type"; then
+ string="${string#* }"
+ pat_abi="${string%% *}"
+ if matches "$abi" "$pat_abi"; then
+ string="${string#* }"
+ pat_triplet="${string%% *}"
+ [ -z "$target_triplet" ] && target_triplet=$($CXX -dumpmachine)
+ if matches "$target_triplet" "$pat_triplet"; then
+ pat_flags="${string#* }"
+ if matches "$CXXFLAGS" "$pat_flags"; then
+ return 0
+ fi
+ fi
+ fi
+ fi
+ return 1
+}
+
rm -f "$log" "$sum"
touch "$log" "$sum"
-if ! $run_expensive && [ -n "$abi" ]; then
- unsupported "skip expensive tests"
- exit 0
+skip="$(head -n25 "$src" | grep '^//\s*skip: ')"
+if [ -n "$skip" ]; then
+ skip="$(echo "$skip" | sed -e 's/^.*:\s*//' -e 's/ \+/ /g')"
+ if test_selector "$skip"; then
+ # silently skip this test
+ exit 0
+ fi
+fi
+only="$(head -n25 "$src" | grep '^//\s*only: ')"
+if [ -n "$only" ]; then
+ only="$(echo "$only" | sed -e 's/^.*:\s*//' -e 's/ \+/ /g')"
+ if ! test_selector "$only"; then
+ # silently skip this test
+ exit 0
+ fi
+fi
+if ! $run_expensive; then
+ expensive="$(head -n25 "$src" | grep '^//\s*expensive: ')"
+ if [ -n "$expensive" ]; then
+ expensive="$(echo "$expensive" | sed -e 's/^.*:\s*//' -e 's/ \+/ /g')"
+ if test_selector "$expensive"; then
+ unsupported "skip expensive tests"
+ exit 0
+ fi
+ fi
+fi
+xfail="$(head -n25 "$src" | grep '^//\s*xfail: ')"
+if [ -n "$xfail" ]; then
+ xfail="$(echo "$xfail" | sed -e 's/^.*:\s*//' -e 's/ \+/ /g')"
+ if test_selector "${xfail#* }"; then
+ xfail="${xfail%% *}"
+ else
+ unset xfail
+ fi
fi
-write_log_and_verbose "$CXX $src $@ -D_GLIBCXX_SIMD_TESTTYPE=$type $abi -o $exe"
-timeout $timeout "$CXX" "$src" "$@" "-D_GLIBCXX_SIMD_TESTTYPE=$type" $abi -o "$exe" >> "$log" 2>&1
+write_log_and_verbose "$CXX $src $@ -D_GLIBCXX_SIMD_TESTTYPE=$type $abiflag -o $exe"
+timeout $timeout "$CXX" "$src" "$@" "-D_GLIBCXX_SIMD_TESTTYPE=$type" $abiflag -o "$exe" >> "$log" 2>&1
verify_compilation $?
if [ -n "$sim" ]; then
write_log_and_verbose "$sim ./$exe"
diff --git a/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh b/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh
index ab5970554c3..553bc98f60b 100755
--- a/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh
+++ b/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh
@@ -99,53 +99,97 @@ all: simd_testsuite.sum
simd_testsuite.sum: simd_testsuite.log
@printf "\n\t\t=== simd_testsuite \$(TESTFLAGS) Summary ===\n\n"\\
"# of expected passes:\t\t\$(shell grep -c '^PASS:' \$@)\n"\\
+ "# of unexpected passes:\t\t\$(shell grep -c '^XPASS:' \$@)\n"\\
"# of unexpected failures:\t\$(shell grep -c '^FAIL:' \$@)\n"\\
+ "# of expected failures:\t\t\$(shell grep -c '^XFAIL:' \$@)\n"\\
"# of unsupported tests:\t\t\$(shell grep -c '^UNSUPPORTED:' \$@)\n"\\
| tee -a \$@
EOF
+matches() {
+ eval "case '$1' in
+ $2) return 0;; esac"
+ return 1
+}
+
+cxx_type() {
+ case "$1" in
+ ldouble) echo "long double";;
+ ullong) echo "unsigned long long";;
+ ulong) echo "unsigned long";;
+ llong) echo "long long";;
+ uint) echo "unsigned int";;
+ ushort) echo "unsigned short";;
+ uchar) echo "unsigned char";;
+ schar) echo "signed char";;
+ *) echo "$1";;
+ esac
+}
+
+filter_types() {
+ only="$1"
+ skip="$2"
+ shift 2
+ if [ -z "$only" -a -z "$skip" ]; then
+ for x in "$@"; do
+ cxx_type "$x"
+ echo "$x"
+ done
+ elif [ -z "$skip" ]; then
+ for x in "$@"; do
+ if matches "$x" "$only"; then
+ cxx_type "$x"
+ echo "$x"
+ fi
+ done
+ elif [ -z "$only" ]; then
+ for x in "$@"; do
+ matches "$x" "$skip" && continue
+ cxx_type "$x"
+ echo "$x"
+ done
+ else
+ for x in "$@"; do
+ matches "$x" "$skip" && continue
+ if matches "$x" "$only"; then
+ cxx_type "$x"
+ echo "$x"
+ fi
+ done
+ fi
+}
+
all_types() {
src="$1"
- cat <.
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include // abs & sqrt
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc b/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc
index 78bce35f59c..0762686d5e8 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/broadcast.cc b/libstdc++-v3/testsuite/experimental/simd/tests/broadcast.cc
index c107de3380b..6060ade8e7a 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/broadcast.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/broadcast.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/casts.cc b/libstdc++-v3/testsuite/experimental/simd/tests/casts.cc
index df169e100de..49d56009081 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/casts.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/casts.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/conversions.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/fpclassify.cc b/libstdc++-v3/testsuite/experimental/simd/tests/fpclassify.cc
index eef26108f5f..b367073168a 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/fpclassify.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/fpclassify.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc b/libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc
index e2d90dd1e3f..028ca80a71a 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/frexp.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/generator.cc b/libstdc++-v3/testsuite/experimental/simd/tests/generator.cc
index 221064dc476..f4780de38b2 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/generator.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/generator.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc b/libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc
index 0c8e55983a2..689a90c10a5 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/hypot3_fma.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc b/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
index 975e69a9e35..21380c4e13e 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/make_vec.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc b/libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc
index 6d994572bf8..c867d365f39 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc b/libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc
index 994227c7d5a..dd7d6c30e8c 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/loadstore.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/make_vec.h"
#include "bits/conversions.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc b/libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc
index 29c686db697..2065d1cd7ac 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/logarithm.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/mathreference.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_broadcast.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_broadcast.cc
index 7fc8201caf6..494b582633c 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_broadcast.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_broadcast.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_conversions.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_conversions.cc
index 8cec912250a..a44753adf9a 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_conversions.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_conversions.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
namespace stdx = std::experimental;
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_implicit_cvt.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_implicit_cvt.cc
index e1760e3f37f..562be4b3293 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_implicit_cvt.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_implicit_cvt.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_loadstore.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_loadstore.cc
index 0f43428b7c6..0590d7a16d0 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_loadstore.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_loadstore.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
// simd_mask generator functions
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_operator_cvt.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_operator_cvt.cc
index 738b97c3dca..ab08a047e8c 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_operator_cvt.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_operator_cvt.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_operators.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_operators.cc
index 58255cf1e1b..ce4b61f8a4d 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_operators.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_operators.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc b/libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc
index 1190eaf5457..be1ed9fd742 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/mask_reductions.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc b/libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc
index bce01264f3c..441b3406a22 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/math_1arg.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc b/libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc
index 57b7b3aeb5c..018328de6cb 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/math_2arg.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc b/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
index a04cd34e3d4..1836af56f1b 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/operator_cvt.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/operators.cc b/libstdc++-v3/testsuite/experimental/simd/tests/operators.cc
index cee696cc69b..27fdbbb01f9 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/operators.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/operators.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/make_vec.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc
index 6f4ba40133f..9d897d5ccd6 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc b/libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc
index bdbacc6ef8e..0a666b2c329 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/remqo.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/simd.cc b/libstdc++-v3/testsuite/experimental/simd/tests/simd.cc
index 657646c0ac5..5f30a43a6e5 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/simd.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/simd.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
template
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc b/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc
index acef488e214..bcf6c738f19 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,9 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// xfail: run * * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/mathreference.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/split_concat.cc b/libstdc++-v3/testsuite/experimental/simd/tests/split_concat.cc
index 3a79a1f8e3d..477221f515a 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/split_concat.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/split_concat.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/conversions.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/splits.cc b/libstdc++-v3/testsuite/experimental/simd/tests/splits.cc
index 8b61635c2a6..5c662b00121 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/splits.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/splits.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
template
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc b/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc
index 24730f1856c..f8b1d2a45ec 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/metahelpers.h"
#include "bits/test_values.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/trunc_ceil_floor.cc b/libstdc++-v3/testsuite/experimental/simd/tests/trunc_ceil_floor.cc
index e516926ae1d..2dbc89364e7 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/trunc_ceil_floor.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/trunc_ceil_floor.cc
@@ -1,4 +1,3 @@
-// test only floattypes
// Copyright (C) 2020 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
+// only: float|double|ldouble * * *
+// expensive: * [1-9] * *
#include "bits/test_values.h"
#include "bits/verify.h"
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/where.cc b/libstdc++-v3/testsuite/experimental/simd/tests/where.cc
index 5e73a3b1989..5eab176ba4c 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/where.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/where.cc
@@ -15,6 +15,7 @@
// with this library; see the file COPYING3. If not see
// .
+// expensive: * [1-9] * *
#include "bits/verify.h"
#include "bits/make_vec.h"
#include "bits/metahelpers.h"