Ok. I will add BIAS argument too for the convenience of possible s390 needed.
Even though we (RVV) don't really need it.

Thank. Will send a small patch V3 soon.


juzhe.zh...@rivai.ai
 
From: Robin Dapp
Date: 2023-06-15 16:58
To: juzhe.zh...@rivai.ai; rguenther
CC: rdapp.gcc; gcc-patches; richard.sandiford; krebbel; uweigand; linkw
Subject: Re: [PATCH V2] VECT: Support LEN_MASK_ LOAD/STORE to support flow 
control for length loop control
>>> 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.
 
Regards
Robin
 

Reply via email to