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

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 28 21:25:08 PDT 2024


================
@@ -769,15 +769,20 @@ class GetVTypeScalarPredicates<VTypeInfo vti> {
 class VPseudoUSLoadNoMask<VReg RetClass,
                           int EEW> :
       Pseudo<(outs RetClass:$rd),
-             (ins RetClass:$dest, GPRMem:$rs1, AVL:$vl, ixlenimm:$sew,
-                  ixlenimm:$policy), []>,
+             !if(!eq(EEW, 1),
+                 (ins RetClass:$dest, GPRMem:$rs1, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy),
+                 (ins RetClass:$dest, GPRMem:$rs1, AVL:$vl, ixlenimm:$policy)), []>,
       RISCVVPseudo,
----------------
lukel97 wrote:

Would it make sense to add a separate class for the vlm.v/vsm.v pseudos? Since not only do they not need an SEW but they also don't need a policy operand either, it's always TAMA IIUC? TA as per the spec, MA because there's no masked variant.

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


More information about the llvm-commits mailing list