Skip to content

Commit 84b3fe6

Browse files
committed
[RISCV] Flatten VPatBinaryW_VI_VWSLL and VPatBinaryW_VX_VWSLL into VPatBinaryW_VV_VX_VI_VWSLL. NFC
1 parent 5e94163 commit 84b3fe6

File tree

1 file changed

+13
-25
lines changed

1 file changed

+13
-25
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,39 +1031,27 @@ multiclass VPatBinaryV_VV_VX_VI_VROR<string intrinsic, string instruction,
10311031
VPatBinaryV_VX_VROTATE<intrinsic, instruction, vtilist>,
10321032
VPatBinaryV_VI<intrinsic, instruction, vtilist, ImmType>;
10331033

1034-
multiclass VPatBinaryW_VI_VWSLL<string intrinsic, string instruction,
1035-
list<VTypeInfoToWide> vtilist> {
1036-
foreach VtiToWti = vtilist in {
1037-
defvar Vti = VtiToWti.Vti;
1038-
defvar Wti = VtiToWti.Wti;
1039-
defm : VPatBinary<intrinsic, instruction # "_VI_" # Vti.LMul.MX,
1040-
Wti.Vector, Vti.Vector, XLenVT, Vti.Mask,
1041-
Vti.Log2SEW, Wti.RegClass,
1042-
Vti.RegClass, uimm5>;
1043-
}
1044-
}
1045-
1046-
multiclass VPatBinaryW_VX_VWSLL<string intrinsic, string instruction,
1047-
list<VTypeInfoToWide> vtilist> {
1034+
multiclass VPatBinaryW_VV_VX_VI_VWSLL<string intrinsic, string instruction,
1035+
list<VTypeInfoToWide> vtilist>
1036+
: VPatBinaryW_VV<intrinsic, instruction, vtilist> {
10481037
foreach VtiToWti = vtilist in {
10491038
defvar Vti = VtiToWti.Vti;
10501039
defvar Wti = VtiToWti.Wti;
10511040
defvar kind = "V"#Vti.ScalarSuffix;
10521041
let Predicates = !listconcat(GetVTypePredicates<Vti>.Predicates,
1053-
GetVTypePredicates<Wti>.Predicates) in
1054-
defm : VPatBinary<intrinsic, instruction#"_"#kind#"_"#Vti.LMul.MX,
1055-
Wti.Vector, Vti.Vector, XLenVT, Vti.Mask,
1056-
Vti.Log2SEW, Wti.RegClass,
1057-
Vti.RegClass, Vti.ScalarRegClass>;
1042+
GetVTypePredicates<Wti>.Predicates) in {
1043+
defm : VPatBinary<intrinsic, instruction#"_"#kind#"_"#Vti.LMul.MX,
1044+
Wti.Vector, Vti.Vector, XLenVT, Vti.Mask,
1045+
Vti.Log2SEW, Wti.RegClass,
1046+
Vti.RegClass, Vti.ScalarRegClass>;
1047+
defm : VPatBinary<intrinsic, instruction # "_VI_" # Vti.LMul.MX,
1048+
Wti.Vector, Vti.Vector, XLenVT, Vti.Mask,
1049+
Vti.Log2SEW, Wti.RegClass,
1050+
Vti.RegClass, uimm5>;
1051+
}
10581052
}
10591053
}
10601054

1061-
multiclass VPatBinaryW_VV_VX_VI_VWSLL<string intrinsic, string instruction,
1062-
list<VTypeInfoToWide> vtilist>
1063-
: VPatBinaryW_VV<intrinsic, instruction, vtilist>,
1064-
VPatBinaryW_VX_VWSLL<intrinsic, instruction, vtilist>,
1065-
VPatBinaryW_VI_VWSLL<intrinsic, instruction, vtilist>;
1066-
10671055
let Predicates = [HasStdExtZvbb] in {
10681056
defm : VPatUnaryV_V<"int_riscv_vbrev", "PseudoVBREV", AllIntegerVectors>;
10691057
defm : VPatUnaryV_V<"int_riscv_vclz", "PseudoVCLZ", AllIntegerVectors>;

0 commit comments

Comments
 (0)