[PATCH] D96365: [RISCV] Add support for matching .vx and .vi forms of binary instructions for fixed vectors.

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 11 02:00:03 PST 2021


frasercrmck added a comment.

Could you perhaps explain why the splats (at least as non-roots) are matched like this and not with the existing complex patterns extended to also check VMV_V_X?



================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td:4060
 
-foreach vti = AllIntegerVectors in {
-  def : Pat<(vti.Vector (riscv_vmv_v_x_vl GPR:$rs2, (XLenVT (VLOp GPR:$vl)))),
-            (!cast<Instruction>("PseudoVMV_V_X_"#vti.LMul.MX)
-             $rs2, GPR:$vl, vti.SEW)>;
-  def : Pat<(vti.Vector (riscv_vmv_v_x_vl simm5:$imm5, (XLenVT (VLOp GPR:$vl)))),
-            (!cast<Instruction>("PseudoVMV_V_I_"#vti.LMul.MX)
-             simm5:$imm5, GPR:$vl, vti.SEW)>;
+  // vmv.v.x/vmv.v.i are handled in RISCInstrVInstrINfoVVLPatterns.td
 }
----------------
frasercrmck wrote:
> Minor typo: `RISCInstrVInstrINfoVVL` -> `RISCVInstrInfoVVL`
I think this has slipped back in after the rebase? `RISCInstrVInstrINfoVVLPatterns.td` should be `RISCVInstrInfoVVLPatterns.td`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96365



More information about the llvm-commits mailing list