clang  6.0.0svn
Macros | Functions
__wmmintrin_aes.h File Reference
#include <emmintrin.h>
Include dependency graph for __wmmintrin_aes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("aes")))
 
#define _mm_aeskeygenassist_si128(C, R)   (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
 Generates a round key for AES encyption, 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. More...
 

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Macro Definition Documentation

◆ __DEFAULT_FN_ATTRS

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

◆ _mm_aeskeygenassist_si128

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

Generates a round key for AES encyption, 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);

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 146 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 86 of file __wmmintrin_aes.h.

References __DEFAULT_FN_ATTRS.

◆ _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 106 of file __wmmintrin_aes.h.

References __DEFAULT_FN_ATTRS.

◆ _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 46 of file __wmmintrin_aes.h.

References __DEFAULT_FN_ATTRS.

◆ _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 66 of file __wmmintrin_aes.h.

References __DEFAULT_FN_ATTRS.

◆ _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 123 of file __wmmintrin_aes.h.