[PATCH] D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 09:45:42 PST 2021


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td:516
+                zero_splat, 1, (vti.Mask $rs1), VLMax, vti.SEW)>;
+  def : Pat<(vti.Mask (trunc (vti.Vector vti.RegClass:$rs1))),
+            (!cast<Instruction>("PseudoVMSNE_VI_"#vti.LMul.MX)
----------------
trunc would probably be better custom lowered. We should be able to remove the AND if the input has enough 0 bits. Not sure if SimplifyDemandedBits is capable of that for scalable vectors yet.

sext/zext/anyext might also be better custom lowered just to cut down on patterns. Our isel table is approaching 1MB. The next largest target is at about 600K.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94590/new/

https://reviews.llvm.org/D94590



More information about the llvm-commits mailing list