@@ -733,7 +733,8 @@ def HasStdExtZfhOrZvfh
733
733
734
734
def FeatureStdExtZvkb
735
735
: RISCVExtension<"zvkb", 1, 0,
736
- "'Zvkb' (Vector Bit-manipulation used in Cryptography)">,
736
+ "'Zvkb' (Vector Bit-manipulation used in Cryptography)",
737
+ [FeatureStdExtZve32x]>,
737
738
RISCVExtensionBitmask<0, 52>;
738
739
def HasStdExtZvkb : Predicate<"Subtarget->hasStdExtZvkb()">,
739
740
AssemblerPredicate<(all_of FeatureStdExtZvkb),
@@ -750,23 +751,26 @@ def HasStdExtZvbb : Predicate<"Subtarget->hasStdExtZvbb()">,
750
751
751
752
def FeatureStdExtZvbc
752
753
: RISCVExtension<"zvbc", 1, 0,
753
- "'Zvbc' (Vector Carryless Multiplication)">,
754
+ "'Zvbc' (Vector Carryless Multiplication)",
755
+ [FeatureStdExtZve64x]>,
754
756
RISCVExtensionBitmask<0, 49>;
755
757
def HasStdExtZvbc : Predicate<"Subtarget->hasStdExtZvbc()">,
756
758
AssemblerPredicate<(all_of FeatureStdExtZvbc),
757
759
"'Zvbc' (Vector Carryless Multiplication)">;
758
760
759
761
def FeatureStdExtZvbc32e
760
762
: RISCVExperimentalExtension<"zvbc32e", 0, 7,
761
- "'Zvbc32e' (Vector Carryless Multiplication with 32-bits elements)">;
763
+ "'Zvbc32e' (Vector Carryless Multiplication with 32-bits elements)",
764
+ [FeatureStdExtZve32x]>;
762
765
763
766
def HasStdExtZvbcOrZvbc32e : Predicate<"Subtarget->hasStdExtZvbc() || Subtarget->hasStdExtZvbc32e()">,
764
767
AssemblerPredicate<(any_of FeatureStdExtZvbc, FeatureStdExtZvbc32e),
765
768
"'Zvbc' or 'Zvbc32e' (Vector Carryless Multiplication)">;
766
769
767
770
def FeatureStdExtZvkg
768
771
: RISCVExtension<"zvkg", 1, 0,
769
- "'Zvkg' (Vector GCM instructions for Cryptography)">,
772
+ "'Zvkg' (Vector GCM instructions for Cryptography)",
773
+ [FeatureStdExtZve32x]>,
770
774
RISCVExtensionBitmask<0, 53>;
771
775
def HasStdExtZvkg : Predicate<"Subtarget->hasStdExtZvkg()">,
772
776
AssemblerPredicate<(all_of FeatureStdExtZvkg),
@@ -782,23 +786,26 @@ def HasStdExtZvkgs : Predicate<"Subtarget->hasStdExtZvkgs()">,
782
786
783
787
def FeatureStdExtZvkned
784
788
: RISCVExtension<"zvkned", 1, 0,
785
- "'Zvkned' (Vector AES Encryption & Decryption (Single Round))">,
789
+ "'Zvkned' (Vector AES Encryption & Decryption (Single Round))",
790
+ [FeatureStdExtZve32x]>,
786
791
RISCVExtensionBitmask<0, 54>;
787
792
def HasStdExtZvkned : Predicate<"Subtarget->hasStdExtZvkned()">,
788
793
AssemblerPredicate<(all_of FeatureStdExtZvkned),
789
794
"'Zvkned' (Vector AES Encryption & Decryption (Single Round))">;
790
795
791
796
def FeatureStdExtZvknha
792
797
: RISCVExtension<"zvknha", 1, 0,
793
- "'Zvknha' (Vector SHA-2 (SHA-256 only))">,
798
+ "'Zvknha' (Vector SHA-2 (SHA-256 only))",
799
+ [FeatureStdExtZve32x]>,
794
800
RISCVExtensionBitmask<0, 55>;
795
801
def HasStdExtZvknha : Predicate<"Subtarget->hasStdExtZvknha()">,
796
802
AssemblerPredicate<(all_of FeatureStdExtZvknha),
797
803
"'Zvknha' (Vector SHA-2 (SHA-256 only))">;
798
804
799
805
def FeatureStdExtZvknhb
800
806
: RISCVExtension<"zvknhb", 1, 0,
801
- "'Zvknhb' (Vector SHA-2 (SHA-256 and SHA-512))">,
807
+ "'Zvknhb' (Vector SHA-2 (SHA-256 and SHA-512))",
808
+ [FeatureStdExtZve64x]>,
802
809
RISCVExtensionBitmask<0, 56>;
803
810
def HasStdExtZvknhb : Predicate<"Subtarget->hasStdExtZvknhb()">,
804
811
AssemblerPredicate<(all_of FeatureStdExtZvknhb),
@@ -810,15 +817,17 @@ def HasStdExtZvknhaOrZvknhb : Predicate<"Subtarget->hasStdExtZvknha() || Subtarg
810
817
811
818
def FeatureStdExtZvksed
812
819
: RISCVExtension<"zvksed", 1, 0,
813
- "'Zvksed' (SM4 Block Cipher Instructions)">,
820
+ "'Zvksed' (SM4 Block Cipher Instructions)",
821
+ [FeatureStdExtZve32x]>,
814
822
RISCVExtensionBitmask<0, 57>;
815
823
def HasStdExtZvksed : Predicate<"Subtarget->hasStdExtZvksed()">,
816
824
AssemblerPredicate<(all_of FeatureStdExtZvksed),
817
825
"'Zvksed' (SM4 Block Cipher Instructions)">;
818
826
819
827
def FeatureStdExtZvksh
820
828
: RISCVExtension<"zvksh", 1, 0,
821
- "'Zvksh' (SM3 Hash Function Instructions)">,
829
+ "'Zvksh' (SM3 Hash Function Instructions)",
830
+ [FeatureStdExtZve32x]>,
822
831
RISCVExtensionBitmask<0, 58>;
823
832
def HasStdExtZvksh : Predicate<"Subtarget->hasStdExtZvksh()">,
824
833
AssemblerPredicate<(all_of FeatureStdExtZvksh),
0 commit comments