MCKL
Monte Carlo Kernel Library
aesni.hpp
Go to the documentation of this file.
1 //============================================================================
2 // MCKL/include/mckl/internal/aesni.hpp
3 //----------------------------------------------------------------------------
4 // MCKL: Monte Carlo Kernel Library
5 //----------------------------------------------------------------------------
6 // Copyright (c) 2013-2018, Yan Zhou
7 // All rights reserved.
8 //
9 // Redistribution and use in source and binary forms, with or without
10 // modification, are permitted provided that the following conditions are met:
11 //
12 // Redistributions of source code must retain the above copyright notice,
13 // this list of conditions and the following disclaimer.
14 //
15 // Redistributions in binary form must reproduce the above copyright notice,
16 // this list of conditions and the following disclaimer in the documentation
17 // and/or other materials provided with the distribution.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS
20 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 // POSSIBILITY OF SUCH DAMAGE.
30 //============================================================================
31 
32 #ifndef MCKL_INTERNAL_AESNI_HPP
33 #define MCKL_INTERNAL_AESNI_HPP
34 
35 #include <mckl/internal/config.h>
36 #include <array>
37 
38 MCKL_PUSH_GCC_WARNING("-Wignored-attributes")
39 
40 namespace mckl {
41 
42 namespace internal {
43 
44 MCKL_INLINE inline void aesenc_si128(
45  std::array<__m128i, 4> &s, const __m128i &a)
46 {
47  std::get<0>(s) = _mm_aesenc_si128(std::get<0>(s), a);
48  std::get<1>(s) = _mm_aesenc_si128(std::get<1>(s), a);
49  std::get<2>(s) = _mm_aesenc_si128(std::get<2>(s), a);
50  std::get<3>(s) = _mm_aesenc_si128(std::get<3>(s), a);
51 }
52 
53 MCKL_INLINE inline void aesdec_si128(
54  std::array<__m128i, 4> &s, const __m128i &a)
55 {
56  std::get<0>(s) = _mm_aesdec_si128(std::get<0>(s), a);
57  std::get<1>(s) = _mm_aesdec_si128(std::get<1>(s), a);
58  std::get<2>(s) = _mm_aesdec_si128(std::get<2>(s), a);
59  std::get<3>(s) = _mm_aesdec_si128(std::get<3>(s), a);
60 }
61 
62 MCKL_INLINE inline void aesenclast_si128(
63  std::array<__m128i, 4> &s, const __m128i &a)
64 {
65  std::get<0>(s) = _mm_aesenclast_si128(std::get<0>(s), a);
66  std::get<1>(s) = _mm_aesenclast_si128(std::get<1>(s), a);
67  std::get<2>(s) = _mm_aesenclast_si128(std::get<2>(s), a);
68  std::get<3>(s) = _mm_aesenclast_si128(std::get<3>(s), a);
69 }
70 
71 MCKL_INLINE inline void aesdeclast_si128(
72  std::array<__m128i, 4> &s, const __m128i &a)
73 {
74  std::get<0>(s) = _mm_aesdeclast_si128(std::get<0>(s), a);
75  std::get<1>(s) = _mm_aesdeclast_si128(std::get<1>(s), a);
76  std::get<2>(s) = _mm_aesdeclast_si128(std::get<2>(s), a);
77  std::get<3>(s) = _mm_aesdeclast_si128(std::get<3>(s), a);
78 }
79 
80 MCKL_INLINE inline void aesenc_si128(
81  std::array<__m128i, 8> &s, const __m128i &a)
82 {
83  std::get<0>(s) = _mm_aesenc_si128(std::get<0>(s), a);
84  std::get<1>(s) = _mm_aesenc_si128(std::get<1>(s), a);
85  std::get<2>(s) = _mm_aesenc_si128(std::get<2>(s), a);
86  std::get<3>(s) = _mm_aesenc_si128(std::get<3>(s), a);
87  std::get<4>(s) = _mm_aesenc_si128(std::get<4>(s), a);
88  std::get<5>(s) = _mm_aesenc_si128(std::get<5>(s), a);
89  std::get<6>(s) = _mm_aesenc_si128(std::get<6>(s), a);
90  std::get<7>(s) = _mm_aesenc_si128(std::get<7>(s), a);
91 }
92 
93 MCKL_INLINE inline void aesdec_si128(
94  std::array<__m128i, 8> &s, const __m128i &a)
95 {
96  std::get<0>(s) = _mm_aesdec_si128(std::get<0>(s), a);
97  std::get<1>(s) = _mm_aesdec_si128(std::get<1>(s), a);
98  std::get<2>(s) = _mm_aesdec_si128(std::get<2>(s), a);
99  std::get<3>(s) = _mm_aesdec_si128(std::get<3>(s), a);
100  std::get<4>(s) = _mm_aesdec_si128(std::get<4>(s), a);
101  std::get<5>(s) = _mm_aesdec_si128(std::get<5>(s), a);
102  std::get<6>(s) = _mm_aesdec_si128(std::get<6>(s), a);
103  std::get<7>(s) = _mm_aesdec_si128(std::get<7>(s), a);
104 }
105 
106 MCKL_INLINE inline void aesenclast_si128(
107  std::array<__m128i, 8> &s, const __m128i &a)
108 {
109  std::get<0>(s) = _mm_aesenclast_si128(std::get<0>(s), a);
110  std::get<1>(s) = _mm_aesenclast_si128(std::get<1>(s), a);
111  std::get<2>(s) = _mm_aesenclast_si128(std::get<2>(s), a);
112  std::get<3>(s) = _mm_aesenclast_si128(std::get<3>(s), a);
113  std::get<4>(s) = _mm_aesenclast_si128(std::get<4>(s), a);
114  std::get<5>(s) = _mm_aesenclast_si128(std::get<5>(s), a);
115  std::get<6>(s) = _mm_aesenclast_si128(std::get<6>(s), a);
116  std::get<7>(s) = _mm_aesenclast_si128(std::get<7>(s), a);
117 }
118 
119 MCKL_INLINE inline void aesdeclast_si128(
120  std::array<__m128i, 8> &s, const __m128i &a)
121 {
122  std::get<0>(s) = _mm_aesdeclast_si128(std::get<0>(s), a);
123  std::get<1>(s) = _mm_aesdeclast_si128(std::get<1>(s), a);
124  std::get<2>(s) = _mm_aesdeclast_si128(std::get<2>(s), a);
125  std::get<3>(s) = _mm_aesdeclast_si128(std::get<3>(s), a);
126  std::get<4>(s) = _mm_aesdeclast_si128(std::get<4>(s), a);
127  std::get<5>(s) = _mm_aesdeclast_si128(std::get<5>(s), a);
128  std::get<6>(s) = _mm_aesdeclast_si128(std::get<6>(s), a);
129  std::get<7>(s) = _mm_aesdeclast_si128(std::get<7>(s), a);
130 }
131 
132 MCKL_INLINE inline void aesenc_si128(
133  std::array<__m128i, 16> &s, const __m128i &a)
134 {
135  std::get<0x0>(s) = _mm_aesenc_si128(std::get<0x0>(s), a);
136  std::get<0x1>(s) = _mm_aesenc_si128(std::get<0x1>(s), a);
137  std::get<0x2>(s) = _mm_aesenc_si128(std::get<0x2>(s), a);
138  std::get<0x3>(s) = _mm_aesenc_si128(std::get<0x3>(s), a);
139  std::get<0x4>(s) = _mm_aesenc_si128(std::get<0x4>(s), a);
140  std::get<0x5>(s) = _mm_aesenc_si128(std::get<0x5>(s), a);
141  std::get<0x6>(s) = _mm_aesenc_si128(std::get<0x6>(s), a);
142  std::get<0x7>(s) = _mm_aesenc_si128(std::get<0x7>(s), a);
143  std::get<0x8>(s) = _mm_aesenc_si128(std::get<0x8>(s), a);
144  std::get<0x9>(s) = _mm_aesenc_si128(std::get<0x9>(s), a);
145  std::get<0xA>(s) = _mm_aesenc_si128(std::get<0xA>(s), a);
146  std::get<0xB>(s) = _mm_aesenc_si128(std::get<0xB>(s), a);
147  std::get<0xC>(s) = _mm_aesenc_si128(std::get<0xC>(s), a);
148  std::get<0xD>(s) = _mm_aesenc_si128(std::get<0xD>(s), a);
149  std::get<0xE>(s) = _mm_aesenc_si128(std::get<0xE>(s), a);
150  std::get<0xF>(s) = _mm_aesenc_si128(std::get<0xF>(s), a);
151 }
152 
153 MCKL_INLINE inline void aesdec_si128(
154  std::array<__m128i, 16> &s, const __m128i &a)
155 {
156  std::get<0x0>(s) = _mm_aesdec_si128(std::get<0x0>(s), a);
157  std::get<0x1>(s) = _mm_aesdec_si128(std::get<0x1>(s), a);
158  std::get<0x2>(s) = _mm_aesdec_si128(std::get<0x2>(s), a);
159  std::get<0x3>(s) = _mm_aesdec_si128(std::get<0x3>(s), a);
160  std::get<0x4>(s) = _mm_aesdec_si128(std::get<0x4>(s), a);
161  std::get<0x5>(s) = _mm_aesdec_si128(std::get<0x5>(s), a);
162  std::get<0x6>(s) = _mm_aesdec_si128(std::get<0x6>(s), a);
163  std::get<0x7>(s) = _mm_aesdec_si128(std::get<0x7>(s), a);
164  std::get<0x8>(s) = _mm_aesdec_si128(std::get<0x8>(s), a);
165  std::get<0x9>(s) = _mm_aesdec_si128(std::get<0x9>(s), a);
166  std::get<0xA>(s) = _mm_aesdec_si128(std::get<0xA>(s), a);
167  std::get<0xB>(s) = _mm_aesdec_si128(std::get<0xB>(s), a);
168  std::get<0xC>(s) = _mm_aesdec_si128(std::get<0xC>(s), a);
169  std::get<0xD>(s) = _mm_aesdec_si128(std::get<0xD>(s), a);
170  std::get<0xE>(s) = _mm_aesdec_si128(std::get<0xE>(s), a);
171  std::get<0xF>(s) = _mm_aesdec_si128(std::get<0xF>(s), a);
172 }
173 
174 MCKL_INLINE inline void aesenclast_si128(
175  std::array<__m128i, 16> &s, const __m128i &a)
176 {
177  std::get<0x0>(s) = _mm_aesenclast_si128(std::get<0x0>(s), a);
178  std::get<0x1>(s) = _mm_aesenclast_si128(std::get<0x1>(s), a);
179  std::get<0x2>(s) = _mm_aesenclast_si128(std::get<0x2>(s), a);
180  std::get<0x3>(s) = _mm_aesenclast_si128(std::get<0x3>(s), a);
181  std::get<0x4>(s) = _mm_aesenclast_si128(std::get<0x4>(s), a);
182  std::get<0x5>(s) = _mm_aesenclast_si128(std::get<0x5>(s), a);
183  std::get<0x6>(s) = _mm_aesenclast_si128(std::get<0x6>(s), a);
184  std::get<0x7>(s) = _mm_aesenclast_si128(std::get<0x7>(s), a);
185  std::get<0x8>(s) = _mm_aesenclast_si128(std::get<0x8>(s), a);
186  std::get<0x9>(s) = _mm_aesenclast_si128(std::get<0x9>(s), a);
187  std::get<0xA>(s) = _mm_aesenclast_si128(std::get<0xA>(s), a);
188  std::get<0xB>(s) = _mm_aesenclast_si128(std::get<0xB>(s), a);
189  std::get<0xC>(s) = _mm_aesenclast_si128(std::get<0xC>(s), a);
190  std::get<0xD>(s) = _mm_aesenclast_si128(std::get<0xD>(s), a);
191  std::get<0xE>(s) = _mm_aesenclast_si128(std::get<0xE>(s), a);
192  std::get<0xF>(s) = _mm_aesenclast_si128(std::get<0xF>(s), a);
193 }
194 
195 MCKL_INLINE inline void aesdeclast_si128(
196  std::array<__m128i, 16> &s, const __m128i &a)
197 {
198  std::get<0x0>(s) = _mm_aesdeclast_si128(std::get<0x0>(s), a);
199  std::get<0x1>(s) = _mm_aesdeclast_si128(std::get<0x1>(s), a);
200  std::get<0x2>(s) = _mm_aesdeclast_si128(std::get<0x2>(s), a);
201  std::get<0x3>(s) = _mm_aesdeclast_si128(std::get<0x3>(s), a);
202  std::get<0x4>(s) = _mm_aesdeclast_si128(std::get<0x4>(s), a);
203  std::get<0x5>(s) = _mm_aesdeclast_si128(std::get<0x5>(s), a);
204  std::get<0x6>(s) = _mm_aesdeclast_si128(std::get<0x6>(s), a);
205  std::get<0x7>(s) = _mm_aesdeclast_si128(std::get<0x7>(s), a);
206  std::get<0x8>(s) = _mm_aesdeclast_si128(std::get<0x8>(s), a);
207  std::get<0x9>(s) = _mm_aesdeclast_si128(std::get<0x9>(s), a);
208  std::get<0xA>(s) = _mm_aesdeclast_si128(std::get<0xA>(s), a);
209  std::get<0xB>(s) = _mm_aesdeclast_si128(std::get<0xB>(s), a);
210  std::get<0xC>(s) = _mm_aesdeclast_si128(std::get<0xC>(s), a);
211  std::get<0xD>(s) = _mm_aesdeclast_si128(std::get<0xD>(s), a);
212  std::get<0xE>(s) = _mm_aesdeclast_si128(std::get<0xE>(s), a);
213  std::get<0xF>(s) = _mm_aesdeclast_si128(std::get<0xF>(s), a);
214 }
215 
216 template <std::size_t>
217 inline __m128i aeskeygenassist_si128(const __m128i &);
218 
219 template <>
220 inline __m128i aeskeygenassist_si128<0x00>(const __m128i &xmm)
221 {
222  return _mm_aeskeygenassist_si128(xmm, 0x8D);
223 }
224 
225 template <>
226 inline __m128i aeskeygenassist_si128<0x01>(const __m128i &xmm)
227 {
228  return _mm_aeskeygenassist_si128(xmm, 0x01);
229 }
230 
231 template <>
232 inline __m128i aeskeygenassist_si128<0x02>(const __m128i &xmm)
233 {
234  return _mm_aeskeygenassist_si128(xmm, 0x02);
235 }
236 
237 template <>
238 inline __m128i aeskeygenassist_si128<0x03>(const __m128i &xmm)
239 {
240  return _mm_aeskeygenassist_si128(xmm, 0x04);
241 }
242 
243 template <>
244 inline __m128i aeskeygenassist_si128<0x04>(const __m128i &xmm)
245 {
246  return _mm_aeskeygenassist_si128(xmm, 0x08);
247 }
248 
249 template <>
250 inline __m128i aeskeygenassist_si128<0x05>(const __m128i &xmm)
251 {
252  return _mm_aeskeygenassist_si128(xmm, 0x10);
253 }
254 
255 template <>
256 inline __m128i aeskeygenassist_si128<0x06>(const __m128i &xmm)
257 {
258  return _mm_aeskeygenassist_si128(xmm, 0x20);
259 }
260 
261 template <>
262 inline __m128i aeskeygenassist_si128<0x07>(const __m128i &xmm)
263 {
264  return _mm_aeskeygenassist_si128(xmm, 0x40);
265 }
266 
267 template <>
268 inline __m128i aeskeygenassist_si128<0x08>(const __m128i &xmm)
269 {
270  return _mm_aeskeygenassist_si128(xmm, 0x80);
271 }
272 
273 template <>
274 inline __m128i aeskeygenassist_si128<0x09>(const __m128i &xmm)
275 {
276  return _mm_aeskeygenassist_si128(xmm, 0x1B);
277 }
278 
279 template <>
280 inline __m128i aeskeygenassist_si128<0x0A>(const __m128i &xmm)
281 {
282  return _mm_aeskeygenassist_si128(xmm, 0x36);
283 }
284 
285 template <>
286 inline __m128i aeskeygenassist_si128<0x0B>(const __m128i &xmm)
287 {
288  return _mm_aeskeygenassist_si128(xmm, 0x6C);
289 }
290 
291 template <>
292 inline __m128i aeskeygenassist_si128<0x0C>(const __m128i &xmm)
293 {
294  return _mm_aeskeygenassist_si128(xmm, 0xD8);
295 }
296 
297 template <>
298 inline __m128i aeskeygenassist_si128<0x0D>(const __m128i &xmm)
299 {
300  return _mm_aeskeygenassist_si128(xmm, 0xAB);
301 }
302 
303 template <>
304 inline __m128i aeskeygenassist_si128<0x0E>(const __m128i &xmm)
305 {
306  return _mm_aeskeygenassist_si128(xmm, 0x4D);
307 }
308 
309 template <>
310 inline __m128i aeskeygenassist_si128<0x0F>(const __m128i &xmm)
311 {
312  return _mm_aeskeygenassist_si128(xmm, 0x9A);
313 }
314 
315 template <>
316 inline __m128i aeskeygenassist_si128<0x10>(const __m128i &xmm)
317 {
318  return _mm_aeskeygenassist_si128(xmm, 0x2F);
319 }
320 
321 template <>
322 inline __m128i aeskeygenassist_si128<0x11>(const __m128i &xmm)
323 {
324  return _mm_aeskeygenassist_si128(xmm, 0x5E);
325 }
326 
327 template <>
328 inline __m128i aeskeygenassist_si128<0x12>(const __m128i &xmm)
329 {
330  return _mm_aeskeygenassist_si128(xmm, 0xBC);
331 }
332 
333 template <>
334 inline __m128i aeskeygenassist_si128<0x13>(const __m128i &xmm)
335 {
336  return _mm_aeskeygenassist_si128(xmm, 0x63);
337 }
338 
339 template <>
340 inline __m128i aeskeygenassist_si128<0x14>(const __m128i &xmm)
341 {
342  return _mm_aeskeygenassist_si128(xmm, 0xC6);
343 }
344 
345 template <>
346 inline __m128i aeskeygenassist_si128<0x15>(const __m128i &xmm)
347 {
348  return _mm_aeskeygenassist_si128(xmm, 0x97);
349 }
350 
351 template <>
352 inline __m128i aeskeygenassist_si128<0x16>(const __m128i &xmm)
353 {
354  return _mm_aeskeygenassist_si128(xmm, 0x35);
355 }
356 
357 template <>
358 inline __m128i aeskeygenassist_si128<0x17>(const __m128i &xmm)
359 {
360  return _mm_aeskeygenassist_si128(xmm, 0x6A);
361 }
362 
363 template <>
364 inline __m128i aeskeygenassist_si128<0x18>(const __m128i &xmm)
365 {
366  return _mm_aeskeygenassist_si128(xmm, 0xD4);
367 }
368 
369 template <>
370 inline __m128i aeskeygenassist_si128<0x19>(const __m128i &xmm)
371 {
372  return _mm_aeskeygenassist_si128(xmm, 0xB3);
373 }
374 
375 template <>
376 inline __m128i aeskeygenassist_si128<0x1A>(const __m128i &xmm)
377 {
378  return _mm_aeskeygenassist_si128(xmm, 0x7D);
379 }
380 
381 template <>
382 inline __m128i aeskeygenassist_si128<0x1B>(const __m128i &xmm)
383 {
384  return _mm_aeskeygenassist_si128(xmm, 0xFA);
385 }
386 
387 template <>
388 inline __m128i aeskeygenassist_si128<0x1C>(const __m128i &xmm)
389 {
390  return _mm_aeskeygenassist_si128(xmm, 0xEF);
391 }
392 
393 template <>
394 inline __m128i aeskeygenassist_si128<0x1D>(const __m128i &xmm)
395 {
396  return _mm_aeskeygenassist_si128(xmm, 0xC5);
397 }
398 
399 template <>
400 inline __m128i aeskeygenassist_si128<0x1E>(const __m128i &xmm)
401 {
402  return _mm_aeskeygenassist_si128(xmm, 0x91);
403 }
404 
405 template <>
406 inline __m128i aeskeygenassist_si128<0x1F>(const __m128i &xmm)
407 {
408  return _mm_aeskeygenassist_si128(xmm, 0x39);
409 }
410 
411 template <>
412 inline __m128i aeskeygenassist_si128<0x20>(const __m128i &xmm)
413 {
414  return _mm_aeskeygenassist_si128(xmm, 0x72);
415 }
416 
417 template <>
418 inline __m128i aeskeygenassist_si128<0x21>(const __m128i &xmm)
419 {
420  return _mm_aeskeygenassist_si128(xmm, 0xE4);
421 }
422 
423 template <>
424 inline __m128i aeskeygenassist_si128<0x22>(const __m128i &xmm)
425 {
426  return _mm_aeskeygenassist_si128(xmm, 0xD3);
427 }
428 
429 template <>
430 inline __m128i aeskeygenassist_si128<0x23>(const __m128i &xmm)
431 {
432  return _mm_aeskeygenassist_si128(xmm, 0xBD);
433 }
434 
435 template <>
436 inline __m128i aeskeygenassist_si128<0x24>(const __m128i &xmm)
437 {
438  return _mm_aeskeygenassist_si128(xmm, 0x61);
439 }
440 
441 template <>
442 inline __m128i aeskeygenassist_si128<0x25>(const __m128i &xmm)
443 {
444  return _mm_aeskeygenassist_si128(xmm, 0xC2);
445 }
446 
447 template <>
448 inline __m128i aeskeygenassist_si128<0x26>(const __m128i &xmm)
449 {
450  return _mm_aeskeygenassist_si128(xmm, 0x9F);
451 }
452 
453 template <>
454 inline __m128i aeskeygenassist_si128<0x27>(const __m128i &xmm)
455 {
456  return _mm_aeskeygenassist_si128(xmm, 0x25);
457 }
458 
459 template <>
460 inline __m128i aeskeygenassist_si128<0x28>(const __m128i &xmm)
461 {
462  return _mm_aeskeygenassist_si128(xmm, 0x4A);
463 }
464 
465 template <>
466 inline __m128i aeskeygenassist_si128<0x29>(const __m128i &xmm)
467 {
468  return _mm_aeskeygenassist_si128(xmm, 0x94);
469 }
470 
471 template <>
472 inline __m128i aeskeygenassist_si128<0x2A>(const __m128i &xmm)
473 {
474  return _mm_aeskeygenassist_si128(xmm, 0x33);
475 }
476 
477 template <>
478 inline __m128i aeskeygenassist_si128<0x2B>(const __m128i &xmm)
479 {
480  return _mm_aeskeygenassist_si128(xmm, 0x66);
481 }
482 
483 template <>
484 inline __m128i aeskeygenassist_si128<0x2C>(const __m128i &xmm)
485 {
486  return _mm_aeskeygenassist_si128(xmm, 0xCC);
487 }
488 
489 template <>
490 inline __m128i aeskeygenassist_si128<0x2D>(const __m128i &xmm)
491 {
492  return _mm_aeskeygenassist_si128(xmm, 0x83);
493 }
494 
495 template <>
496 inline __m128i aeskeygenassist_si128<0x2E>(const __m128i &xmm)
497 {
498  return _mm_aeskeygenassist_si128(xmm, 0x1D);
499 }
500 
501 template <>
502 inline __m128i aeskeygenassist_si128<0x2F>(const __m128i &xmm)
503 {
504  return _mm_aeskeygenassist_si128(xmm, 0x3A);
505 }
506 
507 template <>
508 inline __m128i aeskeygenassist_si128<0x30>(const __m128i &xmm)
509 {
510  return _mm_aeskeygenassist_si128(xmm, 0x74);
511 }
512 
513 template <>
514 inline __m128i aeskeygenassist_si128<0x31>(const __m128i &xmm)
515 {
516  return _mm_aeskeygenassist_si128(xmm, 0xE8);
517 }
518 
519 template <>
520 inline __m128i aeskeygenassist_si128<0x32>(const __m128i &xmm)
521 {
522  return _mm_aeskeygenassist_si128(xmm, 0xCB);
523 }
524 
525 template <>
526 inline __m128i aeskeygenassist_si128<0x33>(const __m128i &xmm)
527 {
528  return _mm_aeskeygenassist_si128(xmm, 0x8D);
529 }
530 
531 template <>
532 inline __m128i aeskeygenassist_si128<0x34>(const __m128i &xmm)
533 {
534  return _mm_aeskeygenassist_si128(xmm, 0x01);
535 }
536 
537 template <>
538 inline __m128i aeskeygenassist_si128<0x35>(const __m128i &xmm)
539 {
540  return _mm_aeskeygenassist_si128(xmm, 0x02);
541 }
542 
543 template <>
544 inline __m128i aeskeygenassist_si128<0x36>(const __m128i &xmm)
545 {
546  return _mm_aeskeygenassist_si128(xmm, 0x04);
547 }
548 
549 template <>
550 inline __m128i aeskeygenassist_si128<0x37>(const __m128i &xmm)
551 {
552  return _mm_aeskeygenassist_si128(xmm, 0x08);
553 }
554 
555 template <>
556 inline __m128i aeskeygenassist_si128<0x38>(const __m128i &xmm)
557 {
558  return _mm_aeskeygenassist_si128(xmm, 0x10);
559 }
560 
561 template <>
562 inline __m128i aeskeygenassist_si128<0x39>(const __m128i &xmm)
563 {
564  return _mm_aeskeygenassist_si128(xmm, 0x20);
565 }
566 
567 template <>
568 inline __m128i aeskeygenassist_si128<0x3A>(const __m128i &xmm)
569 {
570  return _mm_aeskeygenassist_si128(xmm, 0x40);
571 }
572 
573 template <>
574 inline __m128i aeskeygenassist_si128<0x3B>(const __m128i &xmm)
575 {
576  return _mm_aeskeygenassist_si128(xmm, 0x80);
577 }
578 
579 template <>
580 inline __m128i aeskeygenassist_si128<0x3C>(const __m128i &xmm)
581 {
582  return _mm_aeskeygenassist_si128(xmm, 0x1B);
583 }
584 
585 template <>
586 inline __m128i aeskeygenassist_si128<0x3D>(const __m128i &xmm)
587 {
588  return _mm_aeskeygenassist_si128(xmm, 0x36);
589 }
590 
591 template <>
592 inline __m128i aeskeygenassist_si128<0x3E>(const __m128i &xmm)
593 {
594  return _mm_aeskeygenassist_si128(xmm, 0x6C);
595 }
596 
597 template <>
598 inline __m128i aeskeygenassist_si128<0x3F>(const __m128i &xmm)
599 {
600  return _mm_aeskeygenassist_si128(xmm, 0xD8);
601 }
602 
603 template <>
604 inline __m128i aeskeygenassist_si128<0x40>(const __m128i &xmm)
605 {
606  return _mm_aeskeygenassist_si128(xmm, 0xAB);
607 }
608 
609 template <>
610 inline __m128i aeskeygenassist_si128<0x41>(const __m128i &xmm)
611 {
612  return _mm_aeskeygenassist_si128(xmm, 0x4D);
613 }
614 
615 template <>
616 inline __m128i aeskeygenassist_si128<0x42>(const __m128i &xmm)
617 {
618  return _mm_aeskeygenassist_si128(xmm, 0x9A);
619 }
620 
621 template <>
622 inline __m128i aeskeygenassist_si128<0x43>(const __m128i &xmm)
623 {
624  return _mm_aeskeygenassist_si128(xmm, 0x2F);
625 }
626 
627 template <>
628 inline __m128i aeskeygenassist_si128<0x44>(const __m128i &xmm)
629 {
630  return _mm_aeskeygenassist_si128(xmm, 0x5E);
631 }
632 
633 template <>
634 inline __m128i aeskeygenassist_si128<0x45>(const __m128i &xmm)
635 {
636  return _mm_aeskeygenassist_si128(xmm, 0xBC);
637 }
638 
639 template <>
640 inline __m128i aeskeygenassist_si128<0x46>(const __m128i &xmm)
641 {
642  return _mm_aeskeygenassist_si128(xmm, 0x63);
643 }
644 
645 template <>
646 inline __m128i aeskeygenassist_si128<0x47>(const __m128i &xmm)
647 {
648  return _mm_aeskeygenassist_si128(xmm, 0xC6);
649 }
650 
651 template <>
652 inline __m128i aeskeygenassist_si128<0x48>(const __m128i &xmm)
653 {
654  return _mm_aeskeygenassist_si128(xmm, 0x97);
655 }
656 
657 template <>
658 inline __m128i aeskeygenassist_si128<0x49>(const __m128i &xmm)
659 {
660  return _mm_aeskeygenassist_si128(xmm, 0x35);
661 }
662 
663 template <>
664 inline __m128i aeskeygenassist_si128<0x4A>(const __m128i &xmm)
665 {
666  return _mm_aeskeygenassist_si128(xmm, 0x6A);
667 }
668 
669 template <>
670 inline __m128i aeskeygenassist_si128<0x4B>(const __m128i &xmm)
671 {
672  return _mm_aeskeygenassist_si128(xmm, 0xD4);
673 }
674 
675 template <>
676 inline __m128i aeskeygenassist_si128<0x4C>(const __m128i &xmm)
677 {
678  return _mm_aeskeygenassist_si128(xmm, 0xB3);
679 }
680 
681 template <>
682 inline __m128i aeskeygenassist_si128<0x4D>(const __m128i &xmm)
683 {
684  return _mm_aeskeygenassist_si128(xmm, 0x7D);
685 }
686 
687 template <>
688 inline __m128i aeskeygenassist_si128<0x4E>(const __m128i &xmm)
689 {
690  return _mm_aeskeygenassist_si128(xmm, 0xFA);
691 }
692 
693 template <>
694 inline __m128i aeskeygenassist_si128<0x4F>(const __m128i &xmm)
695 {
696  return _mm_aeskeygenassist_si128(xmm, 0xEF);
697 }
698 
699 template <>
700 inline __m128i aeskeygenassist_si128<0x50>(const __m128i &xmm)
701 {
702  return _mm_aeskeygenassist_si128(xmm, 0xC5);
703 }
704 
705 template <>
706 inline __m128i aeskeygenassist_si128<0x51>(const __m128i &xmm)
707 {
708  return _mm_aeskeygenassist_si128(xmm, 0x91);
709 }
710 
711 template <>
712 inline __m128i aeskeygenassist_si128<0x52>(const __m128i &xmm)
713 {
714  return _mm_aeskeygenassist_si128(xmm, 0x39);
715 }
716 
717 template <>
718 inline __m128i aeskeygenassist_si128<0x53>(const __m128i &xmm)
719 {
720  return _mm_aeskeygenassist_si128(xmm, 0x72);
721 }
722 
723 template <>
724 inline __m128i aeskeygenassist_si128<0x54>(const __m128i &xmm)
725 {
726  return _mm_aeskeygenassist_si128(xmm, 0xE4);
727 }
728 
729 template <>
730 inline __m128i aeskeygenassist_si128<0x55>(const __m128i &xmm)
731 {
732  return _mm_aeskeygenassist_si128(xmm, 0xD3);
733 }
734 
735 template <>
736 inline __m128i aeskeygenassist_si128<0x56>(const __m128i &xmm)
737 {
738  return _mm_aeskeygenassist_si128(xmm, 0xBD);
739 }
740 
741 template <>
742 inline __m128i aeskeygenassist_si128<0x57>(const __m128i &xmm)
743 {
744  return _mm_aeskeygenassist_si128(xmm, 0x61);
745 }
746 
747 template <>
748 inline __m128i aeskeygenassist_si128<0x58>(const __m128i &xmm)
749 {
750  return _mm_aeskeygenassist_si128(xmm, 0xC2);
751 }
752 
753 template <>
754 inline __m128i aeskeygenassist_si128<0x59>(const __m128i &xmm)
755 {
756  return _mm_aeskeygenassist_si128(xmm, 0x9F);
757 }
758 
759 template <>
760 inline __m128i aeskeygenassist_si128<0x5A>(const __m128i &xmm)
761 {
762  return _mm_aeskeygenassist_si128(xmm, 0x25);
763 }
764 
765 template <>
766 inline __m128i aeskeygenassist_si128<0x5B>(const __m128i &xmm)
767 {
768  return _mm_aeskeygenassist_si128(xmm, 0x4A);
769 }
770 
771 template <>
772 inline __m128i aeskeygenassist_si128<0x5C>(const __m128i &xmm)
773 {
774  return _mm_aeskeygenassist_si128(xmm, 0x94);
775 }
776 
777 template <>
778 inline __m128i aeskeygenassist_si128<0x5D>(const __m128i &xmm)
779 {
780  return _mm_aeskeygenassist_si128(xmm, 0x33);
781 }
782 
783 template <>
784 inline __m128i aeskeygenassist_si128<0x5E>(const __m128i &xmm)
785 {
786  return _mm_aeskeygenassist_si128(xmm, 0x66);
787 }
788 
789 template <>
790 inline __m128i aeskeygenassist_si128<0x5F>(const __m128i &xmm)
791 {
792  return _mm_aeskeygenassist_si128(xmm, 0xCC);
793 }
794 
795 template <>
796 inline __m128i aeskeygenassist_si128<0x60>(const __m128i &xmm)
797 {
798  return _mm_aeskeygenassist_si128(xmm, 0x83);
799 }
800 
801 template <>
802 inline __m128i aeskeygenassist_si128<0x61>(const __m128i &xmm)
803 {
804  return _mm_aeskeygenassist_si128(xmm, 0x1D);
805 }
806 
807 template <>
808 inline __m128i aeskeygenassist_si128<0x62>(const __m128i &xmm)
809 {
810  return _mm_aeskeygenassist_si128(xmm, 0x3A);
811 }
812 
813 template <>
814 inline __m128i aeskeygenassist_si128<0x63>(const __m128i &xmm)
815 {
816  return _mm_aeskeygenassist_si128(xmm, 0x74);
817 }
818 
819 template <>
820 inline __m128i aeskeygenassist_si128<0x64>(const __m128i &xmm)
821 {
822  return _mm_aeskeygenassist_si128(xmm, 0xE8);
823 }
824 
825 template <>
826 inline __m128i aeskeygenassist_si128<0x65>(const __m128i &xmm)
827 {
828  return _mm_aeskeygenassist_si128(xmm, 0xCB);
829 }
830 
831 template <>
832 inline __m128i aeskeygenassist_si128<0x66>(const __m128i &xmm)
833 {
834  return _mm_aeskeygenassist_si128(xmm, 0x8D);
835 }
836 
837 template <>
838 inline __m128i aeskeygenassist_si128<0x67>(const __m128i &xmm)
839 {
840  return _mm_aeskeygenassist_si128(xmm, 0x01);
841 }
842 
843 template <>
844 inline __m128i aeskeygenassist_si128<0x68>(const __m128i &xmm)
845 {
846  return _mm_aeskeygenassist_si128(xmm, 0x02);
847 }
848 
849 template <>
850 inline __m128i aeskeygenassist_si128<0x69>(const __m128i &xmm)
851 {
852  return _mm_aeskeygenassist_si128(xmm, 0x04);
853 }
854 
855 template <>
856 inline __m128i aeskeygenassist_si128<0x6A>(const __m128i &xmm)
857 {
858  return _mm_aeskeygenassist_si128(xmm, 0x08);
859 }
860 
861 template <>
862 inline __m128i aeskeygenassist_si128<0x6B>(const __m128i &xmm)
863 {
864  return _mm_aeskeygenassist_si128(xmm, 0x10);
865 }
866 
867 template <>
868 inline __m128i aeskeygenassist_si128<0x6C>(const __m128i &xmm)
869 {
870  return _mm_aeskeygenassist_si128(xmm, 0x20);
871 }
872 
873 template <>
874 inline __m128i aeskeygenassist_si128<0x6D>(const __m128i &xmm)
875 {
876  return _mm_aeskeygenassist_si128(xmm, 0x40);
877 }
878 
879 template <>
880 inline __m128i aeskeygenassist_si128<0x6E>(const __m128i &xmm)
881 {
882  return _mm_aeskeygenassist_si128(xmm, 0x80);
883 }
884 
885 template <>
886 inline __m128i aeskeygenassist_si128<0x6F>(const __m128i &xmm)
887 {
888  return _mm_aeskeygenassist_si128(xmm, 0x1B);
889 }
890 
891 template <>
892 inline __m128i aeskeygenassist_si128<0x70>(const __m128i &xmm)
893 {
894  return _mm_aeskeygenassist_si128(xmm, 0x36);
895 }
896 
897 template <>
898 inline __m128i aeskeygenassist_si128<0x71>(const __m128i &xmm)
899 {
900  return _mm_aeskeygenassist_si128(xmm, 0x6C);
901 }
902 
903 template <>
904 inline __m128i aeskeygenassist_si128<0x72>(const __m128i &xmm)
905 {
906  return _mm_aeskeygenassist_si128(xmm, 0xD8);
907 }
908 
909 template <>
910 inline __m128i aeskeygenassist_si128<0x73>(const __m128i &xmm)
911 {
912  return _mm_aeskeygenassist_si128(xmm, 0xAB);
913 }
914 
915 template <>
916 inline __m128i aeskeygenassist_si128<0x74>(const __m128i &xmm)
917 {
918  return _mm_aeskeygenassist_si128(xmm, 0x4D);
919 }
920 
921 template <>
922 inline __m128i aeskeygenassist_si128<0x75>(const __m128i &xmm)
923 {
924  return _mm_aeskeygenassist_si128(xmm, 0x9A);
925 }
926 
927 template <>
928 inline __m128i aeskeygenassist_si128<0x76>(const __m128i &xmm)
929 {
930  return _mm_aeskeygenassist_si128(xmm, 0x2F);
931 }
932 
933 template <>
934 inline __m128i aeskeygenassist_si128<0x77>(const __m128i &xmm)
935 {
936  return _mm_aeskeygenassist_si128(xmm, 0x5E);
937 }
938 
939 template <>
940 inline __m128i aeskeygenassist_si128<0x78>(const __m128i &xmm)
941 {
942  return _mm_aeskeygenassist_si128(xmm, 0xBC);
943 }
944 
945 template <>
946 inline __m128i aeskeygenassist_si128<0x79>(const __m128i &xmm)
947 {
948  return _mm_aeskeygenassist_si128(xmm, 0x63);
949 }
950 
951 template <>
952 inline __m128i aeskeygenassist_si128<0x7A>(const __m128i &xmm)
953 {
954  return _mm_aeskeygenassist_si128(xmm, 0xC6);
955 }
956 
957 template <>
958 inline __m128i aeskeygenassist_si128<0x7B>(const __m128i &xmm)
959 {
960  return _mm_aeskeygenassist_si128(xmm, 0x97);
961 }
962 
963 template <>
964 inline __m128i aeskeygenassist_si128<0x7C>(const __m128i &xmm)
965 {
966  return _mm_aeskeygenassist_si128(xmm, 0x35);
967 }
968 
969 template <>
970 inline __m128i aeskeygenassist_si128<0x7D>(const __m128i &xmm)
971 {
972  return _mm_aeskeygenassist_si128(xmm, 0x6A);
973 }
974 
975 template <>
976 inline __m128i aeskeygenassist_si128<0x7E>(const __m128i &xmm)
977 {
978  return _mm_aeskeygenassist_si128(xmm, 0xD4);
979 }
980 
981 template <>
982 inline __m128i aeskeygenassist_si128<0x7F>(const __m128i &xmm)
983 {
984  return _mm_aeskeygenassist_si128(xmm, 0xB3);
985 }
986 
987 template <>
988 inline __m128i aeskeygenassist_si128<0x80>(const __m128i &xmm)
989 {
990  return _mm_aeskeygenassist_si128(xmm, 0x7D);
991 }
992 
993 template <>
994 inline __m128i aeskeygenassist_si128<0x81>(const __m128i &xmm)
995 {
996  return _mm_aeskeygenassist_si128(xmm, 0xFA);
997 }
998 
999 template <>
1000 inline __m128i aeskeygenassist_si128<0x82>(const __m128i &xmm)
1001 {
1002  return _mm_aeskeygenassist_si128(xmm, 0xEF);
1003 }
1004 
1005 template <>
1006 inline __m128i aeskeygenassist_si128<0x83>(const __m128i &xmm)
1007 {
1008  return _mm_aeskeygenassist_si128(xmm, 0xC5);
1009 }
1010 
1011 template <>
1012 inline __m128i aeskeygenassist_si128<0x84>(const __m128i &xmm)
1013 {
1014  return _mm_aeskeygenassist_si128(xmm, 0x91);
1015 }
1016 
1017 template <>
1018 inline __m128i aeskeygenassist_si128<0x85>(const __m128i &xmm)
1019 {
1020  return _mm_aeskeygenassist_si128(xmm, 0x39);
1021 }
1022 
1023 template <>
1024 inline __m128i aeskeygenassist_si128<0x86>(const __m128i &xmm)
1025 {
1026  return _mm_aeskeygenassist_si128(xmm, 0x72);
1027 }
1028 
1029 template <>
1030 inline __m128i aeskeygenassist_si128<0x87>(const __m128i &xmm)
1031 {
1032  return _mm_aeskeygenassist_si128(xmm, 0xE4);
1033 }
1034 
1035 template <>
1036 inline __m128i aeskeygenassist_si128<0x88>(const __m128i &xmm)
1037 {
1038  return _mm_aeskeygenassist_si128(xmm, 0xD3);
1039 }
1040 
1041 template <>
1042 inline __m128i aeskeygenassist_si128<0x89>(const __m128i &xmm)
1043 {
1044  return _mm_aeskeygenassist_si128(xmm, 0xBD);
1045 }
1046 
1047 template <>
1048 inline __m128i aeskeygenassist_si128<0x8A>(const __m128i &xmm)
1049 {
1050  return _mm_aeskeygenassist_si128(xmm, 0x61);
1051 }
1052 
1053 template <>
1054 inline __m128i aeskeygenassist_si128<0x8B>(const __m128i &xmm)
1055 {
1056  return _mm_aeskeygenassist_si128(xmm, 0xC2);
1057 }
1058 
1059 template <>
1060 inline __m128i aeskeygenassist_si128<0x8C>(const __m128i &xmm)
1061 {
1062  return _mm_aeskeygenassist_si128(xmm, 0x9F);
1063 }
1064 
1065 template <>
1066 inline __m128i aeskeygenassist_si128<0x8D>(const __m128i &xmm)
1067 {
1068  return _mm_aeskeygenassist_si128(xmm, 0x25);
1069 }
1070 
1071 template <>
1072 inline __m128i aeskeygenassist_si128<0x8E>(const __m128i &xmm)
1073 {
1074  return _mm_aeskeygenassist_si128(xmm, 0x4A);
1075 }
1076 
1077 template <>
1078 inline __m128i aeskeygenassist_si128<0x8F>(const __m128i &xmm)
1079 {
1080  return _mm_aeskeygenassist_si128(xmm, 0x94);
1081 }
1082 
1083 template <>
1084 inline __m128i aeskeygenassist_si128<0x90>(const __m128i &xmm)
1085 {
1086  return _mm_aeskeygenassist_si128(xmm, 0x33);
1087 }
1088 
1089 template <>
1090 inline __m128i aeskeygenassist_si128<0x91>(const __m128i &xmm)
1091 {
1092  return _mm_aeskeygenassist_si128(xmm, 0x66);
1093 }
1094 
1095 template <>
1096 inline __m128i aeskeygenassist_si128<0x92>(const __m128i &xmm)
1097 {
1098  return _mm_aeskeygenassist_si128(xmm, 0xCC);
1099 }
1100 
1101 template <>
1102 inline __m128i aeskeygenassist_si128<0x93>(const __m128i &xmm)
1103 {
1104  return _mm_aeskeygenassist_si128(xmm, 0x83);
1105 }
1106 
1107 template <>
1108 inline __m128i aeskeygenassist_si128<0x94>(const __m128i &xmm)
1109 {
1110  return _mm_aeskeygenassist_si128(xmm, 0x1D);
1111 }
1112 
1113 template <>
1114 inline __m128i aeskeygenassist_si128<0x95>(const __m128i &xmm)
1115 {
1116  return _mm_aeskeygenassist_si128(xmm, 0x3A);
1117 }
1118 
1119 template <>
1120 inline __m128i aeskeygenassist_si128<0x96>(const __m128i &xmm)
1121 {
1122  return _mm_aeskeygenassist_si128(xmm, 0x74);
1123 }
1124 
1125 template <>
1126 inline __m128i aeskeygenassist_si128<0x97>(const __m128i &xmm)
1127 {
1128  return _mm_aeskeygenassist_si128(xmm, 0xE8);
1129 }
1130 
1131 template <>
1132 inline __m128i aeskeygenassist_si128<0x98>(const __m128i &xmm)
1133 {
1134  return _mm_aeskeygenassist_si128(xmm, 0xCB);
1135 }
1136 
1137 template <>
1138 inline __m128i aeskeygenassist_si128<0x99>(const __m128i &xmm)
1139 {
1140  return _mm_aeskeygenassist_si128(xmm, 0x8D);
1141 }
1142 
1143 template <>
1144 inline __m128i aeskeygenassist_si128<0x9A>(const __m128i &xmm)
1145 {
1146  return _mm_aeskeygenassist_si128(xmm, 0x01);
1147 }
1148 
1149 template <>
1150 inline __m128i aeskeygenassist_si128<0x9B>(const __m128i &xmm)
1151 {
1152  return _mm_aeskeygenassist_si128(xmm, 0x02);
1153 }
1154 
1155 template <>
1156 inline __m128i aeskeygenassist_si128<0x9C>(const __m128i &xmm)
1157 {
1158  return _mm_aeskeygenassist_si128(xmm, 0x04);
1159 }
1160 
1161 template <>
1162 inline __m128i aeskeygenassist_si128<0x9D>(const __m128i &xmm)
1163 {
1164  return _mm_aeskeygenassist_si128(xmm, 0x08);
1165 }
1166 
1167 template <>
1168 inline __m128i aeskeygenassist_si128<0x9E>(const __m128i &xmm)
1169 {
1170  return _mm_aeskeygenassist_si128(xmm, 0x10);
1171 }
1172 
1173 template <>
1174 inline __m128i aeskeygenassist_si128<0x9F>(const __m128i &xmm)
1175 {
1176  return _mm_aeskeygenassist_si128(xmm, 0x20);
1177 }
1178 
1179 template <>
1180 inline __m128i aeskeygenassist_si128<0xA0>(const __m128i &xmm)
1181 {
1182  return _mm_aeskeygenassist_si128(xmm, 0x40);
1183 }
1184 
1185 template <>
1186 inline __m128i aeskeygenassist_si128<0xA1>(const __m128i &xmm)
1187 {
1188  return _mm_aeskeygenassist_si128(xmm, 0x80);
1189 }
1190 
1191 template <>
1192 inline __m128i aeskeygenassist_si128<0xA2>(const __m128i &xmm)
1193 {
1194  return _mm_aeskeygenassist_si128(xmm, 0x1B);
1195 }
1196 
1197 template <>
1198 inline __m128i aeskeygenassist_si128<0xA3>(const __m128i &xmm)
1199 {
1200  return _mm_aeskeygenassist_si128(xmm, 0x36);
1201 }
1202 
1203 template <>
1204 inline __m128i aeskeygenassist_si128<0xA4>(const __m128i &xmm)
1205 {
1206  return _mm_aeskeygenassist_si128(xmm, 0x6C);
1207 }
1208 
1209 template <>
1210 inline __m128i aeskeygenassist_si128<0xA5>(const __m128i &xmm)
1211 {
1212  return _mm_aeskeygenassist_si128(xmm, 0xD8);
1213 }
1214 
1215 template <>
1216 inline __m128i aeskeygenassist_si128<0xA6>(const __m128i &xmm)
1217 {
1218  return _mm_aeskeygenassist_si128(xmm, 0xAB);
1219 }
1220 
1221 template <>
1222 inline __m128i aeskeygenassist_si128<0xA7>(const __m128i &xmm)
1223 {
1224  return _mm_aeskeygenassist_si128(xmm, 0x4D);
1225 }
1226 
1227 template <>
1228 inline __m128i aeskeygenassist_si128<0xA8>(const __m128i &xmm)
1229 {
1230  return _mm_aeskeygenassist_si128(xmm, 0x9A);
1231 }
1232 
1233 template <>
1234 inline __m128i aeskeygenassist_si128<0xA9>(const __m128i &xmm)
1235 {
1236  return _mm_aeskeygenassist_si128(xmm, 0x2F);
1237 }
1238 
1239 template <>
1240 inline __m128i aeskeygenassist_si128<0xAA>(const __m128i &xmm)
1241 {
1242  return _mm_aeskeygenassist_si128(xmm, 0x5E);
1243 }
1244 
1245 template <>
1246 inline __m128i aeskeygenassist_si128<0xAB>(const __m128i &xmm)
1247 {
1248  return _mm_aeskeygenassist_si128(xmm, 0xBC);
1249 }
1250 
1251 template <>
1252 inline __m128i aeskeygenassist_si128<0xAC>(const __m128i &xmm)
1253 {
1254  return _mm_aeskeygenassist_si128(xmm, 0x63);
1255 }
1256 
1257 template <>
1258 inline __m128i aeskeygenassist_si128<0xAD>(const __m128i &xmm)
1259 {
1260  return _mm_aeskeygenassist_si128(xmm, 0xC6);
1261 }
1262 
1263 template <>
1264 inline __m128i aeskeygenassist_si128<0xAE>(const __m128i &xmm)
1265 {
1266  return _mm_aeskeygenassist_si128(xmm, 0x97);
1267 }
1268 
1269 template <>
1270 inline __m128i aeskeygenassist_si128<0xAF>(const __m128i &xmm)
1271 {
1272  return _mm_aeskeygenassist_si128(xmm, 0x35);
1273 }
1274 
1275 template <>
1276 inline __m128i aeskeygenassist_si128<0xB0>(const __m128i &xmm)
1277 {
1278  return _mm_aeskeygenassist_si128(xmm, 0x6A);
1279 }
1280 
1281 template <>
1282 inline __m128i aeskeygenassist_si128<0xB1>(const __m128i &xmm)
1283 {
1284  return _mm_aeskeygenassist_si128(xmm, 0xD4);
1285 }
1286 
1287 template <>
1288 inline __m128i aeskeygenassist_si128<0xB2>(const __m128i &xmm)
1289 {
1290  return _mm_aeskeygenassist_si128(xmm, 0xB3);
1291 }
1292 
1293 template <>
1294 inline __m128i aeskeygenassist_si128<0xB3>(const __m128i &xmm)
1295 {
1296  return _mm_aeskeygenassist_si128(xmm, 0x7D);
1297 }
1298 
1299 template <>
1300 inline __m128i aeskeygenassist_si128<0xB4>(const __m128i &xmm)
1301 {
1302  return _mm_aeskeygenassist_si128(xmm, 0xFA);
1303 }
1304 
1305 template <>
1306 inline __m128i aeskeygenassist_si128<0xB5>(const __m128i &xmm)
1307 {
1308  return _mm_aeskeygenassist_si128(xmm, 0xEF);
1309 }
1310 
1311 template <>
1312 inline __m128i aeskeygenassist_si128<0xB6>(const __m128i &xmm)
1313 {
1314  return _mm_aeskeygenassist_si128(xmm, 0xC5);
1315 }
1316 
1317 template <>
1318 inline __m128i aeskeygenassist_si128<0xB7>(const __m128i &xmm)
1319 {
1320  return _mm_aeskeygenassist_si128(xmm, 0x91);
1321 }
1322 
1323 template <>
1324 inline __m128i aeskeygenassist_si128<0xB8>(const __m128i &xmm)
1325 {
1326  return _mm_aeskeygenassist_si128(xmm, 0x39);
1327 }
1328 
1329 template <>
1330 inline __m128i aeskeygenassist_si128<0xB9>(const __m128i &xmm)
1331 {
1332  return _mm_aeskeygenassist_si128(xmm, 0x72);
1333 }
1334 
1335 template <>
1336 inline __m128i aeskeygenassist_si128<0xBA>(const __m128i &xmm)
1337 {
1338  return _mm_aeskeygenassist_si128(xmm, 0xE4);
1339 }
1340 
1341 template <>
1342 inline __m128i aeskeygenassist_si128<0xBB>(const __m128i &xmm)
1343 {
1344  return _mm_aeskeygenassist_si128(xmm, 0xD3);
1345 }
1346 
1347 template <>
1348 inline __m128i aeskeygenassist_si128<0xBC>(const __m128i &xmm)
1349 {
1350  return _mm_aeskeygenassist_si128(xmm, 0xBD);
1351 }
1352 
1353 template <>
1354 inline __m128i aeskeygenassist_si128<0xBD>(const __m128i &xmm)
1355 {
1356  return _mm_aeskeygenassist_si128(xmm, 0x61);
1357 }
1358 
1359 template <>
1360 inline __m128i aeskeygenassist_si128<0xBE>(const __m128i &xmm)
1361 {
1362  return _mm_aeskeygenassist_si128(xmm, 0xC2);
1363 }
1364 
1365 template <>
1366 inline __m128i aeskeygenassist_si128<0xBF>(const __m128i &xmm)
1367 {
1368  return _mm_aeskeygenassist_si128(xmm, 0x9F);
1369 }
1370 
1371 template <>
1372 inline __m128i aeskeygenassist_si128<0xC0>(const __m128i &xmm)
1373 {
1374  return _mm_aeskeygenassist_si128(xmm, 0x25);
1375 }
1376 
1377 template <>
1378 inline __m128i aeskeygenassist_si128<0xC1>(const __m128i &xmm)
1379 {
1380  return _mm_aeskeygenassist_si128(xmm, 0x4A);
1381 }
1382 
1383 template <>
1384 inline __m128i aeskeygenassist_si128<0xC2>(const __m128i &xmm)
1385 {
1386  return _mm_aeskeygenassist_si128(xmm, 0x94);
1387 }
1388 
1389 template <>
1390 inline __m128i aeskeygenassist_si128<0xC3>(const __m128i &xmm)
1391 {
1392  return _mm_aeskeygenassist_si128(xmm, 0x33);
1393 }
1394 
1395 template <>
1396 inline __m128i aeskeygenassist_si128<0xC4>(const __m128i &xmm)
1397 {
1398  return _mm_aeskeygenassist_si128(xmm, 0x66);
1399 }
1400 
1401 template <>
1402 inline __m128i aeskeygenassist_si128<0xC5>(const __m128i &xmm)
1403 {
1404  return _mm_aeskeygenassist_si128(xmm, 0xCC);
1405 }
1406 
1407 template <>
1408 inline __m128i aeskeygenassist_si128<0xC6>(const __m128i &xmm)
1409 {
1410  return _mm_aeskeygenassist_si128(xmm, 0x83);
1411 }
1412 
1413 template <>
1414 inline __m128i aeskeygenassist_si128<0xC7>(const __m128i &xmm)
1415 {
1416  return _mm_aeskeygenassist_si128(xmm, 0x1D);
1417 }
1418 
1419 template <>
1420 inline __m128i aeskeygenassist_si128<0xC8>(const __m128i &xmm)
1421 {
1422  return _mm_aeskeygenassist_si128(xmm, 0x3A);
1423 }
1424 
1425 template <>
1426 inline __m128i aeskeygenassist_si128<0xC9>(const __m128i &xmm)
1427 {
1428  return _mm_aeskeygenassist_si128(xmm, 0x74);
1429 }
1430 
1431 template <>
1432 inline __m128i aeskeygenassist_si128<0xCA>(const __m128i &xmm)
1433 {
1434  return _mm_aeskeygenassist_si128(xmm, 0xE8);
1435 }
1436 
1437 template <>
1438 inline __m128i aeskeygenassist_si128<0xCB>(const __m128i &xmm)
1439 {
1440  return _mm_aeskeygenassist_si128(xmm, 0xCB);
1441 }
1442 
1443 template <>
1444 inline __m128i aeskeygenassist_si128<0xCC>(const __m128i &xmm)
1445 {
1446  return _mm_aeskeygenassist_si128(xmm, 0x8D);
1447 }
1448 
1449 template <>
1450 inline __m128i aeskeygenassist_si128<0xCD>(const __m128i &xmm)
1451 {
1452  return _mm_aeskeygenassist_si128(xmm, 0x01);
1453 }
1454 
1455 template <>
1456 inline __m128i aeskeygenassist_si128<0xCE>(const __m128i &xmm)
1457 {
1458  return _mm_aeskeygenassist_si128(xmm, 0x02);
1459 }
1460 
1461 template <>
1462 inline __m128i aeskeygenassist_si128<0xCF>(const __m128i &xmm)
1463 {
1464  return _mm_aeskeygenassist_si128(xmm, 0x04);
1465 }
1466 
1467 template <>
1468 inline __m128i aeskeygenassist_si128<0xD0>(const __m128i &xmm)
1469 {
1470  return _mm_aeskeygenassist_si128(xmm, 0x08);
1471 }
1472 
1473 template <>
1474 inline __m128i aeskeygenassist_si128<0xD1>(const __m128i &xmm)
1475 {
1476  return _mm_aeskeygenassist_si128(xmm, 0x10);
1477 }
1478 
1479 template <>
1480 inline __m128i aeskeygenassist_si128<0xD2>(const __m128i &xmm)
1481 {
1482  return _mm_aeskeygenassist_si128(xmm, 0x20);
1483 }
1484 
1485 template <>
1486 inline __m128i aeskeygenassist_si128<0xD3>(const __m128i &xmm)
1487 {
1488  return _mm_aeskeygenassist_si128(xmm, 0x40);
1489 }
1490 
1491 template <>
1492 inline __m128i aeskeygenassist_si128<0xD4>(const __m128i &xmm)
1493 {
1494  return _mm_aeskeygenassist_si128(xmm, 0x80);
1495 }
1496 
1497 template <>
1498 inline __m128i aeskeygenassist_si128<0xD5>(const __m128i &xmm)
1499 {
1500  return _mm_aeskeygenassist_si128(xmm, 0x1B);
1501 }
1502 
1503 template <>
1504 inline __m128i aeskeygenassist_si128<0xD6>(const __m128i &xmm)
1505 {
1506  return _mm_aeskeygenassist_si128(xmm, 0x36);
1507 }
1508 
1509 template <>
1510 inline __m128i aeskeygenassist_si128<0xD7>(const __m128i &xmm)
1511 {
1512  return _mm_aeskeygenassist_si128(xmm, 0x6C);
1513 }
1514 
1515 template <>
1516 inline __m128i aeskeygenassist_si128<0xD8>(const __m128i &xmm)
1517 {
1518  return _mm_aeskeygenassist_si128(xmm, 0xD8);
1519 }
1520 
1521 template <>
1522 inline __m128i aeskeygenassist_si128<0xD9>(const __m128i &xmm)
1523 {
1524  return _mm_aeskeygenassist_si128(xmm, 0xAB);
1525 }
1526 
1527 template <>
1528 inline __m128i aeskeygenassist_si128<0xDA>(const __m128i &xmm)
1529 {
1530  return _mm_aeskeygenassist_si128(xmm, 0x4D);
1531 }
1532 
1533 template <>
1534 inline __m128i aeskeygenassist_si128<0xDB>(const __m128i &xmm)
1535 {
1536  return _mm_aeskeygenassist_si128(xmm, 0x9A);
1537 }
1538 
1539 template <>
1540 inline __m128i aeskeygenassist_si128<0xDC>(const __m128i &xmm)
1541 {
1542  return _mm_aeskeygenassist_si128(xmm, 0x2F);
1543 }
1544 
1545 template <>
1546 inline __m128i aeskeygenassist_si128<0xDD>(const __m128i &xmm)
1547 {
1548  return _mm_aeskeygenassist_si128(xmm, 0x5E);
1549 }
1550 
1551 template <>
1552 inline __m128i aeskeygenassist_si128<0xDE>(const __m128i &xmm)
1553 {
1554  return _mm_aeskeygenassist_si128(xmm, 0xBC);
1555 }
1556 
1557 template <>
1558 inline __m128i aeskeygenassist_si128<0xDF>(const __m128i &xmm)
1559 {
1560  return _mm_aeskeygenassist_si128(xmm, 0x63);
1561 }
1562 
1563 template <>
1564 inline __m128i aeskeygenassist_si128<0xE0>(const __m128i &xmm)
1565 {
1566  return _mm_aeskeygenassist_si128(xmm, 0xC6);
1567 }
1568 
1569 template <>
1570 inline __m128i aeskeygenassist_si128<0xE1>(const __m128i &xmm)
1571 {
1572  return _mm_aeskeygenassist_si128(xmm, 0x97);
1573 }
1574 
1575 template <>
1576 inline __m128i aeskeygenassist_si128<0xE2>(const __m128i &xmm)
1577 {
1578  return _mm_aeskeygenassist_si128(xmm, 0x35);
1579 }
1580 
1581 template <>
1582 inline __m128i aeskeygenassist_si128<0xE3>(const __m128i &xmm)
1583 {
1584  return _mm_aeskeygenassist_si128(xmm, 0x6A);
1585 }
1586 
1587 template <>
1588 inline __m128i aeskeygenassist_si128<0xE4>(const __m128i &xmm)
1589 {
1590  return _mm_aeskeygenassist_si128(xmm, 0xD4);
1591 }
1592 
1593 template <>
1594 inline __m128i aeskeygenassist_si128<0xE5>(const __m128i &xmm)
1595 {
1596  return _mm_aeskeygenassist_si128(xmm, 0xB3);
1597 }
1598 
1599 template <>
1600 inline __m128i aeskeygenassist_si128<0xE6>(const __m128i &xmm)
1601 {
1602  return _mm_aeskeygenassist_si128(xmm, 0x7D);
1603 }
1604 
1605 template <>
1606 inline __m128i aeskeygenassist_si128<0xE7>(const __m128i &xmm)
1607 {
1608  return _mm_aeskeygenassist_si128(xmm, 0xFA);
1609 }
1610 
1611 template <>
1612 inline __m128i aeskeygenassist_si128<0xE8>(const __m128i &xmm)
1613 {
1614  return _mm_aeskeygenassist_si128(xmm, 0xEF);
1615 }
1616 
1617 template <>
1618 inline __m128i aeskeygenassist_si128<0xE9>(const __m128i &xmm)
1619 {
1620  return _mm_aeskeygenassist_si128(xmm, 0xC5);
1621 }
1622 
1623 template <>
1624 inline __m128i aeskeygenassist_si128<0xEA>(const __m128i &xmm)
1625 {
1626  return _mm_aeskeygenassist_si128(xmm, 0x91);
1627 }
1628 
1629 template <>
1630 inline __m128i aeskeygenassist_si128<0xEB>(const __m128i &xmm)
1631 {
1632  return _mm_aeskeygenassist_si128(xmm, 0x39);
1633 }
1634 
1635 template <>
1636 inline __m128i aeskeygenassist_si128<0xEC>(const __m128i &xmm)
1637 {
1638  return _mm_aeskeygenassist_si128(xmm, 0x72);
1639 }
1640 
1641 template <>
1642 inline __m128i aeskeygenassist_si128<0xED>(const __m128i &xmm)
1643 {
1644  return _mm_aeskeygenassist_si128(xmm, 0xE4);
1645 }
1646 
1647 template <>
1648 inline __m128i aeskeygenassist_si128<0xEE>(const __m128i &xmm)
1649 {
1650  return _mm_aeskeygenassist_si128(xmm, 0xD3);
1651 }
1652 
1653 template <>
1654 inline __m128i aeskeygenassist_si128<0xEF>(const __m128i &xmm)
1655 {
1656  return _mm_aeskeygenassist_si128(xmm, 0xBD);
1657 }
1658 
1659 template <>
1660 inline __m128i aeskeygenassist_si128<0xF0>(const __m128i &xmm)
1661 {
1662  return _mm_aeskeygenassist_si128(xmm, 0x61);
1663 }
1664 
1665 template <>
1666 inline __m128i aeskeygenassist_si128<0xF1>(const __m128i &xmm)
1667 {
1668  return _mm_aeskeygenassist_si128(xmm, 0xC2);
1669 }
1670 
1671 template <>
1672 inline __m128i aeskeygenassist_si128<0xF2>(const __m128i &xmm)
1673 {
1674  return _mm_aeskeygenassist_si128(xmm, 0x9F);
1675 }
1676 
1677 template <>
1678 inline __m128i aeskeygenassist_si128<0xF3>(const __m128i &xmm)
1679 {
1680  return _mm_aeskeygenassist_si128(xmm, 0x25);
1681 }
1682 
1683 template <>
1684 inline __m128i aeskeygenassist_si128<0xF4>(const __m128i &xmm)
1685 {
1686  return _mm_aeskeygenassist_si128(xmm, 0x4A);
1687 }
1688 
1689 template <>
1690 inline __m128i aeskeygenassist_si128<0xF5>(const __m128i &xmm)
1691 {
1692  return _mm_aeskeygenassist_si128(xmm, 0x94);
1693 }
1694 
1695 template <>
1696 inline __m128i aeskeygenassist_si128<0xF6>(const __m128i &xmm)
1697 {
1698  return _mm_aeskeygenassist_si128(xmm, 0x33);
1699 }
1700 
1701 template <>
1702 inline __m128i aeskeygenassist_si128<0xF7>(const __m128i &xmm)
1703 {
1704  return _mm_aeskeygenassist_si128(xmm, 0x66);
1705 }
1706 
1707 template <>
1708 inline __m128i aeskeygenassist_si128<0xF8>(const __m128i &xmm)
1709 {
1710  return _mm_aeskeygenassist_si128(xmm, 0xCC);
1711 }
1712 
1713 template <>
1714 inline __m128i aeskeygenassist_si128<0xF9>(const __m128i &xmm)
1715 {
1716  return _mm_aeskeygenassist_si128(xmm, 0x83);
1717 }
1718 
1719 template <>
1720 inline __m128i aeskeygenassist_si128<0xFA>(const __m128i &xmm)
1721 {
1722  return _mm_aeskeygenassist_si128(xmm, 0x1D);
1723 }
1724 
1725 template <>
1726 inline __m128i aeskeygenassist_si128<0xFB>(const __m128i &xmm)
1727 {
1728  return _mm_aeskeygenassist_si128(xmm, 0x3A);
1729 }
1730 
1731 template <>
1732 inline __m128i aeskeygenassist_si128<0xFC>(const __m128i &xmm)
1733 {
1734  return _mm_aeskeygenassist_si128(xmm, 0x74);
1735 }
1736 
1737 template <>
1738 inline __m128i aeskeygenassist_si128<0xFD>(const __m128i &xmm)
1739 {
1740  return _mm_aeskeygenassist_si128(xmm, 0xE8);
1741 }
1742 
1743 template <>
1744 inline __m128i aeskeygenassist_si128<0xFE>(const __m128i &xmm)
1745 {
1746  return _mm_aeskeygenassist_si128(xmm, 0xCB);
1747 }
1748 
1749 template <>
1750 inline __m128i aeskeygenassist_si128<0xFF>(const __m128i &xmm)
1751 {
1752  return _mm_aeskeygenassist_si128(xmm, 0x8D);
1753 }
1754 
1755 } // namespace internal
1756 
1757 } // namespace mckl
1758 
1760 
1761 #endif // MCKL_INTERNAL_AESNI_HPP
__m128i aeskeygenassist_si128< 0xD1 >(const __m128i &xmm)
Definition: aesni.hpp:1474
__m128i aeskeygenassist_si128< 0x08 >(const __m128i &xmm)
Definition: aesni.hpp:268
__m128i aeskeygenassist_si128< 0xF5 >(const __m128i &xmm)
Definition: aesni.hpp:1690
__m128i aeskeygenassist_si128< 0x77 >(const __m128i &xmm)
Definition: aesni.hpp:934
__m128i aeskeygenassist_si128< 0xEC >(const __m128i &xmm)
Definition: aesni.hpp:1636
__m128i aeskeygenassist_si128< 0xC0 >(const __m128i &xmm)
Definition: aesni.hpp:1372
__m128i aeskeygenassist_si128< 0x00 >(const __m128i &xmm)
Definition: aesni.hpp:220
__m128i aeskeygenassist_si128< 0xE9 >(const __m128i &xmm)
Definition: aesni.hpp:1618
__m128i aeskeygenassist_si128< 0xF4 >(const __m128i &xmm)
Definition: aesni.hpp:1684
__m128i aeskeygenassist_si128< 0x0F >(const __m128i &xmm)
Definition: aesni.hpp:310
__m128i aeskeygenassist_si128< 0x51 >(const __m128i &xmm)
Definition: aesni.hpp:706
__m128i aeskeygenassist_si128< 0x06 >(const __m128i &xmm)
Definition: aesni.hpp:256
__m128i aeskeygenassist_si128< 0x7D >(const __m128i &xmm)
Definition: aesni.hpp:970
__m128i aeskeygenassist_si128< 0x34 >(const __m128i &xmm)
Definition: aesni.hpp:532
__m128i aeskeygenassist_si128< 0x3A >(const __m128i &xmm)
Definition: aesni.hpp:568
__m128i aeskeygenassist_si128< 0xFA >(const __m128i &xmm)
Definition: aesni.hpp:1720
__m128i aeskeygenassist_si128< 0xCA >(const __m128i &xmm)
Definition: aesni.hpp:1432
__m128i aeskeygenassist_si128< 0xBA >(const __m128i &xmm)
Definition: aesni.hpp:1336
__m128i aeskeygenassist_si128< 0xEE >(const __m128i &xmm)
Definition: aesni.hpp:1648
__m128i aeskeygenassist_si128< 0x8D >(const __m128i &xmm)
Definition: aesni.hpp:1066
__m128i aeskeygenassist_si128< 0x8B >(const __m128i &xmm)
Definition: aesni.hpp:1054
#define MCKL_PUSH_GCC_WARNING(warning)
Definition: compiler.h:78
__m128i aeskeygenassist_si128< 0xBD >(const __m128i &xmm)
Definition: aesni.hpp:1354
__m128i aeskeygenassist_si128< 0x5D >(const __m128i &xmm)
Definition: aesni.hpp:778
__m128i aeskeygenassist_si128< 0x53 >(const __m128i &xmm)
Definition: aesni.hpp:718
__m128i aeskeygenassist_si128< 0x0E >(const __m128i &xmm)
Definition: aesni.hpp:304
__m128i aeskeygenassist_si128< 0x2E >(const __m128i &xmm)
Definition: aesni.hpp:496
__m128i aeskeygenassist_si128< 0x0C >(const __m128i &xmm)
Definition: aesni.hpp:292
__m128i aeskeygenassist_si128< 0x9C >(const __m128i &xmm)
Definition: aesni.hpp:1156
__m128i aeskeygenassist_si128< 0x87 >(const __m128i &xmm)
Definition: aesni.hpp:1030
__m128i aeskeygenassist_si128< 0xB1 >(const __m128i &xmm)
Definition: aesni.hpp:1282
__m128i aeskeygenassist_si128< 0xE3 >(const __m128i &xmm)
Definition: aesni.hpp:1582
__m128i aeskeygenassist_si128< 0x40 >(const __m128i &xmm)
Definition: aesni.hpp:604
__m128i aeskeygenassist_si128< 0x0D >(const __m128i &xmm)
Definition: aesni.hpp:298
__m128i aeskeygenassist_si128< 0x1D >(const __m128i &xmm)
Definition: aesni.hpp:394
__m128i aeskeygenassist_si128< 0xE6 >(const __m128i &xmm)
Definition: aesni.hpp:1600
__m128i aeskeygenassist_si128< 0xCC >(const __m128i &xmm)
Definition: aesni.hpp:1444
__m128i aeskeygenassist_si128< 0x11 >(const __m128i &xmm)
Definition: aesni.hpp:322
__m128i aeskeygenassist_si128< 0xB3 >(const __m128i &xmm)
Definition: aesni.hpp:1294
__m128i aeskeygenassist_si128< 0xAA >(const __m128i &xmm)
Definition: aesni.hpp:1240
__m128i aeskeygenassist_si128< 0xC7 >(const __m128i &xmm)
Definition: aesni.hpp:1414
__m128i aeskeygenassist_si128< 0x86 >(const __m128i &xmm)
Definition: aesni.hpp:1024
__m128i aeskeygenassist_si128< 0xC3 >(const __m128i &xmm)
Definition: aesni.hpp:1390
__m128i aeskeygenassist_si128< 0x67 >(const __m128i &xmm)
Definition: aesni.hpp:838
__m128i aeskeygenassist_si128< 0x8A >(const __m128i &xmm)
Definition: aesni.hpp:1048
__m128i aeskeygenassist_si128< 0x01 >(const __m128i &xmm)
Definition: aesni.hpp:226
__m128i aeskeygenassist_si128< 0x41 >(const __m128i &xmm)
Definition: aesni.hpp:610
__m128i aeskeygenassist_si128< 0x5A >(const __m128i &xmm)
Definition: aesni.hpp:760
__m128i aeskeygenassist_si128< 0xDC >(const __m128i &xmm)
Definition: aesni.hpp:1540
__m128i aeskeygenassist_si128< 0x72 >(const __m128i &xmm)
Definition: aesni.hpp:904
__m128i aeskeygenassist_si128< 0x9A >(const __m128i &xmm)
Definition: aesni.hpp:1144
__m128i aeskeygenassist_si128< 0x0B >(const __m128i &xmm)
Definition: aesni.hpp:286
__m128i aeskeygenassist_si128< 0x96 >(const __m128i &xmm)
Definition: aesni.hpp:1120
__m128i aeskeygenassist_si128< 0x5C >(const __m128i &xmm)
Definition: aesni.hpp:772
__m128i aeskeygenassist_si128< 0x62 >(const __m128i &xmm)
Definition: aesni.hpp:808
__m128i aeskeygenassist_si128< 0xA1 >(const __m128i &xmm)
Definition: aesni.hpp:1186
__m128i aeskeygenassist_si128< 0x37 >(const __m128i &xmm)
Definition: aesni.hpp:550
__m128i aeskeygenassist_si128< 0xF2 >(const __m128i &xmm)
Definition: aesni.hpp:1672
__m128i aeskeygenassist_si128< 0x61 >(const __m128i &xmm)
Definition: aesni.hpp:802
__m128i aeskeygenassist_si128< 0x69 >(const __m128i &xmm)
Definition: aesni.hpp:850
__m128i aeskeygenassist_si128< 0xCD >(const __m128i &xmm)
Definition: aesni.hpp:1450
__m128i aeskeygenassist_si128< 0xEA >(const __m128i &xmm)
Definition: aesni.hpp:1624
__m128i aeskeygenassist_si128< 0xB7 >(const __m128i &xmm)
Definition: aesni.hpp:1318
__m128i aeskeygenassist_si128< 0x43 >(const __m128i &xmm)
Definition: aesni.hpp:622
__m128i aeskeygenassist_si128< 0x59 >(const __m128i &xmm)
Definition: aesni.hpp:754
__m128i aeskeygenassist_si128< 0x14 >(const __m128i &xmm)
Definition: aesni.hpp:340
__m128i aeskeygenassist_si128< 0x85 >(const __m128i &xmm)
Definition: aesni.hpp:1018
__m128i aeskeygenassist_si128< 0x25 >(const __m128i &xmm)
Definition: aesni.hpp:442
__m128i aeskeygenassist_si128< 0x91 >(const __m128i &xmm)
Definition: aesni.hpp:1090
__m128i aeskeygenassist_si128< 0x17 >(const __m128i &xmm)
Definition: aesni.hpp:358
__m128i aeskeygenassist_si128< 0xF0 >(const __m128i &xmm)
Definition: aesni.hpp:1660
__m128i aeskeygenassist_si128< 0x15 >(const __m128i &xmm)
Definition: aesni.hpp:346
__m128i aeskeygenassist_si128< 0xF3 >(const __m128i &xmm)
Definition: aesni.hpp:1678
__m128i aeskeygenassist_si128< 0xD4 >(const __m128i &xmm)
Definition: aesni.hpp:1492
__m128i aeskeygenassist_si128< 0x1E >(const __m128i &xmm)
Definition: aesni.hpp:400
__m128i aeskeygenassist_si128< 0x81 >(const __m128i &xmm)
Definition: aesni.hpp:994
__m128i aeskeygenassist_si128< 0xEF >(const __m128i &xmm)
Definition: aesni.hpp:1654
__m128i aeskeygenassist_si128< 0x04 >(const __m128i &xmm)
Definition: aesni.hpp:244
__m128i aeskeygenassist_si128< 0xCF >(const __m128i &xmm)
Definition: aesni.hpp:1462
__m128i aeskeygenassist_si128< 0xA5 >(const __m128i &xmm)
Definition: aesni.hpp:1210
__m128i aeskeygenassist_si128< 0x27 >(const __m128i &xmm)
Definition: aesni.hpp:454
__m128i aeskeygenassist_si128< 0x68 >(const __m128i &xmm)
Definition: aesni.hpp:844
__m128i aeskeygenassist_si128< 0xD8 >(const __m128i &xmm)
Definition: aesni.hpp:1516
__m128i aeskeygenassist_si128< 0x13 >(const __m128i &xmm)
Definition: aesni.hpp:334
__m128i aeskeygenassist_si128< 0x8F >(const __m128i &xmm)
Definition: aesni.hpp:1078
__m128i aeskeygenassist_si128< 0x6B >(const __m128i &xmm)
Definition: aesni.hpp:862
__m128i aeskeygenassist_si128< 0xA8 >(const __m128i &xmm)
Definition: aesni.hpp:1228
__m128i aeskeygenassist_si128< 0x2A >(const __m128i &xmm)
Definition: aesni.hpp:472
__m128i aeskeygenassist_si128< 0xDD >(const __m128i &xmm)
Definition: aesni.hpp:1546
__m128i aeskeygenassist_si128< 0xD9 >(const __m128i &xmm)
Definition: aesni.hpp:1522
__m128i aeskeygenassist_si128< 0xD5 >(const __m128i &xmm)
Definition: aesni.hpp:1498
__m128i aeskeygenassist_si128< 0x03 >(const __m128i &xmm)
Definition: aesni.hpp:238
__m128i aeskeygenassist_si128< 0x02 >(const __m128i &xmm)
Definition: aesni.hpp:232
__m128i aeskeygenassist_si128< 0x47 >(const __m128i &xmm)
Definition: aesni.hpp:646
__m128i aeskeygenassist_si128< 0xE1 >(const __m128i &xmm)
Definition: aesni.hpp:1570
__m128i aeskeygenassist_si128< 0xA9 >(const __m128i &xmm)
Definition: aesni.hpp:1234
__m128i aeskeygenassist_si128< 0x92 >(const __m128i &xmm)
Definition: aesni.hpp:1096
__m128i aeskeygenassist_si128< 0x28 >(const __m128i &xmm)
Definition: aesni.hpp:460
__m128i aeskeygenassist_si128< 0x60 >(const __m128i &xmm)
Definition: aesni.hpp:796
__m128i aeskeygenassist_si128< 0x19 >(const __m128i &xmm)
Definition: aesni.hpp:370
__m128i aeskeygenassist_si128< 0x36 >(const __m128i &xmm)
Definition: aesni.hpp:544
__m128i aeskeygenassist_si128< 0x30 >(const __m128i &xmm)
Definition: aesni.hpp:508
__m128i aeskeygenassist_si128< 0x4B >(const __m128i &xmm)
Definition: aesni.hpp:670
__m128i aeskeygenassist_si128< 0x90 >(const __m128i &xmm)
Definition: aesni.hpp:1084
__m128i aeskeygenassist_si128< 0x7B >(const __m128i &xmm)
Definition: aesni.hpp:958
__m128i aeskeygenassist_si128< 0x74 >(const __m128i &xmm)
Definition: aesni.hpp:916
__m128i aeskeygenassist_si128< 0x35 >(const __m128i &xmm)
Definition: aesni.hpp:538
__m128i aeskeygenassist_si128< 0xED >(const __m128i &xmm)
Definition: aesni.hpp:1642
__m128i aeskeygenassist_si128< 0xAC >(const __m128i &xmm)
Definition: aesni.hpp:1252
__m128i aeskeygenassist_si128< 0xD7 >(const __m128i &xmm)
Definition: aesni.hpp:1510
__m128i aeskeygenassist_si128< 0x64 >(const __m128i &xmm)
Definition: aesni.hpp:820
__m128i aeskeygenassist_si128< 0x98 >(const __m128i &xmm)
Definition: aesni.hpp:1132
__m128i aeskeygenassist_si128< 0xFC >(const __m128i &xmm)
Definition: aesni.hpp:1732
__m128i aeskeygenassist_si128< 0xE4 >(const __m128i &xmm)
Definition: aesni.hpp:1588
__m128i aeskeygenassist_si128< 0xA6 >(const __m128i &xmm)
Definition: aesni.hpp:1216
__m128i aeskeygenassist_si128< 0x6F >(const __m128i &xmm)
Definition: aesni.hpp:886
__m128i aeskeygenassist_si128< 0xC5 >(const __m128i &xmm)
Definition: aesni.hpp:1402
__m128i aeskeygenassist_si128< 0xF6 >(const __m128i &xmm)
Definition: aesni.hpp:1696
__m128i aeskeygenassist_si128< 0x6D >(const __m128i &xmm)
Definition: aesni.hpp:874
__m128i aeskeygenassist_si128< 0x95 >(const __m128i &xmm)
Definition: aesni.hpp:1114
__m128i aeskeygenassist_si128< 0xBC >(const __m128i &xmm)
Definition: aesni.hpp:1348
__m128i aeskeygenassist_si128< 0x2F >(const __m128i &xmm)
Definition: aesni.hpp:502
__m128i aeskeygenassist_si128< 0xB6 >(const __m128i &xmm)
Definition: aesni.hpp:1312
__m128i aeskeygenassist_si128< 0xE7 >(const __m128i &xmm)
Definition: aesni.hpp:1606
__m128i aeskeygenassist_si128< 0x7A >(const __m128i &xmm)
Definition: aesni.hpp:952
__m128i aeskeygenassist_si128< 0xE0 >(const __m128i &xmm)
Definition: aesni.hpp:1564
__m128i aeskeygenassist_si128< 0x29 >(const __m128i &xmm)
Definition: aesni.hpp:466
__m128i aeskeygenassist_si128< 0x9E >(const __m128i &xmm)
Definition: aesni.hpp:1168
__m128i aeskeygenassist_si128< 0x16 >(const __m128i &xmm)
Definition: aesni.hpp:352
__m128i aeskeygenassist_si128< 0x7C >(const __m128i &xmm)
Definition: aesni.hpp:964
__m128i aeskeygenassist_si128< 0xFE >(const __m128i &xmm)
Definition: aesni.hpp:1744
__m128i aeskeygenassist_si128< 0x5F >(const __m128i &xmm)
Definition: aesni.hpp:790
__m128i aeskeygenassist_si128< 0x73 >(const __m128i &xmm)
Definition: aesni.hpp:910
__m128i aeskeygenassist_si128< 0x97 >(const __m128i &xmm)
Definition: aesni.hpp:1126
__m128i aeskeygenassist_si128< 0x48 >(const __m128i &xmm)
Definition: aesni.hpp:652
__m128i aeskeygenassist_si128< 0x3D >(const __m128i &xmm)
Definition: aesni.hpp:586
__m128i aeskeygenassist_si128< 0xB2 >(const __m128i &xmm)
Definition: aesni.hpp:1288
__m128i aeskeygenassist_si128< 0xCB >(const __m128i &xmm)
Definition: aesni.hpp:1438
__m128i aeskeygenassist_si128< 0x12 >(const __m128i &xmm)
Definition: aesni.hpp:328
__m128i aeskeygenassist_si128< 0x44 >(const __m128i &xmm)
Definition: aesni.hpp:628
__m128i aeskeygenassist_si128< 0x3F >(const __m128i &xmm)
Definition: aesni.hpp:598
__m128i aeskeygenassist_si128< 0x3E >(const __m128i &xmm)
Definition: aesni.hpp:592
__m128i aeskeygenassist_si128< 0x83 >(const __m128i &xmm)
Definition: aesni.hpp:1006
__m128i aeskeygenassist_si128< 0xB5 >(const __m128i &xmm)
Definition: aesni.hpp:1306
__m128i aeskeygenassist_si128< 0x58 >(const __m128i &xmm)
Definition: aesni.hpp:748
__m128i aeskeygenassist_si128< 0xB8 >(const __m128i &xmm)
Definition: aesni.hpp:1324
__m128i aeskeygenassist_si128< 0x2D >(const __m128i &xmm)
Definition: aesni.hpp:490
__m128i aeskeygenassist_si128< 0x07 >(const __m128i &xmm)
Definition: aesni.hpp:262
__m128i aeskeygenassist_si128< 0x1B >(const __m128i &xmm)
Definition: aesni.hpp:382
__m128i aeskeygenassist_si128< 0xA0 >(const __m128i &xmm)
Definition: aesni.hpp:1180
__m128i aeskeygenassist_si128< 0xC1 >(const __m128i &xmm)
Definition: aesni.hpp:1378
__m128i aeskeygenassist_si128< 0x9D >(const __m128i &xmm)
Definition: aesni.hpp:1162
__m128i aeskeygenassist_si128< 0x56 >(const __m128i &xmm)
Definition: aesni.hpp:736
__m128i aeskeygenassist_si128< 0x79 >(const __m128i &xmm)
Definition: aesni.hpp:946
__m128i aeskeygenassist_si128< 0x38 >(const __m128i &xmm)
Definition: aesni.hpp:556
__m128i aeskeygenassist_si128< 0xF9 >(const __m128i &xmm)
Definition: aesni.hpp:1714
__m128i aeskeygenassist_si128< 0xB0 >(const __m128i &xmm)
Definition: aesni.hpp:1276
__m128i aeskeygenassist_si128< 0xFB >(const __m128i &xmm)
Definition: aesni.hpp:1726
__m128i aeskeygenassist_si128< 0xE2 >(const __m128i &xmm)
Definition: aesni.hpp:1576
__m128i aeskeygenassist_si128< 0x39 >(const __m128i &xmm)
Definition: aesni.hpp:562
__m128i aeskeygenassist_si128< 0x05 >(const __m128i &xmm)
Definition: aesni.hpp:250
__m128i aeskeygenassist_si128< 0x32 >(const __m128i &xmm)
Definition: aesni.hpp:520
__m128i aeskeygenassist_si128< 0xAE >(const __m128i &xmm)
Definition: aesni.hpp:1264
__m128i aeskeygenassist_si128< 0x5E >(const __m128i &xmm)
Definition: aesni.hpp:784
__m128i aeskeygenassist_si128< 0x99 >(const __m128i &xmm)
Definition: aesni.hpp:1138
__m128i aeskeygenassist_si128< 0x6C >(const __m128i &xmm)
Definition: aesni.hpp:868
__m128i aeskeygenassist_si128< 0x49 >(const __m128i &xmm)
Definition: aesni.hpp:658
__m128i aeskeygenassist_si128< 0x65 >(const __m128i &xmm)
Definition: aesni.hpp:826
__m128i aeskeygenassist_si128< 0xDE >(const __m128i &xmm)
Definition: aesni.hpp:1552
__m128i aeskeygenassist_si128< 0xA7 >(const __m128i &xmm)
Definition: aesni.hpp:1222
__m128i aeskeygenassist_si128< 0x4D >(const __m128i &xmm)
Definition: aesni.hpp:682
__m128i aeskeygenassist_si128< 0x3C >(const __m128i &xmm)
Definition: aesni.hpp:580
__m128i aeskeygenassist_si128< 0x84 >(const __m128i &xmm)
Definition: aesni.hpp:1012
__m128i aeskeygenassist_si128< 0x71 >(const __m128i &xmm)
Definition: aesni.hpp:898
__m128i aeskeygenassist_si128< 0x7E >(const __m128i &xmm)
Definition: aesni.hpp:976
__m128i aeskeygenassist_si128< 0x22 >(const __m128i &xmm)
Definition: aesni.hpp:424
Definition: mcmc.hpp:40
__m128i aeskeygenassist_si128< 0x20 >(const __m128i &xmm)
Definition: aesni.hpp:412
__m128i aeskeygenassist_si128< 0xBE >(const __m128i &xmm)
Definition: aesni.hpp:1360
__m128i aeskeygenassist_si128< 0x8C >(const __m128i &xmm)
Definition: aesni.hpp:1060
__m128i aeskeygenassist_si128< 0xD6 >(const __m128i &xmm)
Definition: aesni.hpp:1504
__m128i aeskeygenassist_si128< 0x50 >(const __m128i &xmm)
Definition: aesni.hpp:700
__m128i aeskeygenassist_si128< 0x33 >(const __m128i &xmm)
Definition: aesni.hpp:526
__m128i aeskeygenassist_si128< 0x52 >(const __m128i &xmm)
Definition: aesni.hpp:712
__m128i aeskeygenassist_si128< 0x45 >(const __m128i &xmm)
Definition: aesni.hpp:634
__m128i aeskeygenassist_si128< 0x2B >(const __m128i &xmm)
Definition: aesni.hpp:478
__m128i aeskeygenassist_si128< 0x23 >(const __m128i &xmm)
Definition: aesni.hpp:430
__m128i aeskeygenassist_si128< 0x24 >(const __m128i &xmm)
Definition: aesni.hpp:436
__m128i aeskeygenassist_si128< 0xC8 >(const __m128i &xmm)
Definition: aesni.hpp:1420
__m128i aeskeygenassist_si128< 0x70 >(const __m128i &xmm)
Definition: aesni.hpp:892
__m128i aeskeygenassist_si128< 0xCE >(const __m128i &xmm)
Definition: aesni.hpp:1456
__m128i aeskeygenassist_si128< 0x4E >(const __m128i &xmm)
Definition: aesni.hpp:688
__m128i aeskeygenassist_si128< 0xF7 >(const __m128i &xmm)
Definition: aesni.hpp:1702
__m128i aeskeygenassist_si128< 0x9B >(const __m128i &xmm)
Definition: aesni.hpp:1150
__m128i aeskeygenassist_si128< 0xA2 >(const __m128i &xmm)
Definition: aesni.hpp:1192
__m128i aeskeygenassist_si128< 0xD0 >(const __m128i &xmm)
Definition: aesni.hpp:1468
__m128i aeskeygenassist_si128< 0xC6 >(const __m128i &xmm)
Definition: aesni.hpp:1408
__m128i aeskeygenassist_si128< 0x88 >(const __m128i &xmm)
Definition: aesni.hpp:1036
__m128i aeskeygenassist_si128< 0x21 >(const __m128i &xmm)
Definition: aesni.hpp:418
__m128i aeskeygenassist_si128< 0x7F >(const __m128i &xmm)
Definition: aesni.hpp:982
__m128i aeskeygenassist_si128< 0x93 >(const __m128i &xmm)
Definition: aesni.hpp:1102
__m128i aeskeygenassist_si128< 0xE5 >(const __m128i &xmm)
Definition: aesni.hpp:1594
__m128i aeskeygenassist_si128< 0x78 >(const __m128i &xmm)
Definition: aesni.hpp:940
__m128i aeskeygenassist_si128< 0x10 >(const __m128i &xmm)
Definition: aesni.hpp:316
__m128i aeskeygenassist_si128< 0xF1 >(const __m128i &xmm)
Definition: aesni.hpp:1666
__m128i aeskeygenassist_si128< 0x6E >(const __m128i &xmm)
Definition: aesni.hpp:880
__m128i aeskeygenassist_si128< 0x4F >(const __m128i &xmm)
Definition: aesni.hpp:694
__m128i aeskeygenassist_si128< 0x31 >(const __m128i &xmm)
Definition: aesni.hpp:514
__m128i aeskeygenassist_si128< 0x4A >(const __m128i &xmm)
Definition: aesni.hpp:664
__m128i aeskeygenassist_si128< 0xD2 >(const __m128i &xmm)
Definition: aesni.hpp:1480
__m128i aeskeygenassist_si128< 0xAD >(const __m128i &xmm)
Definition: aesni.hpp:1258
__m128i aeskeygenassist_si128< 0x09 >(const __m128i &xmm)
Definition: aesni.hpp:274
__m128i aeskeygenassist_si128< 0x55 >(const __m128i &xmm)
Definition: aesni.hpp:730
__m128i aeskeygenassist_si128< 0x54 >(const __m128i &xmm)
Definition: aesni.hpp:724
__m128i aeskeygenassist_si128< 0xA4 >(const __m128i &xmm)
Definition: aesni.hpp:1204
#define MCKL_INLINE
Definition: clang.h:147
__m128i aeskeygenassist_si128< 0x8E >(const __m128i &xmm)
Definition: aesni.hpp:1072
__m128i aeskeygenassist_si128< 0x63 >(const __m128i &xmm)
Definition: aesni.hpp:814
__m128i aeskeygenassist_si128< 0x3B >(const __m128i &xmm)
Definition: aesni.hpp:574
__m128i aeskeygenassist_si128< 0xAF >(const __m128i &xmm)
Definition: aesni.hpp:1270
__m128i aeskeygenassist_si128< 0x2C >(const __m128i &xmm)
Definition: aesni.hpp:484
__m128i aeskeygenassist_si128< 0x82 >(const __m128i &xmm)
Definition: aesni.hpp:1000
__m128i aeskeygenassist_si128< 0xAB >(const __m128i &xmm)
Definition: aesni.hpp:1246
__m128i aeskeygenassist_si128< 0xEB >(const __m128i &xmm)
Definition: aesni.hpp:1630
__m128i aeskeygenassist_si128< 0x57 >(const __m128i &xmm)
Definition: aesni.hpp:742
__m128i aeskeygenassist_si128< 0x46 >(const __m128i &xmm)
Definition: aesni.hpp:640
__m128i aeskeygenassist_si128< 0x9F >(const __m128i &xmm)
Definition: aesni.hpp:1174
__m128i aeskeygenassist_si128< 0x94 >(const __m128i &xmm)
Definition: aesni.hpp:1108
__m128i aeskeygenassist_si128< 0xDB >(const __m128i &xmm)
Definition: aesni.hpp:1534
__m128i aeskeygenassist_si128< 0x66 >(const __m128i &xmm)
Definition: aesni.hpp:832
__m128i aeskeygenassist_si128< 0xD3 >(const __m128i &xmm)
Definition: aesni.hpp:1486
__m128i aeskeygenassist_si128< 0xBB >(const __m128i &xmm)
Definition: aesni.hpp:1342
__m128i aeskeygenassist_si128< 0xC2 >(const __m128i &xmm)
Definition: aesni.hpp:1384
__m128i aeskeygenassist_si128< 0x6A >(const __m128i &xmm)
Definition: aesni.hpp:856
__m128i aeskeygenassist_si128< 0xDA >(const __m128i &xmm)
Definition: aesni.hpp:1528
__m128i aeskeygenassist_si128< 0xFD >(const __m128i &xmm)
Definition: aesni.hpp:1738
__m128i aeskeygenassist_si128< 0x0A >(const __m128i &xmm)
Definition: aesni.hpp:280
__m128i aeskeygenassist_si128< 0x4C >(const __m128i &xmm)
Definition: aesni.hpp:676
__m128i aeskeygenassist_si128< 0xBF >(const __m128i &xmm)
Definition: aesni.hpp:1366
__m128i aeskeygenassist_si128< 0x76 >(const __m128i &xmm)
Definition: aesni.hpp:928
__m128i aeskeygenassist_si128< 0xB4 >(const __m128i &xmm)
Definition: aesni.hpp:1300
__m128i aeskeygenassist_si128< 0x80 >(const __m128i &xmm)
Definition: aesni.hpp:988
#define MCKL_POP_GCC_WARNING
Definition: compiler.h:79
__m128i aeskeygenassist_si128< 0x89 >(const __m128i &xmm)
Definition: aesni.hpp:1042
__m128i aeskeygenassist_si128< 0xFF >(const __m128i &xmm)
Definition: aesni.hpp:1750
__m128i aeskeygenassist_si128< 0x5B >(const __m128i &xmm)
Definition: aesni.hpp:766
__m128i aeskeygenassist_si128< 0xE8 >(const __m128i &xmm)
Definition: aesni.hpp:1612
__m128i aeskeygenassist_si128< 0xDF >(const __m128i &xmm)
Definition: aesni.hpp:1558
__m128i aeskeygenassist_si128< 0x1C >(const __m128i &xmm)
Definition: aesni.hpp:388
__m128i aeskeygenassist_si128< 0x75 >(const __m128i &xmm)
Definition: aesni.hpp:922
__m128i aeskeygenassist_si128< 0x1F >(const __m128i &xmm)
Definition: aesni.hpp:406
__m128i aeskeygenassist_si128< 0xC4 >(const __m128i &xmm)
Definition: aesni.hpp:1396
__m128i aeskeygenassist_si128< 0x42 >(const __m128i &xmm)
Definition: aesni.hpp:616
__m128i aeskeygenassist_si128< 0xA3 >(const __m128i &xmm)
Definition: aesni.hpp:1198
__m128i aeskeygenassist_si128< 0x18 >(const __m128i &xmm)
Definition: aesni.hpp:364
__m128i aeskeygenassist_si128< 0x1A >(const __m128i &xmm)
Definition: aesni.hpp:376
__m128i aeskeygenassist_si128< 0x26 >(const __m128i &xmm)
Definition: aesni.hpp:448
__m128i aeskeygenassist_si128(const __m128i &)
__m128i aeskeygenassist_si128< 0xC9 >(const __m128i &xmm)
Definition: aesni.hpp:1426
__m128i aeskeygenassist_si128< 0xF8 >(const __m128i &xmm)
Definition: aesni.hpp:1708
__m128i aeskeygenassist_si128< 0xB9 >(const __m128i &xmm)
Definition: aesni.hpp:1330