From: Matthias Kretz Date: Thu, 25 May 2023 10:53:06 +0000 (+0200) Subject: libstdc++: Simplify calculation of expected value in simd test X-Git-Tag: basepoints/gcc-15~8731 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e2689e568425f14d6728504ad6f5d32b90320ad;p=thirdparty%2Fgcc.git libstdc++: Simplify calculation of expected value in simd test This avoids a failure on PR109964. Signed-off-by: Matthias Kretz libstdc++-v3/ChangeLog: * testsuite/experimental/simd/tests/integer_operators.cc: Compute expected value differently to avoid getting turned into a vector shift. --- diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc b/libstdc++-v3/testsuite/experimental/simd/tests/integer_operators.cc index 7a2bc085e498..08ad49ca7108 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 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([](auto shift_ic) { constexpr int shift = shift_ic;