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/[email protected]/