@@ -469,6 +469,7 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
469469* Added support for modal 8-bit floating point matrix multiply-accumulate widening intrinsics.
470470* Added support for 16-bit floating point matrix multiply-accumulate widening intrinsics.
471471* Added support for Brain 16-bit floating-point vector multiplication intrinsics.
472+ * Added support for FEAT_SVE_AES2, FEAT_SSVE_AES intrinsics.
472473
473474### References
474475
@@ -2161,6 +2162,15 @@ support for the SVE2 AES (FEAT_SVE_AES) instructions and if the associated
21612162ACLE intrinsics are available. This implies that `__ARM_FEATURE_AES`
21622163and `__ARM_FEATURE_SVE2` are both nonzero.
21632164
2165+ In addition, `__ARM_FEATURE_SVE2_AES2` is defined to `1` if there is hardware
2166+ support for the SVE2 AES2 (FEAT_SVE_AES2) instructions and if the associated
2167+ ACLE intrinsics are available. This implies that `__ARM_FEATURE_AES`
2168+ and `__ARM_FEATURE_SVE2` are both nonzero.
2169+
2170+ `__ARM_FEATURE_SSVE_AES2` is defined to 1 if there is hardware support for
2171+ SVE2 AES2 (FEAT_SVE_AES2) instructions in Streaming SVE mode (FEAT_SSVE_AES)
2172+ and if the associated ACLE intrinsics are available.
2173+
21642174#### SHA2 extension
21652175
21662176`__ARM_FEATURE_SHA2` is defined to 1 if the SHA1 & SHA2-256 Crypto
@@ -2688,6 +2698,8 @@ be found in [[BA]](#BA).
26882698| [`__ARM_FEATURE_SVE_VECTOR_OPERATORS`](#scalable-vector-extension-sve) | Level of support for C and C++ operators on SVE predicate types | 1 |
26892699| [`__ARM_FEATURE_SVE2`](#sve2) | SVE version 2 (FEAT_SVE2) | 1 |
26902700| [`__ARM_FEATURE_SVE2_AES`](#aes-extension) | SVE2 support for the AES cryptographic extension (FEAT_SVE_AES) | 1 |
2701+ | [`__ARM_FEATURE_SVE2_AES2`](#aes-extension) | SVE2 support for the SVE multi-vector AES cryptographic extension (FEAT_SVE_AES2) | 1 |
2702+ | [`__ARM_FEATURE_SSVE_AES2`](#aes-extension) | SVE2 support for the SVE multi-vector AES cryptographic extension (FEAT_SSVE_AES) | 1 |
26912703| [`__ARM_FEATURE_SVE2_BITPERM`](#bit-permute-extension) | SVE2 bit permute extension | 1 |
26922704| [`__ARM_FEATURE_SSVE_BITPERM`](#bit-permute-extension) | SVE2 bit permute extension | 1 |
26932705| [`__ARM_FEATURE_SSVE_FEXPA`](#streaming-sve-fexpa-extension) | Streaming SVE FEXPA extension | 1 |
@@ -9476,6 +9488,30 @@ to work with `svboolx2_t` and `svboolx4_t`. For example:
94769488 svboolx2_t svundef2_b();
94779489```
94789490
9491+ #### AESE, AESD, AESEMC, AESDIMC
9492+
9493+ Multi-vector Advanced Encryption Standard instructions
9494+
9495+ svuint8x2_t svaese[_u8_x2] (svuint8x2_t op1, svuint64_t op2, uint64_t index);
9496+ svuint8x4_t svaese[_u8_x4] (svuint8x4_t op1, svuint64_t op2, uint64_t index);
9497+ svuint8x2_t svaesd[_u8_x2] (svuint8x2_t op1, svuint64_t op2, uint64_t index);
9498+ svuint8x4_t svaesd[_u8_x4] (svuint8x4_t op1, svuint64_t op2, uint64_t index);
9499+ svuint8x2_t svaesemc[_u8_x2] (svuint8x2_t op1, svuint64_t op2, uint64_t index);
9500+ svuint8x4_t svaesemc[_u8_x4] (svuint8x4_t op1, svuint64_t op2, uint64_t index);
9501+ svuint8x2_t svaesdimc[_u8_x2] (svuint8x2_t op1, svuint64_t op2, uint64_t index);
9502+ svuint8x4_t svaesdimc[_u8_x4] (svuint8x4_t op1, svuint64_t op2, uint64_t index);
9503+
9504+ #### PMULL, PMLAL
9505+
9506+ Multi-vector 128-bit polynomial multiply long instructions
9507+
9508+ ``` c
9509+ // Variants are also available for:
9510+ // _s64x2, _f64x2
9511+ svuint64x2_t svpmull[_u64x2](svuint64_t zn, svuint64_t zm);
9512+ svuint64x2_t svpmlal[_u64x2](svuint64_t zn, svuint64_t zm);
9513+ ```
9514+
94799515#### ADDQV, FADDQV
94809516
94819517Unsigned/FP add reduction of quadword vector segments.
0 commit comments