[llvm] [RISCV] Add extension information to RISCVFeatures.td. NFC (PR #89326)
Pengcheng Wang via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 21 23:33:46 PDT 2024
================
@@ -500,136 +538,138 @@ def HasStdExtZkndOrZkne
"'Zkne' (NIST Suite: AES Encryption)">;
def FeatureStdExtZknh
- : SubtargetFeature<"zknh", "HasStdExtZknh", "true",
- "'Zknh' (NIST Suite: Hash Function Instructions)">;
+ : RISCVExtension<"zknh", 1, 0,
+ "'Zknh' (NIST Suite: Hash Function Instructions)">;
def HasStdExtZknh : Predicate<"Subtarget->hasStdExtZknh()">,
AssemblerPredicate<(all_of FeatureStdExtZknh),
"'Zknh' (NIST Suite: Hash Function Instructions)">;
def FeatureStdExtZksed
- : SubtargetFeature<"zksed", "HasStdExtZksed", "true",
- "'Zksed' (ShangMi Suite: SM4 Block Cipher Instructions)">;
+ : RISCVExtension<"zksed", 1, 0,
+ "'Zksed' (ShangMi Suite: SM4 Block Cipher Instructions)">;
def HasStdExtZksed : Predicate<"Subtarget->hasStdExtZksed()">,
AssemblerPredicate<(all_of FeatureStdExtZksed),
"'Zksed' (ShangMi Suite: SM4 Block Cipher Instructions)">;
def FeatureStdExtZksh
- : SubtargetFeature<"zksh", "HasStdExtZksh", "true",
- "'Zksh' (ShangMi Suite: SM3 Hash Function Instructions)">;
+ : RISCVExtension<"zksh", 1, 0,
+ "'Zksh' (ShangMi Suite: SM3 Hash Function Instructions)">;
def HasStdExtZksh : Predicate<"Subtarget->hasStdExtZksh()">,
AssemblerPredicate<(all_of FeatureStdExtZksh),
"'Zksh' (ShangMi Suite: SM3 Hash Function Instructions)">;
def FeatureStdExtZkr
- : SubtargetFeature<"zkr", "HasStdExtZkr", "true",
- "'Zkr' (Entropy Source Extension)">;
+ : RISCVExtension<"zkr", 1, 0,
+ "'Zkr' (Entropy Source Extension)">;
def HasStdExtZkr : Predicate<"Subtarget->hasStdExtZkr()">,
AssemblerPredicate<(all_of FeatureStdExtZkr),
"'Zkr' (Entropy Source Extension)">;
def FeatureStdExtZkn
- : SubtargetFeature<"zkn", "HasStdExtZkn", "true",
- "'Zkn' (NIST Algorithm Suite)",
- [FeatureStdExtZbkb,
- FeatureStdExtZbkc,
- FeatureStdExtZbkx,
- FeatureStdExtZkne,
- FeatureStdExtZknd,
- FeatureStdExtZknh]>;
+ : RISCVExtension<"zkn", 1, 0,
+ "'Zkn' (NIST Algorithm Suite)",
+ [FeatureStdExtZbkb,
+ FeatureStdExtZbkc,
+ FeatureStdExtZbkx,
+ FeatureStdExtZkne,
+ FeatureStdExtZknd,
+ FeatureStdExtZknh]>;
def FeatureStdExtZks
- : SubtargetFeature<"zks", "HasStdExtZks", "true",
- "'Zks' (ShangMi Algorithm Suite)",
- [FeatureStdExtZbkb,
- FeatureStdExtZbkc,
- FeatureStdExtZbkx,
- FeatureStdExtZksed,
- FeatureStdExtZksh]>;
+ : RISCVExtension<"zks", 1, 0,
+ "'Zks' (ShangMi Algorithm Suite)",
+ [FeatureStdExtZbkb,
+ FeatureStdExtZbkc,
+ FeatureStdExtZbkx,
+ FeatureStdExtZksed,
+ FeatureStdExtZksh]>;
def FeatureStdExtZkt
- : SubtargetFeature<"zkt", "HasStdExtZkt", "true",
- "'Zkt' (Data Independent Execution Latency)">;
+ : RISCVExtension<"zkt", 1, 0,
+ "'Zkt' (Data Independent Execution Latency)">;
def FeatureStdExtZk
- : SubtargetFeature<"zk", "HasStdExtZk", "true",
- "'Zk' (Standard scalar cryptography extension)",
- [FeatureStdExtZkn,
- FeatureStdExtZkr,
- FeatureStdExtZkt]>;
+ : RISCVExtension<"zk", 1, 0,
+ "'Zk' (Standard scalar cryptography extension)",
+ [FeatureStdExtZkn,
+ FeatureStdExtZkr,
+ FeatureStdExtZkt]>;
// Vector Extensions
-def FeatureStdExtZvl32b : SubtargetFeature<"zvl32b", "ZvlLen", "32",
- "'Zvl' (Minimum Vector Length) 32">;
+def FeatureStdExtZvl32b : RISCVExtension<"zvl32b", 1, 0,
+ "'Zvl' (Minimum Vector Length) 32", [],
+ "ZvlLen", "32">;
----------------
wangpc-pp wrote:
Indent.
https://github.com/llvm/llvm-project/pull/89326
More information about the llvm-commits
mailing list