https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116059

--- Comment #3 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Glad we went for rvv_ma_all_1s=true because otherwise this one would have gone
unnoticed :)  The -fsigned-char -fno-strict-aliasing -fwrapv look unnecessary. 
I see the problem without them as well, just the output is 255 instead of
4294967295.

vect__3.14_56 = .MASK_LEN_LOAD (vectp_b.12_54, 8B, mask__15.11_52, _67, 0); //
1/0

The // 1/0 is unfortunately not true for RVV, it's rather 1/undefined which is
where we go wrong.  So it looks pretty much like the missing else operand for
the masked load again.  On my local "else operand" branch that merges with an
empty vector the test succeeds.

I'm going to send one or two preparational patches before the full thing and
hopefully it's not going to take much longer.  I'm going to add this test to
the patch.  That's helpful because the last PR that triggered the problem was a
256b run test and this one is 128b, so easy to run in the test suite.

Reply via email to