forked from OSchip/llvm-project
[RISCV] Remove unused tablegen template parameters. NFC
Identified in D109359
This commit is contained in:
parent
6f1f30a957
commit
aca14c8cf1
|
@ -667,7 +667,7 @@ multiclass VCMP_IV_X_I<string opcodestr, bits<6> funct6, Operand optype = simm5,
|
||||||
Sched<[WriteVICmpI, ReadVICmpV, ReadVMask]>;
|
Sched<[WriteVICmpI, ReadVICmpV, ReadVMask]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
multiclass VCMP_IV_V_X<string opcodestr, bits<6> funct6, Operand optype = simm5, string vw = "v"> {
|
multiclass VCMP_IV_V_X<string opcodestr, bits<6> funct6, string vw = "v"> {
|
||||||
def V : VALUVV<funct6, OPIVV, opcodestr # "." # vw # "v">,
|
def V : VALUVV<funct6, OPIVV, opcodestr # "." # vw # "v">,
|
||||||
Sched<[WriteVICmpV, ReadVICmpV, ReadVICmpV, ReadVMask]>;
|
Sched<[WriteVICmpV, ReadVICmpV, ReadVICmpV, ReadVMask]>;
|
||||||
def X : VALUVX<funct6, OPIVX, opcodestr # "." # vw # "x">,
|
def X : VALUVX<funct6, OPIVX, opcodestr # "." # vw # "x">,
|
||||||
|
|
|
@ -2384,7 +2384,6 @@ class VPatTernaryNoMask<string intrinsic,
|
||||||
ValueType result_type,
|
ValueType result_type,
|
||||||
ValueType op1_type,
|
ValueType op1_type,
|
||||||
ValueType op2_type,
|
ValueType op2_type,
|
||||||
ValueType mask_type,
|
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
VReg result_reg_class,
|
VReg result_reg_class,
|
||||||
|
@ -2407,7 +2406,6 @@ class VPatTernaryNoMaskWithPolicy<string intrinsic,
|
||||||
ValueType result_type,
|
ValueType result_type,
|
||||||
ValueType op1_type,
|
ValueType op1_type,
|
||||||
ValueType op2_type,
|
ValueType op2_type,
|
||||||
ValueType mask_type,
|
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
VReg result_reg_class,
|
VReg result_reg_class,
|
||||||
|
@ -3014,8 +3012,8 @@ multiclass VPatTernary<string intrinsic,
|
||||||
RegisterClass op1_reg_class,
|
RegisterClass op1_reg_class,
|
||||||
DAGOperand op2_kind> {
|
DAGOperand op2_kind> {
|
||||||
def : VPatTernaryNoMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
def : VPatTernaryNoMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
||||||
mask_type, sew, vlmul, result_reg_class, op1_reg_class,
|
sew, vlmul, result_reg_class, op1_reg_class,
|
||||||
op2_kind>;
|
op2_kind>;
|
||||||
def : VPatTernaryMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
def : VPatTernaryMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
||||||
mask_type, sew, vlmul, result_reg_class, op1_reg_class,
|
mask_type, sew, vlmul, result_reg_class, op1_reg_class,
|
||||||
op2_kind>;
|
op2_kind>;
|
||||||
|
@ -3034,8 +3032,8 @@ multiclass VPatTernaryWithPolicy<string intrinsic,
|
||||||
RegisterClass op1_reg_class,
|
RegisterClass op1_reg_class,
|
||||||
DAGOperand op2_kind> {
|
DAGOperand op2_kind> {
|
||||||
def : VPatTernaryNoMaskWithPolicy<intrinsic, inst, kind, result_type, op1_type,
|
def : VPatTernaryNoMaskWithPolicy<intrinsic, inst, kind, result_type, op1_type,
|
||||||
op2_type, mask_type, sew, vlmul,
|
op2_type, sew, vlmul, result_reg_class,
|
||||||
result_reg_class, op1_reg_class, op2_kind>;
|
op1_reg_class, op2_kind>;
|
||||||
def : VPatTernaryMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
def : VPatTernaryMask<intrinsic, inst, kind, result_type, op1_type, op2_type,
|
||||||
mask_type, sew, vlmul, result_reg_class, op1_reg_class,
|
mask_type, sew, vlmul, result_reg_class, op1_reg_class,
|
||||||
op2_kind>;
|
op2_kind>;
|
||||||
|
|
|
@ -103,11 +103,9 @@ class VPatBinarySDNode_VV<SDNode vop,
|
||||||
string instruction_name,
|
string instruction_name,
|
||||||
ValueType result_type,
|
ValueType result_type,
|
||||||
ValueType op_type,
|
ValueType op_type,
|
||||||
ValueType mask_type,
|
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
OutPatFrag avl,
|
OutPatFrag avl,
|
||||||
VReg RetClass,
|
|
||||||
VReg op_reg_class> :
|
VReg op_reg_class> :
|
||||||
Pat<(result_type (vop
|
Pat<(result_type (vop
|
||||||
(op_type op_reg_class:$rs1),
|
(op_type op_reg_class:$rs1),
|
||||||
|
@ -122,11 +120,9 @@ class VPatBinarySDNode_XI<SDNode vop,
|
||||||
string suffix,
|
string suffix,
|
||||||
ValueType result_type,
|
ValueType result_type,
|
||||||
ValueType vop_type,
|
ValueType vop_type,
|
||||||
ValueType mask_type,
|
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
OutPatFrag avl,
|
OutPatFrag avl,
|
||||||
VReg RetClass,
|
|
||||||
VReg vop_reg_class,
|
VReg vop_reg_class,
|
||||||
ComplexPattern SplatPatKind,
|
ComplexPattern SplatPatKind,
|
||||||
DAGOperand xop_kind> :
|
DAGOperand xop_kind> :
|
||||||
|
@ -141,11 +137,11 @@ class VPatBinarySDNode_XI<SDNode vop,
|
||||||
multiclass VPatBinarySDNode_VV_VX<SDNode vop, string instruction_name> {
|
multiclass VPatBinarySDNode_VV_VX<SDNode vop, string instruction_name> {
|
||||||
foreach vti = AllIntegerVectors in {
|
foreach vti = AllIntegerVectors in {
|
||||||
def : VPatBinarySDNode_VV<vop, instruction_name,
|
def : VPatBinarySDNode_VV<vop, instruction_name,
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Log2SEW,
|
||||||
vti.LMul, vti.AVL, vti.RegClass, vti.RegClass>;
|
vti.LMul, vti.AVL, vti.RegClass>;
|
||||||
def : VPatBinarySDNode_XI<vop, instruction_name, "VX",
|
def : VPatBinarySDNode_XI<vop, instruction_name, "VX",
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Log2SEW,
|
||||||
vti.LMul, vti.AVL, vti.RegClass, vti.RegClass,
|
vti.LMul, vti.AVL, vti.RegClass,
|
||||||
SplatPat, GPR>;
|
SplatPat, GPR>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,8 +151,8 @@ multiclass VPatBinarySDNode_VV_VX_VI<SDNode vop, string instruction_name,
|
||||||
: VPatBinarySDNode_VV_VX<vop, instruction_name> {
|
: VPatBinarySDNode_VV_VX<vop, instruction_name> {
|
||||||
foreach vti = AllIntegerVectors in {
|
foreach vti = AllIntegerVectors in {
|
||||||
def : VPatBinarySDNode_XI<vop, instruction_name, "VI",
|
def : VPatBinarySDNode_XI<vop, instruction_name, "VI",
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Log2SEW,
|
||||||
vti.LMul, vti.AVL, vti.RegClass, vti.RegClass,
|
vti.LMul, vti.AVL, vti.RegClass,
|
||||||
!cast<ComplexPattern>(SplatPat#_#ImmType),
|
!cast<ComplexPattern>(SplatPat#_#ImmType),
|
||||||
ImmType>;
|
ImmType>;
|
||||||
}
|
}
|
||||||
|
@ -167,11 +163,9 @@ class VPatBinarySDNode_VF<SDNode vop,
|
||||||
ValueType result_type,
|
ValueType result_type,
|
||||||
ValueType vop_type,
|
ValueType vop_type,
|
||||||
ValueType xop_type,
|
ValueType xop_type,
|
||||||
ValueType mask_type,
|
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
OutPatFrag avl,
|
OutPatFrag avl,
|
||||||
VReg RetClass,
|
|
||||||
VReg vop_reg_class,
|
VReg vop_reg_class,
|
||||||
DAGOperand xop_kind> :
|
DAGOperand xop_kind> :
|
||||||
Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
|
Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
|
||||||
|
@ -184,11 +178,11 @@ class VPatBinarySDNode_VF<SDNode vop,
|
||||||
multiclass VPatBinaryFPSDNode_VV_VF<SDNode vop, string instruction_name> {
|
multiclass VPatBinaryFPSDNode_VV_VF<SDNode vop, string instruction_name> {
|
||||||
foreach vti = AllFloatVectors in {
|
foreach vti = AllFloatVectors in {
|
||||||
def : VPatBinarySDNode_VV<vop, instruction_name,
|
def : VPatBinarySDNode_VV<vop, instruction_name,
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Log2SEW,
|
||||||
vti.LMul, vti.AVL, vti.RegClass, vti.RegClass>;
|
vti.LMul, vti.AVL, vti.RegClass>;
|
||||||
def : VPatBinarySDNode_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
|
def : VPatBinarySDNode_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
|
||||||
vti.Vector, vti.Vector, vti.Scalar, vti.Mask,
|
vti.Vector, vti.Vector, vti.Scalar,
|
||||||
vti.Log2SEW, vti.LMul, vti.AVL, vti.RegClass, vti.RegClass,
|
vti.Log2SEW, vti.LMul, vti.AVL, vti.RegClass,
|
||||||
vti.ScalarRegClass>;
|
vti.ScalarRegClass>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,7 +273,6 @@ multiclass VPatBinaryVL_VV<SDNode vop,
|
||||||
ValueType mask_type,
|
ValueType mask_type,
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
VReg RetClass,
|
|
||||||
VReg op_reg_class> {
|
VReg op_reg_class> {
|
||||||
def : Pat<(result_type (vop
|
def : Pat<(result_type (vop
|
||||||
(op_type op_reg_class:$rs1),
|
(op_type op_reg_class:$rs1),
|
||||||
|
@ -304,7 +303,6 @@ multiclass VPatBinaryVL_XI<SDNode vop,
|
||||||
ValueType mask_type,
|
ValueType mask_type,
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
VReg RetClass,
|
|
||||||
VReg vop_reg_class,
|
VReg vop_reg_class,
|
||||||
ComplexPattern SplatPatKind,
|
ComplexPattern SplatPatKind,
|
||||||
DAGOperand xop_kind> {
|
DAGOperand xop_kind> {
|
||||||
|
@ -333,11 +331,10 @@ multiclass VPatBinaryVL_VV_VX<SDNode vop, string instruction_name> {
|
||||||
foreach vti = AllIntegerVectors in {
|
foreach vti = AllIntegerVectors in {
|
||||||
defm : VPatBinaryVL_VV<vop, instruction_name,
|
defm : VPatBinaryVL_VV<vop, instruction_name,
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, vti.RegClass, vti.RegClass>;
|
vti.LMul, vti.RegClass>;
|
||||||
defm : VPatBinaryVL_XI<vop, instruction_name, "VX",
|
defm : VPatBinaryVL_XI<vop, instruction_name, "VX",
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, vti.RegClass, vti.RegClass,
|
vti.LMul, vti.RegClass, SplatPat, GPR>;
|
||||||
SplatPat, GPR>;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -347,7 +344,7 @@ multiclass VPatBinaryVL_VV_VX_VI<SDNode vop, string instruction_name,
|
||||||
foreach vti = AllIntegerVectors in {
|
foreach vti = AllIntegerVectors in {
|
||||||
defm : VPatBinaryVL_XI<vop, instruction_name, "VI",
|
defm : VPatBinaryVL_XI<vop, instruction_name, "VI",
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, vti.RegClass, vti.RegClass,
|
vti.LMul, vti.RegClass,
|
||||||
!cast<ComplexPattern>(SplatPat#_#ImmType),
|
!cast<ComplexPattern>(SplatPat#_#ImmType),
|
||||||
ImmType>;
|
ImmType>;
|
||||||
}
|
}
|
||||||
|
@ -359,11 +356,10 @@ multiclass VPatBinaryWVL_VV_VX<SDNode vop, string instruction_name> {
|
||||||
defvar wti = VtiToWti.Wti;
|
defvar wti = VtiToWti.Wti;
|
||||||
defm : VPatBinaryVL_VV<vop, instruction_name,
|
defm : VPatBinaryVL_VV<vop, instruction_name,
|
||||||
wti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
wti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, wti.RegClass, vti.RegClass>;
|
vti.LMul, vti.RegClass>;
|
||||||
defm : VPatBinaryVL_XI<vop, instruction_name, "VX",
|
defm : VPatBinaryVL_XI<vop, instruction_name, "VX",
|
||||||
wti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
wti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, wti.RegClass, vti.RegClass,
|
vti.LMul, vti.RegClass, SplatPat, GPR>;
|
||||||
SplatPat, GPR>;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,7 +370,6 @@ class VPatBinaryVL_VF<SDNode vop,
|
||||||
ValueType mask_type,
|
ValueType mask_type,
|
||||||
int sew,
|
int sew,
|
||||||
LMULInfo vlmul,
|
LMULInfo vlmul,
|
||||||
VReg RetClass,
|
|
||||||
VReg vop_reg_class,
|
VReg vop_reg_class,
|
||||||
RegisterClass scalar_reg_class> :
|
RegisterClass scalar_reg_class> :
|
||||||
Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
|
Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
|
||||||
|
@ -390,11 +385,10 @@ multiclass VPatBinaryFPVL_VV_VF<SDNode vop, string instruction_name> {
|
||||||
foreach vti = AllFloatVectors in {
|
foreach vti = AllFloatVectors in {
|
||||||
defm : VPatBinaryVL_VV<vop, instruction_name,
|
defm : VPatBinaryVL_VV<vop, instruction_name,
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, vti.RegClass, vti.RegClass>;
|
vti.LMul, vti.RegClass>;
|
||||||
def : VPatBinaryVL_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
|
def : VPatBinaryVL_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
|
||||||
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
vti.Vector, vti.Vector, vti.Mask, vti.Log2SEW,
|
||||||
vti.LMul, vti.RegClass, vti.RegClass,
|
vti.LMul, vti.RegClass, vti.ScalarRegClass>;
|
||||||
vti.ScalarRegClass>;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -372,7 +372,7 @@ class NFList<int lmul> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate [start, end) SubRegIndex list.
|
// Generate [start, end) SubRegIndex list.
|
||||||
class SubRegSet<list<SubRegIndex> LIn, int start, int nf, int lmul> {
|
class SubRegSet<int nf, int lmul> {
|
||||||
list<SubRegIndex> L = !foldl([]<SubRegIndex>,
|
list<SubRegIndex> L = !foldl([]<SubRegIndex>,
|
||||||
[0, 1, 2, 3, 4, 5, 6, 7],
|
[0, 1, 2, 3, 4, 5, 6, 7],
|
||||||
AccList, i,
|
AccList, i,
|
||||||
|
@ -463,10 +463,10 @@ let RegAltNameIndices = [ABIRegAltName] in {
|
||||||
foreach m = [1, 2, 4] in {
|
foreach m = [1, 2, 4] in {
|
||||||
foreach n = NFList<m>.L in {
|
foreach n = NFList<m>.L in {
|
||||||
def "VN" # n # "M" # m # "NoV0": RegisterTuples<
|
def "VN" # n # "M" # m # "NoV0": RegisterTuples<
|
||||||
SubRegSet<[], 0, n, m>.L,
|
SubRegSet<n, m>.L,
|
||||||
VRegList<[], 0, n, m, 1>.L>;
|
VRegList<[], 0, n, m, 1>.L>;
|
||||||
def "VN" # n # "M" # m # "V0" : RegisterTuples<
|
def "VN" # n # "M" # m # "V0" : RegisterTuples<
|
||||||
SubRegSet<[], 0, n, m>.L,
|
SubRegSet<n, m>.L,
|
||||||
VRegList<[], 0, n, m, 0>.L>;
|
VRegList<[], 0, n, m, 0>.L>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue