[gcc r11-7068] libstdc++: Support skip, only, expensive, and xfail markers for simd tests

Jonathan Wakely redi@gcc.gnu.org
Wed Feb 3 15:50:08 GMT 2021


https://gcc.gnu.org/g:aa89c53c7370128ed8d8ce348cd0ef97c26af59b

commit r11-7068-gaa89c53c7370128ed8d8ce348cd0ef97c26af59b
Author: Matthias Kretz <kretz@kde.org>
Date:   Wed Feb 3 15:49:29 2021 +0000

    libstdc++: Support skip, only, expensive, and xfail markers for simd tests
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/experimental/simd/driver.sh: Implement skip, only,
            expensive, and xfail markers. They can select on type, ABI tag
            subset number, target-triplet, and compiler flags.
            * testsuite/experimental/simd/generate_makefile.sh: The summary
            now includes lines for unexpected passes and expected failures.
            If the skip or only markers are only conditional on the type, do
            not generate rules for those types.
            * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
            for ABI tag subsets 1-9.
            * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
            * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
            * testsuite/experimental/simd/tests/casts.cc: Ditto.
            * testsuite/experimental/simd/tests/generator.cc: Ditto.
            * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
            * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
            * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
            * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
            * testsuite/experimental/simd/tests/operators.cc: Ditto.
            * testsuite/experimental/simd/tests/reductions.cc: Ditto.
            * testsuite/experimental/simd/tests/simd.cc: Ditto.
            * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
            * testsuite/experimental/simd/tests/splits.cc: Ditto.
            * testsuite/experimental/simd/tests/where.cc: Ditto.
            * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
            addition replace "test only floattypes" marker by unconditional
            "float|double|ldouble" only marker.
            * testsuite/experimental/simd/tests/frexp.cc: Ditto.
            * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
            * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
            Ditto.
            * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
            * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
            * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
            * testsuite/experimental/simd/tests/remqo.cc: Ditto.
            * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
            * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
            * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
            addition, xfail on run because the reference data is missing.

