@@ -4916,8 +4916,8 @@ multiclass VPatBinaryV_VV_INT_EEW<string intrinsic, string instruction,
4916
4916
defvar emul_str = octuple_to_str<octuple_emul>.ret;
4917
4917
defvar ivti = !cast<VTypeInfo>("VI" # eew # emul_str);
4918
4918
defvar inst = instruction # "_VV_" # vti.LMul.MX # "_E" # vti.SEW # "_" # emul_str;
4919
- let Predicates = !listconcat(GetVTypePredicates <vti>.Predicates,
4920
- GetVTypePredicates <ivti>.Predicates) in
4919
+ let Predicates = !listconcat(GetVTypeMinimalPredicates <vti>.Predicates,
4920
+ GetVTypeMinimalPredicates <ivti>.Predicates) in
4921
4921
defm : VPatBinary<intrinsic, inst,
4922
4922
vti.Vector, vti.Vector, ivti.Vector, vti.Mask,
4923
4923
vti.Log2SEW, vti.RegClass,
@@ -5584,7 +5584,7 @@ multiclass VPatTernaryV_VV_AAXA_RM<string intrinsic, string instruction,
5584
5584
multiclass VPatTernaryV_VX<string intrinsic, string instruction,
5585
5585
list<VTypeInfo> vtilist> {
5586
5586
foreach vti = vtilist in
5587
- let Predicates = GetVTypePredicates <vti>.Predicates in
5587
+ let Predicates = GetVTypeMinimalPredicates <vti>.Predicates in
5588
5588
defm : VPatTernaryWithPolicy<intrinsic, instruction, "VX",
5589
5589
vti.Vector, vti.Vector, XLenVT, vti.Mask,
5590
5590
vti.Log2SEW, vti.LMul, vti.RegClass,
@@ -5616,7 +5616,7 @@ multiclass VPatTernaryV_VX_AAXA_RM<string intrinsic, string instruction,
5616
5616
multiclass VPatTernaryV_VI<string intrinsic, string instruction,
5617
5617
list<VTypeInfo> vtilist, Operand Imm_type> {
5618
5618
foreach vti = vtilist in
5619
- let Predicates = GetVTypePredicates <vti>.Predicates in
5619
+ let Predicates = GetVTypeMinimalPredicates <vti>.Predicates in
5620
5620
defm : VPatTernaryWithPolicy<intrinsic, instruction, "VI",
5621
5621
vti.Vector, vti.Vector, XLenVT, vti.Mask,
5622
5622
vti.Log2SEW, vti.LMul, vti.RegClass,
@@ -7414,12 +7414,8 @@ defm : VPatTernaryV_VX_VI<"int_riscv_vslidedown", "PseudoVSLIDEDOWN", AllInteger
7414
7414
defm : VPatBinaryV_VX<"int_riscv_vslide1up", "PseudoVSLIDE1UP", AllIntegerVectors>;
7415
7415
defm : VPatBinaryV_VX<"int_riscv_vslide1down", "PseudoVSLIDE1DOWN", AllIntegerVectors>;
7416
7416
7417
- defm : VPatTernaryV_VX_VI<"int_riscv_vslideup", "PseudoVSLIDEUP", AllFloatVectorsExceptFP16, uimm5>;
7418
- let Predicates = [HasVInstructionsF16Minimal] in
7419
- defm : VPatTernaryV_VX_VI<"int_riscv_vslideup", "PseudoVSLIDEUP", AllFP16Vectors, uimm5>;
7420
- defm : VPatTernaryV_VX_VI<"int_riscv_vslidedown", "PseudoVSLIDEDOWN", AllFloatVectorsExceptFP16, uimm5>;
7421
- let Predicates = [HasVInstructionsF16Minimal] in
7422
- defm : VPatTernaryV_VX_VI<"int_riscv_vslidedown", "PseudoVSLIDEDOWN", AllFP16Vectors, uimm5>;
7417
+ defm : VPatTernaryV_VX_VI<"int_riscv_vslideup", "PseudoVSLIDEUP", AllFloatVectors, uimm5>;
7418
+ defm : VPatTernaryV_VX_VI<"int_riscv_vslidedown", "PseudoVSLIDEDOWN", AllFloatVectors, uimm5>;
7423
7419
defm : VPatBinaryV_VX<"int_riscv_vfslide1up", "PseudoVFSLIDE1UP", AllFloatVectors>;
7424
7420
defm : VPatBinaryV_VX<"int_riscv_vfslide1down", "PseudoVFSLIDE1DOWN", AllFloatVectors>;
7425
7421
@@ -7436,10 +7432,7 @@ defm : VPatBinaryV_VV_VX_VI_INT<"int_riscv_vrgather", "PseudoVRGATHER",
7436
7432
defm : VPatBinaryV_VV_VX_VI_INT<"int_riscv_vrgather", "PseudoVRGATHER",
7437
7433
AllBFloatVectors, uimm5>;
7438
7434
defm : VPatBinaryV_VV_INT_EEW<"int_riscv_vrgatherei16_vv", "PseudoVRGATHEREI16",
7439
- eew=16, vtilist=AllFloatVectorsExceptFP16>;
7440
- let Predicates = [HasVInstructionsF16Minimal] in
7441
- defm : VPatBinaryV_VV_INT_EEW<"int_riscv_vrgatherei16_vv", "PseudoVRGATHEREI16",
7442
- eew=16, vtilist=AllFP16Vectors>;
7435
+ eew=16, vtilist=AllFloatVectors>;
7443
7436
//===----------------------------------------------------------------------===//
7444
7437
// 16.5. Vector Compress Instruction
7445
7438
//===----------------------------------------------------------------------===//
0 commit comments