diff --git a/llvm/lib/Target/RISCV/RISCVFeatures.td b/llvm/lib/Target/RISCV/RISCVFeatures.td --- a/llvm/lib/Target/RISCV/RISCVFeatures.td +++ b/llvm/lib/Target/RISCV/RISCVFeatures.td @@ -560,16 +560,6 @@ AssemblerPredicate<(all_of FeatureStdExtZvkg), "'Zvkg' (Vector GCM instructions for Cryptography)">; -def FeatureStdExtZvkn - : SubtargetFeature<"experimental-zvkn", "HasStdExtZvkn", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvkned, Zvknhb, Zvbb, Zvbc, and Zvkt.">; - -def FeatureStdExtZvknc - : SubtargetFeature<"experimental-zvknc", "HasStdExtZvknc", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvkn and Zvbc.">; - def FeatureStdExtZvkned : SubtargetFeature<"experimental-zvkned", "HasStdExtZvkned", "true", "'Zvkned' (Vector AES Encryption & Decryption (Single Round))">; @@ -577,11 +567,6 @@ AssemblerPredicate<(all_of FeatureStdExtZvkned), "'Zvkned' (Vector AES Encryption & Decryption (Single Round))">; -def FeatureStdExtZvkng - : SubtargetFeature<"experimental-zvkng", "HasStdExtZvkng", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvkn and Zvkg.">; - def FeatureStdExtZvknha : SubtargetFeature<"experimental-zvknha", "HasStdExtZvknha", "true", "'Zvknha' (Vector SHA-2 (SHA-256 only))">; @@ -594,16 +579,6 @@ AssemblerPredicate<(all_of FeatureStdExtZvknha), "'Zvknha' (Vector SHA-2 (SHA-256 only))">; -def FeatureStdExtZvks - : SubtargetFeature<"experimental-zvks", "HasStdExtZvks", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvksed, Zvksh, Zvbb, Zvbc, and Zvkt.">; - -def FeatureStdExtZvksc - : SubtargetFeature<"experimental-zvksc", "HasStdExtZvksc", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvks and Zvbc.">; - def FeatureStdExtZvksed : SubtargetFeature<"experimental-zvksed", "HasStdExtZvksed", "true", "'Zvksed' (SM4 Block Cipher Instructions)">; @@ -611,11 +586,6 @@ AssemblerPredicate<(all_of FeatureStdExtZvksed), "'Zvksed' (SM4 Block Cipher Instructions)">; -def FeatureStdExtZvksg - : SubtargetFeature<"experimental-zvksg", "HasStdExtZvksg", "true", - "This extension is shorthand for the following set of " - "other extensions: Zvks and Zvkg.">; - def FeatureStdExtZvksh : SubtargetFeature<"experimental-zvksh", "HasStdExtZvksh", "true", "'Zvksh' (SM3 Hash Function Instructions)">; @@ -627,6 +597,46 @@ : SubtargetFeature<"experimental-zvkt", "HasStdExtZvkt", "true", "'Zvkt' (Vector Data-Independent Execution Latency)">; +// Zvk short-hand extensions + +def FeatureStdExtZvkn + : SubtargetFeature<"experimental-zvkn", "HasStdExtZvkn", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvkned, Zvknhb, Zvbb and Zvkt.", + [FeatureStdExtZvkned, FeatureStdExtZvknhb, + FeatureStdExtZvbb, FeatureStdExtZvkt]>; + +def FeatureStdExtZvknc + : SubtargetFeature<"experimental-zvknc", "HasStdExtZvknc", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvkn and Zvbc.", + [FeatureStdExtZvkn, FeatureStdExtZvbc]>; + +def FeatureStdExtZvkng + : SubtargetFeature<"experimental-zvkng", "HasStdExtZvkng", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvkn and Zvkg.", + [FeatureStdExtZvkn, FeatureStdExtZvkg]>; + +def FeatureStdExtZvks + : SubtargetFeature<"experimental-zvks", "HasStdExtZvks", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvksed, Zvksh, Zvbb and Zvkt.", + [FeatureStdExtZvksed, FeatureStdExtZvksh, + FeatureStdExtZvbb, FeatureStdExtZvkt]>; + +def FeatureStdExtZvksc + : SubtargetFeature<"experimental-zvksc", "HasStdExtZvksc", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvks and Zvbc.", + [FeatureStdExtZvks, FeatureStdExtZvbc]>; + +def FeatureStdExtZvksg + : SubtargetFeature<"experimental-zvksg", "HasStdExtZvksg", "true", + "This extension is shorthand for the following set of " + "other extensions: Zvks and Zvkg.", + [FeatureStdExtZvks, FeatureStdExtZvkg]>; + def FeatureStdExtZicond : SubtargetFeature<"experimental-zicond", "HasStdExtZicond", "true", "'Zicond' (Integer Conditional Operations)">;