@@ -710,12 +710,13 @@ foreach m = [1, 2, 4] in {
710
710
}
711
711
}
712
712
713
- class VReg<list<ValueType> regTypes, dag regList, int Vlmul>
713
+ class VReg<list<ValueType> regTypes, dag regList, int Vlmul, int nf = 1 >
714
714
: RISCVRegisterClass<regTypes,
715
715
64, // The maximum supported ELEN is 64.
716
716
regList> {
717
717
let IsVRegClass = 1;
718
718
let VLMul = Vlmul;
719
+ let NF = nf;
719
720
720
721
let Size = !mul(VLMul, NF, 64);
721
722
let CopyCost = !mul(VLMul, NF);
@@ -799,17 +800,15 @@ class VTupRegList<int LMUL, int NF> {
799
800
800
801
foreach m = LMULList in {
801
802
foreach nf = NFList<m>.L in {
802
- let NF = nf in {
803
- def "VRN" # nf # "M" # m # "NoV0"
804
- : VReg<VTupRegList<m, nf>.L,
805
- (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0")),
806
- m>;
807
- def "VRN" # nf # "M" # m
808
- : VReg<VTupRegList<m, nf>.L,
809
- (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0"),
810
- !cast<RegisterTuples>("VN" # nf # "M" # m # "V0")),
811
- m>;
812
- }
803
+ def "VRN" # nf # "M" # m # "NoV0"
804
+ : VReg<VTupRegList<m, nf>.L,
805
+ (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0")),
806
+ m, nf>;
807
+ def "VRN" # nf # "M" # m
808
+ : VReg<VTupRegList<m, nf>.L,
809
+ (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0"),
810
+ !cast<RegisterTuples>("VN" # nf # "M" # m # "V0")),
811
+ m, nf>;
813
812
}
814
813
}
815
814
0 commit comments