Re: Re: [PATCH] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-10-31 Thread juzhe.zh...@rivai.ai
Thanks Robin. Address comments on V2. juzhe.zh...@rivai.ai From: Robin Dapp Date: 2023-10-31 16:45 To: Juzhe-Zhong; gcc-patches CC: rdapp.gcc; richard.sandiford; rguenther; jeffreyalaw Subject: Re: [PATCH] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN Hi Juzhe

Re: [PATCH] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-10-31 Thread Robin Dapp
Hi Juzhe, > +@cindex @code{mask_len_strided_load@var{m}@var{n}} instruction pattern > +@item @samp{mask_len_strided_load@var{m}@var{n}} > +Load several separate memory locations into a vector of mode m. > +Operand 1 is a scalar base address and operand 2 is mode @var{n} > +specifying each uniform

[PATCH] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-10-30 Thread Juzhe-Zhong
As previous Richard's suggested, we should support strided load/store in loop vectorizer instead hacking RISC-V backend. This patch adds MASK_LEN_STRIDED LOAD/STORE OPTABS/IFN. The GIMPLE IR is: v = mask_len_strided_load (ptr, stride, mask, len, bias) mask_len_strided_store (ptr, stride, v,