clang 20.0.0git
Macros | Functions
__wmmintrin_aes.h File Reference

Go to the source code of this file.

Macros

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("aes"), __min_vector_width__(128)))
 
#define _mm_aeskeygenassist_si128(C, R)    ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
 Generates a round key for AES encryption, operating on 128-bit data specified in the first source operand and using an 8-bit round constant specified by the second source operand, and writes the result to the destination.
 

Functions

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesenc_si128 (__m128i __V, __m128i __R)
 Performs a single round of AES encryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.
 
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesenclast_si128 (__m128i __V, __m128i __R)
 Performs the final round of AES encryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.
 
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesdec_si128 (__m128i __V, __m128i __R)
 Performs a single round of AES decryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.
 
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesdeclast_si128 (__m128i __V, __m128i __R)
 Performs the final round of AES decryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.
 
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesimc_si128 (__m128i __V)
 Applies the AES InvMixColumns() transformation to an expanded key contained in the source operand, and writes the result to the destination.
 

Macro Definition Documentation

◆ __DEFAULT_FN_ATTRS

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("aes"), __min_vector_width__(128)))

Definition at line 18 of file __wmmintrin_aes.h.

◆ _mm_aeskeygenassist_si128

#define _mm_aeskeygenassist_si128 (   C,
 
)     ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))

Generates a round key for AES encryption, operating on 128-bit data specified in the first source operand and using an 8-bit round constant specified by the second source operand, and writes the result to the destination.

__m128i _mm_aeskeygenassist_si128(__m128i C, const int R);
#define _mm_aeskeygenassist_si128(C, R)
Generates a round key for AES encryption, operating on 128-bit data specified in the first source ope...

This intrinsic corresponds to the AESKEYGENASSIST instruction.

Parameters
CA 128-bit integer vector that is used to generate the AES encryption key.
RAn 8-bit round constant used to generate the AES encryption key.
Returns
A 128-bit round key for AES encryption.

Definition at line 135 of file __wmmintrin_aes.h.

Function Documentation

◆ _mm_aesdec_si128()

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesdec_si128 ( __m128i  __V,
__m128i  __R 
)
static

Performs a single round of AES decryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.

This intrinsic corresponds to the VAESDEC instruction.

Parameters
__VA 128-bit integer vector containing the state value.
__RA 128-bit integer vector containing the round key value.
Returns
A 128-bit integer vector containing the decrypted value.

Definition at line 75 of file __wmmintrin_aes.h.

◆ _mm_aesdeclast_si128()

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesdeclast_si128 ( __m128i  __V,
__m128i  __R 
)
static

Performs the final round of AES decryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.

This intrinsic corresponds to the VAESDECLAST instruction.

Parameters
__VA 128-bit integer vector containing the state value.
__RA 128-bit integer vector containing the round key value.
Returns
A 128-bit integer vector containing the decrypted value.

Definition at line 95 of file __wmmintrin_aes.h.

◆ _mm_aesenc_si128()

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesenc_si128 ( __m128i  __V,
__m128i  __R 
)
static

Performs a single round of AES encryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.

This intrinsic corresponds to the VAESENC instruction.

Parameters
__VA 128-bit integer vector containing the state value.
__RA 128-bit integer vector containing the round key value.
Returns
A 128-bit integer vector containing the encrypted value.

Definition at line 35 of file __wmmintrin_aes.h.

◆ _mm_aesenclast_si128()

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesenclast_si128 ( __m128i  __V,
__m128i  __R 
)
static

Performs the final round of AES encryption using the Equivalent Inverse Cipher, transforming the state value from the first source operand using a 128-bit round key value contained in the second source operand, and writes the result to the destination.

This intrinsic corresponds to the VAESENCLAST instruction.

Parameters
__VA 128-bit integer vector containing the state value.
__RA 128-bit integer vector containing the round key value.
Returns
A 128-bit integer vector containing the encrypted value.

Definition at line 55 of file __wmmintrin_aes.h.

◆ _mm_aesimc_si128()

static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_aesimc_si128 ( __m128i  __V)
static

Applies the AES InvMixColumns() transformation to an expanded key contained in the source operand, and writes the result to the destination.

This intrinsic corresponds to the VAESIMC instruction.

Parameters
__VA 128-bit integer vector containing the expanded key.
Returns
A 128-bit integer vector containing the transformed value.

Definition at line 112 of file __wmmintrin_aes.h.