Message ID | 2392568.8UF1cRMu57@excalibur |
---|---|
Headers | show |
Series | Improve and document stdx::simd testsuite | expand |
On Tue, 8 Jun 2021 at 09:57, Matthias Kretz <m.kretz@gsi.de> wrote: > > As discussed a long time ago on IRC, this improves (i.e. decreases by default) > the verbosity of make check-simd, gives more verbosity options, and finally > documents how the simd testsuite is used and how it works. In addition, after > PR98834 was resolved, remove the -fno-tree-vrp workaround. > > Tested on x86_64-linux (and more). Great, thanks, I'm about to push all 3 patches to trunk. > > > Matthias Kretz (3): > libstdc++: Remove -fno-tree-vrp after PR98834 was resolved > libstdc++: Improve output verbosity options and default > libstdc++: Document simd testsuite > > libstdc++-v3/testsuite/Makefile.am | 3 +- > libstdc++-v3/testsuite/Makefile.in | 3 +- > .../testsuite/experimental/simd/README.md | 257 ++++++++++++++++++ > .../testsuite/experimental/simd/driver.sh | 137 +++++++--- > .../experimental/simd/generate_makefile.sh | 33 ++- > 5 files changed, 380 insertions(+), 53 deletions(-) > create mode 100644 libstdc++-v3/testsuite/experimental/simd/README.md > > -- > ────────────────────────────────────────────────────────────────────────── > Dr. Matthias Kretz https://mattkretz.github.io > GSI Helmholtz Centre for Heavy Ion Research https://gsi.de > std::experimental::simd https://github.com/VcDevel/std-simd > ────────────────────────────────────────────────────────────────────────── >
On Wed, 23 Jun 2021 at 16:46, Jonathan Wakely wrote: > > On Tue, 8 Jun 2021 at 09:57, Matthias Kretz <m.kretz@gsi.de> wrote: > > > > As discussed a long time ago on IRC, this improves (i.e. decreases by default) > > the verbosity of make check-simd, gives more verbosity options, and finally > > documents how the simd testsuite is used and how it works. In addition, after > > PR98834 was resolved, remove the -fno-tree-vrp workaround. > > > > Tested on x86_64-linux (and more). > > Great, thanks, I'm about to push all 3 patches to trunk. I've pushed this fix for some typos in the new README.md commit 07ba52849ffca26a3d461f94921b23a9cdbaea7f Author: Jonathan Wakely <jwakely@redhat.com> Date: Thu Jun 24 13:49:19 2021 libstdc++: Fix typos and markdown errors in new simd/README.md Signed-off-by: Jonathan Wakely <jwakely@redhat.com> libstdc++-v3/ChangeLog: * testsuite/experimental/simd/README.md: Fix typos. diff --git a/libstdc++-v3/testsuite/experimental/simd/README.md b/libstdc++-v3/testsuite/experimental/simd/README.md index db0d71f8d43..b82453df403 100644 --- a/libstdc++-v3/testsuite/experimental/simd/README.md +++ b/libstdc++-v3/testsuite/experimental/simd/README.md @@ -11,7 +11,7 @@ ### `target_list` Similar to dejagnu target lists: E.g. -`target_list="unix{-march=sandybridge,-march=native/-ffast-math,-march=native/-ffinite-math-only}" +`target_list="unix{-march=sandybridge,-march=native/-ffast-math,-march=native/-ffinite-math-only}"` would create three subdirs in `testsuite/simd/` to run the complete simd testsuite first with `-march=sandybridge`, then with `-march=native -ffast-math`, and finally with `-march=native -ffinite-math-only`. @@ -21,7 +21,7 @@ This variable can be set to a path to a file which is equivalent to a dejagnu board. The file needs to be a valid `sh` script since it is sourced from the -`scripts/check_simd` script. It's purpose is to set the `target_list` variable +`scripts/check_simd` script. Its purpose is to set the `target_list` variable depending on `$target_triplet` (or whatever else makes sense for you). Example: ```sh @@ -52,7 +52,7 @@ `power7` which always uses the flags `-mcpu=power7` and `-static` when compiling tests and prepends `$HOME/bin/run_on_gccfarm gcc112` to test executables. In `target_list` you can now use the name `power7`. E.g. -`target_list="power7 power7/-ffast-math"` or it's shorthand +`target_list="power7 power7/-ffast-math"` or its shorthand `target_list="power7{,-ffast-math}"`. @@ -109,7 +109,7 @@ influencing the set of tests to generate and whether the test driver should expect a failure. -Then the test must at least `#include "bits/verify.h", which provides `main` +Then the test must at least `#include "bits/verify.h"`, which provides `main` and declares a `template <typename V> void test()` function, which the test has to define. The template parameter is set to `simd<T, Abi>` type where `T` and `Abi` are determined by the type and ABI subset dimensions.