[llvm] e50b141 - [RISCV] Remove true_mask patterns for VRGATHER.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 21 12:00:41 PDT 2022
Author: Craig Topper
Date: 2022-06-21T11:59:37-07:00
New Revision: e50b141a13dcfb8938422484d3719d18416ba5ca
URL: https://github.com/llvm/llvm-project/commit/e50b141a13dcfb8938422484d3719d18416ba5ca
DIFF: https://github.com/llvm/llvm-project/commit/e50b141a13dcfb8938422484d3719d18416ba5ca.diff
LOG: [RISCV] Remove true_mask patterns for VRGATHER.
These can be handled by the post-isel peephole.
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 5b1ce03984a2..4ce2721193b0 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
@@ -1838,25 +1838,6 @@ foreach vti = AllIntegerVectors in {
(!cast<Instruction>("PseudoVMV_S_X_"#vti.LMul.MX)
vti.RegClass:$merge,
(vti.Scalar vti.ScalarRegClass:$rs1), GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vrgather_vv_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2,
- (vti.Vector vti.RegClass:$rs1),
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VV_"# vti.LMul.MX)
- vti.RegClass:$rs2, vti.RegClass:$rs1, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vrgather_vx_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2, GPR:$rs1,
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VX_"# vti.LMul.MX)
- vti.RegClass:$rs2, GPR:$rs1, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vrgather_vx_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2, uimm5:$imm,
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VI_"# vti.LMul.MX)
- vti.RegClass:$rs2, uimm5:$imm, GPR:$vl, vti.Log2SEW)>;
def : Pat<(vti.Vector (riscv_vrgather_vv_vl vti.RegClass:$merge,
vti.RegClass:$rs2,
@@ -1866,7 +1847,13 @@ foreach vti = AllIntegerVectors in {
(!cast<Instruction>("PseudoVRGATHER_VV_"# vti.LMul.MX#"_MASK")
vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
(vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
-
+ def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$merge,
+ vti.RegClass:$rs2, GPR:$rs1,
+ (vti.Mask V0),
+ VLOpFrag)),
+ (!cast<Instruction>("PseudoVRGATHER_VX_"# vti.LMul.MX#"_MASK")
+ vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
+ (vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$merge,
vti.RegClass:$rs2,
uimm5:$imm,
@@ -1922,25 +1909,6 @@ foreach vti = AllFloatVectors in {
vti.RegClass:$merge,
(vti.Scalar vti.ScalarRegClass:$rs1), GPR:$vl, vti.Log2SEW)>;
defvar ivti = GetIntVTypeInfo<vti>.Vti;
- def : Pat<(vti.Vector (riscv_vrgather_vv_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2,
- (ivti.Vector vti.RegClass:$rs1),
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VV_"# vti.LMul.MX)
- vti.RegClass:$rs2, vti.RegClass:$rs1, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vrgather_vx_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2, GPR:$rs1,
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VX_"# vti.LMul.MX)
- vti.RegClass:$rs2, GPR:$rs1, GPR:$vl, vti.Log2SEW)>;
- def : Pat<(vti.Vector (riscv_vrgather_vx_vl (vti.Vector srcvalue),
- vti.RegClass:$rs2, uimm5:$imm,
- (vti.Mask true_mask),
- VLOpFrag)),
- (!cast<Instruction>("PseudoVRGATHER_VI_"# vti.LMul.MX)
- vti.RegClass:$rs2, uimm5:$imm, GPR:$vl, vti.Log2SEW)>;
def : Pat<(vti.Vector
(riscv_vrgather_vv_vl vti.RegClass:$merge,
@@ -1951,7 +1919,13 @@ foreach vti = AllFloatVectors in {
(!cast<Instruction>("PseudoVRGATHER_VV_"# vti.LMul.MX#"_MASK")
vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
(vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
-
+ def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$merge,
+ vti.RegClass:$rs2, GPR:$rs1,
+ (vti.Mask V0),
+ VLOpFrag)),
+ (!cast<Instruction>("PseudoVRGATHER_VX_"# vti.LMul.MX#"_MASK")
+ vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
+ (vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
def : Pat<(vti.Vector
(riscv_vrgather_vx_vl vti.RegClass:$merge,
vti.RegClass:$rs2,
More information about the llvm-commits
mailing list