On Thu, 15 Jun 2023, Robin Dapp wrote: > >>> Can you try using the same wording for length and mask operands > >>> as for len_load and maskload? Also len_load has the "bias" > >>> operand which you omit here - IIRC that was added for s390 which > >>> for unknown reason behaves a little different than power. If > >>> len support for s390 ever extends to other ops or power or s390 > >>> gain mask support for conditional code we'd likely have to adjust > >>> each optab you add. Maybe it's better to add the bias operand > >>> now. > > > > I don't know BIAS well and It seems to be a Power target dependent feature. > > I think len_mask_* in general should only need lenght and mask operand. > > Actually, the function argument is totally same as vp_load/vp_store in LLVM. > > > > Could I just keep current format (without BIAS argument)? And extend it > > with BIAS if > > PowerPC want to use LEN_MASK_ * ? > > FYI: The only proper user of bias is s390 because the insns cannot handle a > zero length. Power doesn't actually need it. What we do is just subtract the > bias (== 1) from the length in case of n_rgroups == 1 and nothing for > bias == 0 so the actually bias support code needed is small.
Meh, PoP is now behind a paywall, trying to get through ... I wonder if there's a nice online html documenting the s390 len_load/store instructions to better understand the need for the bias. Richard.