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.