[llvm] dcda3e6 - [RISCV] Cleanup vmv.v.x isel patterns to look more like other patterns. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 9 09:59:41 PDT 2023
Author: Craig Topper
Date: 2023-06-09T09:59:27-07:00
New Revision: dcda3e67e729ab8f2566563bd26f6ec018ce21d7
URL: https://github.com/llvm/llvm-project/commit/dcda3e67e729ab8f2566563bd26f6ec018ce21d7
DIFF: https://github.com/llvm/llvm-project/commit/dcda3e67e729ab8f2566563bd26f6ec018ce21d7.diff
LOG: [RISCV] Cleanup vmv.v.x isel patterns to look more like other patterns. NFC
Add register classes to output registers. Use simm5 instead of XLenVT
for output immediate.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
index 5dea903a24af4..86c9a53deb524 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
@@ -1776,21 +1776,21 @@ foreach vti = AllIntegerVectors in {
let Predicates = GetVTypePredicates<vti>.Predicates in {
def : Pat<(vti.Vector (riscv_vmv_v_x_vl (vti.Vector undef), GPR:$rs2, VLOpFrag)),
(!cast<Instruction>("PseudoVMV_V_X_"#vti.LMul.MX)
- $rs2, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vmv_v_x_vl vti.Vector:$passthru, GPR:$rs2, VLOpFrag)),
+ GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
+ def : Pat<(vti.Vector (riscv_vmv_v_x_vl vti.RegClass:$passthru, GPR:$rs2, VLOpFrag)),
(!cast<Instruction>("PseudoVMV_V_X_"#vti.LMul.MX#"_TU")
- $passthru, $rs2, GPR:$vl, vti.Log2SEW)>;
+ vti.RegClass:$passthru, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
defvar ImmPat = !cast<ComplexPattern>("sew"#vti.SEW#"simm5");
- def : Pat<(vti.Vector (riscv_vmv_v_x_vl (vti.Vector undef), (ImmPat XLenVT:$imm5),
+ def : Pat<(vti.Vector (riscv_vmv_v_x_vl (vti.Vector undef), (ImmPat simm5:$imm5),
VLOpFrag)),
(!cast<Instruction>("PseudoVMV_V_I_"#vti.LMul.MX)
- XLenVT:$imm5, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vmv_v_x_vl vti.Vector:$passthru, (ImmPat XLenVT:$imm5),
+ simm5:$imm5, GPR:$vl, vti.Log2SEW)>;
+ def : Pat<(vti.Vector (riscv_vmv_v_x_vl vti.RegClass:$passthru, (ImmPat simm5:$imm5),
VLOpFrag)),
(!cast<Instruction>("PseudoVMV_V_I_"#vti.LMul.MX#"_TU")
- $passthru, XLenVT:$imm5, GPR:$vl, vti.Log2SEW)>;
+ vti.RegClass:$passthru, simm5:$imm5, GPR:$vl, vti.Log2SEW)>;
}
-}
+}
// 12. Vector Fixed-Point Arithmetic Instructions
More information about the llvm-commits
mailing list