Diff:
---
 libstdc++-v3/testsuite/experimental/simd/driver.sh | 114 ++++++++++++++++---
 .../experimental/simd/generate_makefile.sh         | 122 ++++++++++++++-------
 .../testsuite/experimental/simd/tests/abs.cc       |   1 +
 .../experimental/simd/tests/algorithms.cc          |   1 +
 .../testsuite/experimental/simd/tests/broadcast.cc |   1 +
 .../testsuite/experimental/simd/tests/casts.cc     |   1 +
 .../experimental/simd/tests/fpclassify.cc          |   3 +-
 .../testsuite/experimental/simd/tests/frexp.cc     |   3 +-
 .../testsuite/experimental/simd/tests/generator.cc |   1 +
 .../experimental/simd/tests/hypot3_fma.cc          |   3 +-
 .../experimental/simd/tests/integer_operators.cc   |   1 +
 .../simd/tests/ldexp_scalbn_scalbln_modf.cc        |   3 +-
 .../testsuite/experimental/simd/tests/loadstore.cc |   1 +
 .../testsuite/experimental/simd/tests/logarithm.cc |   3 +-
 .../experimental/simd/tests/mask_broadcast.cc      |   1 +
 .../experimental/simd/tests/mask_conversions.cc    |   1 +
 .../experimental/simd/tests/mask_implicit_cvt.cc   |   1 +
 .../experimental/simd/tests/mask_loadstore.cc      |   1 +
 .../experimental/simd/tests/mask_operator_cvt.cc   |   1 +
 .../experimental/simd/tests/mask_operators.cc      |   1 +
 .../experimental/simd/tests/mask_reductions.cc     |   1 +
 .../testsuite/experimental/simd/tests/math_1arg.cc |   3 +-
 .../testsuite/experimental/simd/tests/math_2arg.cc |   3 +-
 .../experimental/simd/tests/operator_cvt.cc        |   1 +
 .../testsuite/experimental/simd/tests/operators.cc |   1 +
 .../experimental/simd/tests/reductions.cc          |   1 +
 .../testsuite/experimental/simd/tests/remqo.cc     |   3 +-
 .../testsuite/experimental/simd/tests/simd.cc      |   1 +
 .../testsuite/experimental/simd/tests/sincos.cc    |   4 +-
 .../experimental/simd/tests/split_concat.cc        |   1 +
 .../testsuite/experimental/simd/tests/splits.cc    |   1 +
 .../experimental/simd/tests/trigonometric.cc       |   3 +-
 .../experimental/simd/tests/trunc_ceil_floor.cc    |   3 +-
 .../testsuite/experimental/simd/tests/where.cc     |   1 +
 34 files changed, 225 insertions(+), 66 deletions(-)

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 <<EOF
-long double
-ldouble
-double
-double
-float
-float
-EOF
-  ([ -n "$src" ] && grep -q "test only floattypes" "$src") || \
-  cat <<EOF
-long long
-llong
-unsigned long long
-ullong
-unsigned long
-ulong
-long
-long
-int
-int
-unsigned int
-uint
-short
-short
-unsigned short
-ushort
-char
-char
-signed char
-schar
-unsigned char
-uchar
-char32_t
-char32_t
-char16_t
-char16_t
-wchar_t
-wchar_t
-EOF
+  only=
+  skip=
+  if [ -n "$src" ]; then
+    only="$(head -n25 "$src"| grep '^//\s*only: [^ ]* \* \* \*')"
+    only="${only#*: }"
+    only="${only%% *}"
+    skip="$(head -n25 "$src"| grep '^//\s*skip: [^ ]* \* \* \*')"
+    skip="${skip#*: }"
+    skip="${skip%% *}"
+  fi
+  filter_types "$only" "$skip" \
+    "ldouble" \
+    "double" \
+    "float" \
+    "llong" \
+    "ullong" \
+    "ulong" \
+    "long" \
+    "int" \
+    "uint" \
+    "short" \
+    "ushort" \
+    "char" \
+    "schar" \
+    "uchar" \
+    "char32_t" \
+    "char16_t" \
+    "wchar_t"
 }
 
 all_tests() {
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/abs.cc b/libstdc++-v3/testsuite/experimental/simd/tests/abs.cc
index df115a93cb3..25645778730 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/abs.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/abs.cc
@@ -15,6 +15,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// expensive: * [1-9] * *
 #include "bits/verify.h"
 #include "bits/metahelpers.h"
 #include <cmath>    // abs & sqrt
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc b/libstdc++-v3/testsuite/experimental/simd/tests/algorithms.cc
index 0874739f31f..938f2a5cf9e 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 6c16c67e1c8..bba1a27027a 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 60aa942aa15..5e505803c48 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 c64ba0f6850..fe8a06174b1 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 9ae946c1bba..918182d2221 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 678e4fd393b..11aaa49c867 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 acf8c9a9820..003bd4f9be6 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 04d01a56548..7416952ad42 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 d3ad3734ff2..e9719cc67fe 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 58e062e924e..2c328368e44 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 0830f90fc59..b0dc9af6c81 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 c5aac49ebba..df9d38d9a30 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 c7b372dcb61..8a60d5a95c3 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 bc84cbdb966..aa9c72acc47 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 2448a02d828..3463fdad3f7 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 ff33cd38625..cd46d003a02 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 373b7a3b2d0..53e7041eedd 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 c37e57a4791..fb731426aeb 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 2e57e8ada7d..e7f273f1c64 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 4fea09716b9..44a70de24e0 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 494d160e898..8e7cfc5c25b 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 315b4777906..171bae5b05e 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 0838813c240..51aad92c862 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 785648211bc..15b193d89e1 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 725e1c3e335..e360dc05313 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
 // <http://www.gnu.org/licenses/>.
 
+// expensive: * [1-9] * *
 #include "bits/verify.h"
 
 template <typename V>
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc b/libstdc++-v3/testsuite/experimental/simd/tests/sincos.cc
index 83ece7249ba..7eee79d5174 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 208ffc8e93b..7c3584e5fd5 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 84d760e2d1f..3ed9f8679d6 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
 // <http://www.gnu.org/licenses/>.
 
+// expensive: * [1-9] * *
 #include "bits/verify.h"
 
 template <typename V>
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc b/libstdc++-v3/testsuite/experimental/simd/tests/trigonometric.cc
index 3fd741c7ccb..32f8ce939fb 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 74a15a70b02..0687662fae6 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-2021 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
 // <http://www.gnu.org/licenses/>.
 
+// 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 134dc7e3cb3..e955d2febc9 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
 // <http://www.gnu.org/licenses/>.
 
+// expensive: * [1-9] * *
 #include "bits/verify.h"
 #include "bits/make_vec.h"
 #include "bits/metahelpers.h"


More information about the Libstdc++-cvs mailing list