Skip to content

Commit 682f1a5

Browse files
[RISCV] Allow crypto features to imply dependents
1 parent 47e6d18 commit 682f1a5

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

llvm/lib/Target/RISCV/RISCVFeatures.td

+8
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,7 @@ def HasStdExtZfhOrZvfh
734734
def FeatureStdExtZvkb
735735
: RISCVExtension<"zvkb", 1, 0,
736736
"'Zvkb' (Vector Bit-manipulation used in Cryptography)">,
737+
[FeatureStdExtZve32x]>,
737738
RISCVExtensionBitmask<0, 52>;
738739
def HasStdExtZvkb : Predicate<"Subtarget->hasStdExtZvkb()">,
739740
AssemblerPredicate<(all_of FeatureStdExtZvkb),
@@ -751,6 +752,7 @@ def HasStdExtZvbb : Predicate<"Subtarget->hasStdExtZvbb()">,
751752
def FeatureStdExtZvbc
752753
: RISCVExtension<"zvbc", 1, 0,
753754
"'Zvbc' (Vector Carryless Multiplication)">,
755+
[FeatureStdExtZve64x]>,
754756
RISCVExtensionBitmask<0, 49>;
755757
def HasStdExtZvbc : Predicate<"Subtarget->hasStdExtZvbc()">,
756758
AssemblerPredicate<(all_of FeatureStdExtZvbc),
@@ -767,6 +769,7 @@ def HasStdExtZvbcOrZvbc32e : Predicate<"Subtarget->hasStdExtZvbc() || Subtarget-
767769
def FeatureStdExtZvkg
768770
: RISCVExtension<"zvkg", 1, 0,
769771
"'Zvkg' (Vector GCM instructions for Cryptography)">,
772+
[FeatureStdExtZve32x]>,
770773
RISCVExtensionBitmask<0, 53>;
771774
def HasStdExtZvkg : Predicate<"Subtarget->hasStdExtZvkg()">,
772775
AssemblerPredicate<(all_of FeatureStdExtZvkg),
@@ -783,6 +786,7 @@ def HasStdExtZvkgs : Predicate<"Subtarget->hasStdExtZvkgs()">,
783786
def FeatureStdExtZvkned
784787
: RISCVExtension<"zvkned", 1, 0,
785788
"'Zvkned' (Vector AES Encryption & Decryption (Single Round))">,
789+
[FeatureStdExtZve32x]>,
786790
RISCVExtensionBitmask<0, 54>;
787791
def HasStdExtZvkned : Predicate<"Subtarget->hasStdExtZvkned()">,
788792
AssemblerPredicate<(all_of FeatureStdExtZvkned),
@@ -791,6 +795,7 @@ def HasStdExtZvkned : Predicate<"Subtarget->hasStdExtZvkned()">,
791795
def FeatureStdExtZvknha
792796
: RISCVExtension<"zvknha", 1, 0,
793797
"'Zvknha' (Vector SHA-2 (SHA-256 only))">,
798+
[FeatureStdExtZve32x]>,
794799
RISCVExtensionBitmask<0, 55>;
795800
def HasStdExtZvknha : Predicate<"Subtarget->hasStdExtZvknha()">,
796801
AssemblerPredicate<(all_of FeatureStdExtZvknha),
@@ -799,6 +804,7 @@ def HasStdExtZvknha : Predicate<"Subtarget->hasStdExtZvknha()">,
799804
def FeatureStdExtZvknhb
800805
: RISCVExtension<"zvknhb", 1, 0,
801806
"'Zvknhb' (Vector SHA-2 (SHA-256 and SHA-512))">,
807+
[FeatureStdExtZve64x]>,
802808
RISCVExtensionBitmask<0, 56>;
803809
def HasStdExtZvknhb : Predicate<"Subtarget->hasStdExtZvknhb()">,
804810
AssemblerPredicate<(all_of FeatureStdExtZvknhb),
@@ -811,6 +817,7 @@ def HasStdExtZvknhaOrZvknhb : Predicate<"Subtarget->hasStdExtZvknha() || Subtarg
811817
def FeatureStdExtZvksed
812818
: RISCVExtension<"zvksed", 1, 0,
813819
"'Zvksed' (SM4 Block Cipher Instructions)">,
820+
[FeatureStdExtZve32x]>,
814821
RISCVExtensionBitmask<0, 57>;
815822
def HasStdExtZvksed : Predicate<"Subtarget->hasStdExtZvksed()">,
816823
AssemblerPredicate<(all_of FeatureStdExtZvksed),
@@ -819,6 +826,7 @@ def HasStdExtZvksed : Predicate<"Subtarget->hasStdExtZvksed()">,
819826
def FeatureStdExtZvksh
820827
: RISCVExtension<"zvksh", 1, 0,
821828
"'Zvksh' (SM3 Hash Function Instructions)">,
829+
[FeatureStdExtZve32x]>,
822830
RISCVExtensionBitmask<0, 58>;
823831
def HasStdExtZvksh : Predicate<"Subtarget->hasStdExtZvksh()">,
824832
AssemblerPredicate<(all_of FeatureStdExtZvksh),

0 commit comments

Comments
 (0)