https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116059
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=115336 --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Robin Dapp from comment #3) > 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. Oh yes this issue. there was some recent discussion on the list saying the semantics of MASK_LOAD is load and resulting of 0. Oh yes in reference to PR 115336. https://inbox.sourceware.org/gcc-patches/7ea24dfc-34dd-4931-8614-6fd0ef869...@gmail.com/