[llvm] [IA][RISCV] Add support for vp.load/vp.store with shufflevector (PR #135445)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 21 02:33:45 PDT 2025


================
@@ -1705,19 +1705,39 @@ let TargetPrefix = "riscv" in {
 
   // Segment loads/stores for fixed vectors.
   foreach nf = [2, 3, 4, 5, 6, 7, 8] in {
+    // Input: (pointer, vl)
     def int_riscv_seg # nf # _load
           : DefaultAttrsIntrinsic<!listconcat([llvm_anyvector_ty],
                                               !listsplat(LLVMMatchType<0>,
                                               !add(nf, -1))),
                                   [llvm_anyptr_ty, llvm_anyint_ty],
                                   [NoCapture<ArgIndex<0>>, IntrReadMem]>;
+    // Input: (pointer, mask, vl)
----------------
lukel97 wrote:

After this patch does anywhere still create the non-masked fixed vector intrinsics? If so could we convert them to the masked version and rely on RISCVVectorPeephole to unmask them?

https://github.com/llvm/llvm-project/pull/135445


More information about the llvm-commits mailing list