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.

Reply via email to