[llvm] [RISCV] Remove SEW operand for load/store and SEW-aware pseudos (PR #90396)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 29 09:03:54 PDT 2024


================
@@ -917,56 +925,62 @@ class VPseudoILoadMask<VReg RetClass,
 class VPseudoUSStoreNoMask<VReg StClass,
                            int EEW> :
       Pseudo<(outs),
-             (ins StClass:$rd, GPRMem:$rs1, AVL:$vl, ixlenimm:$sew), []>,
+      !if(!eq(EEW, 1),
+          (ins StClass:$rd, GPRMem:$rs1, AVL:$vl, ixlenimm:$sew),
+          (ins StClass:$rd, GPRMem:$rs1, AVL:$vl)), []>,
       RISCVVPseudo,
       RISCVVSE</*Masked*/0, /*Strided*/0, !logtwo(EEW), VLMul> {
   let mayLoad = 0;
   let mayStore = 1;
   let hasSideEffects = 0;
   let HasVLOp = 1;
-  let HasSEWOp = 1;
+  // For mask store, EEW = 1.
----------------
michaelmaitland wrote:

Can `VPseudoUSStoreNoMask` be a `mask store`? Those two things sound like they may conflict?

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


More information about the llvm-commits mailing list