[llvm] [RISCV] Add nf argument to VReg class instead overriding with a let. NFC (PR #131235)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 13 15:56:04 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Craig Topper (topperc)
<details>
<summary>Changes</summary>
This treats nf consistently with LMul.
---
Full diff: https://github.com/llvm/llvm-project/pull/131235.diff
1 Files Affected:
- (modified) llvm/lib/Target/RISCV/RISCVRegisterInfo.td (+11-12)
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
index bbb1e82fbadaa..5eb362156a644 100644
--- a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+++ b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
@@ -713,12 +713,13 @@ foreach m = [1, 2, 4] in {
}
}
-class VReg<list<ValueType> regTypes, dag regList, int Vlmul>
+class VReg<list<ValueType> regTypes, dag regList, int Vlmul, int nf = 1>
: RISCVRegisterClass<regTypes,
64, // The maximum supported ELEN is 64.
regList> {
let IsVRegClass = 1;
let VLMul = Vlmul;
+ let NF = nf;
}
defvar VMaskVTs = [vbool1_t, vbool2_t, vbool4_t, vbool8_t, vbool16_t,
@@ -799,17 +800,15 @@ class VTupRegList<int LMUL, int NF> {
foreach m = LMULList in {
foreach nf = NFList<m>.L in {
- let NF = nf in {
- def "VRN" # nf # "M" # m # "NoV0"
- : VReg<VTupRegList<m, nf>.L,
- (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0")),
- m>;
- def "VRN" # nf # "M" # m
- : VReg<VTupRegList<m, nf>.L,
- (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0"),
- !cast<RegisterTuples>("VN" # nf # "M" # m # "V0")),
- m>;
- }
+ def "VRN" # nf # "M" # m # "NoV0"
+ : VReg<VTupRegList<m, nf>.L,
+ (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0")),
+ m, nf>;
+ def "VRN" # nf # "M" # m
+ : VReg<VTupRegList<m, nf>.L,
+ (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0"),
+ !cast<RegisterTuples>("VN" # nf # "M" # m # "V0")),
+ m, nf>;
}
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/131235
More information about the llvm-commits
mailing list