STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
wmmintrin.h
Go to the documentation of this file.
1 /***
2 *** Copyright (C) 1985-2008 Intel Corporation. All rights reserved.
3 ***
4 *** The information and source code contained herein is the exclusive
5 *** property of Intel Corporation and may not be disclosed, examined
6 *** or reproduced in whole or in part without explicit written authorization
7 *** from the company.
8 ***
9 ****/
10 
11 /*
12  * wmmintrin.h
13  *
14  * Principal header file for Intel(R) AES and PCLMULQDQ intrinsics.
15  */
16 
17 #pragma once
18 #ifndef __midl
19 #ifndef _INCLUDED_WMM
20 #define _INCLUDED_WMM
21 
22 #if defined (_M_CEE_PURE)
23  #error ERROR: EMM intrinsics not supported in the pure mode!
24 #else /* defined (_M_CEE_PURE) */
25 
26 #include <nmmintrin.h>
27 
28 
29 #if __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32 
33 /*
34  * Performs 1 round of AES decryption of the first m128i using
35  * the second m128i as a round key.
36  */
37 extern __m128i _mm_aesdec_si128(__m128i v, __m128i rkey);
38 
39 /*
40  * Performs the last round of AES decryption of the first m128i
41  * using the second m128i as a round key.
42  */
44 
45 /*
46  * Performs 1 round of AES encryption of the first m128i using
47  * the second m128i as a round key.
48  */
49 extern __m128i _mm_aesenc_si128(__m128i v, __m128i rkey);
50 
51 /*
52  * Performs the last round of AES encryption of the first m128i
53  * using the second m128i as a round key.
54  */
56 
57 /*
58  * Performs the InverseMixColumn operation on the source m128i
59  * and stores the result into m128i destination.
60  */
62 
63 /*
64  * Generates a m128i round key for the input m128i
65  * AES cipher key and byte round constant.
66  * The second parameter must be a compile time constant.
67  */
68 extern __m128i _mm_aeskeygenassist_si128(__m128i ckey, const int rcon);
69 
70 /*
71  * Performs carry-less integer multiplication of 64-bit halves
72  * of 128-bit input operands.
73  * The third parameter inducates which 64-bit haves of the input parameters
74  * v1 and v2 should be used. It must be a compile time constant.
75  */
77  const int imm8);
78 
79 
80 
81 
82 #if defined __cplusplus
83 }; /* End "C" */
84 #endif /* defined __cplusplus */
85 
86 #endif /* defined (_M_CEE_PURE) */
87 
88 #endif /* _INCLUDED_WMM */
89 #endif /* __midl */
__m128i _mm_aeskeygenassist_si128(__m128i ckey, const int rcon)
__m128i _mm_aesdeclast_si128(__m128i v, __m128i rkey)
__m128i _mm_clmulepi64_si128(__m128i v1, __m128i v2, const int imm8)
__m128i _mm_aesenc_si128(__m128i v, __m128i rkey)
__m128i _mm_aesimc_si128(__m128i v)
__m128i _mm_aesenclast_si128(__m128i v, __m128i rkey)
__m128i
Definition: emmintrin.h:44
__m128i _mm_aesdec_si128(__m128i v, __m128i rkey)