aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Kretz <m.kretz@gsi.de>2023-05-25 12:53:06 +0200
committerMatthias Kretz <m.kretz@gsi.de>2023-05-30 16:19:07 +0200
commit3e2689e568425f14d6728504ad6f5d32b90320ad (patch)
tree7fd812cae0db919709fa96c9d8599c80c4584378
parent291549d43e823f163fa9961e42a751b5ce0d57fb (diff)
downloadgcc-3e2689e568425f14d6728504ad6f5d32b90320ad.zip
gcc-3e2689e568425f14d6728504ad6f5d32b90320ad.tar.gz
gcc-3e2689e568425f14d6728504ad6f5d32b90320ad.tar.bz2
libstdc++: Simplify calculation of expected value in simd test
This avoids a failure on PR109964. Signed-off-by: Matthias Kretz <m.kretz@gsi.de> libstdc++-v3/ChangeLog: * testsuite/experimental/simd/tests/integer_operators.cc: Compute expected value differently to avoid getting turned into a vector shift.
-rw-r--r--libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc b/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
index 7a2bc08..08ad49c 100644
--- a/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
+++ b/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc
@@ -179,11 +179,10 @@ template <typename V>
for (int j = 0; j < 100; ++j)
{
const V seq([&](auto i) -> T { return (j + i) % n_promo_bits; });
- COMPARE(V(1) >> seq, V([&](auto i) { return T(T(1) >> seq[i]); }))
- << "seq = " << seq;
- COMPARE(make_value_unknown(V(1)) >> make_value_unknown(seq),
- V([&](auto i) { return T(T(1) >> seq[i]); }))
- << "seq = " << seq;
+ const V expect([&](auto i) { return seq[i] == 0 ? T(1) : T(0); });
+ COMPARE(V(1) >> seq, expect) << "\nseq = " << seq;
+ COMPARE(make_value_unknown(V(1)) >> make_value_unknown(seq), expect)
+ << "\nseq = " << seq;
}
for_constexpr<int, 0, n_promo_bits - 1>([](auto shift_ic) {
constexpr int shift = shift_ic;