@cpp-linter/clang-tidy-win32-x64 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.TXT +279 -0
- package/README.md +7 -0
- package/bin/clang-tidy.exe +4 -0
- package/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h +121 -0
- package/lib/clang/12.0.1/include/__clang_cuda_cmath.h +512 -0
- package/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h +285 -0
- package/lib/clang/12.0.1/include/__clang_cuda_device_functions.h +1486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h +486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h +462 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math.h +348 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h +284 -0
- package/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h +443 -0
- package/lib/clang/12.0.1/include/__clang_hip_cmath.h +664 -0
- package/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h +334 -0
- package/lib/clang/12.0.1/include/__clang_hip_math.h +1275 -0
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +69 -0
- package/lib/clang/12.0.1/include/__stddef_max_align_t.h +27 -0
- package/lib/clang/12.0.1/include/__wmmintrin_aes.h +140 -0
- package/lib/clang/12.0.1/include/__wmmintrin_pclmul.h +48 -0
- package/lib/clang/12.0.1/include/adxintrin.h +72 -0
- package/lib/clang/12.0.1/include/altivec.h +18239 -0
- package/lib/clang/12.0.1/include/ammintrin.h +179 -0
- package/lib/clang/12.0.1/include/amxintrin.h +278 -0
- package/lib/clang/12.0.1/include/arm64intr.h +35 -0
- package/lib/clang/12.0.1/include/arm_acle.h +716 -0
- package/lib/clang/12.0.1/include/arm_bf16.h +20 -0
- package/lib/clang/12.0.1/include/arm_cde.h +410 -0
- package/lib/clang/12.0.1/include/arm_cmse.h +217 -0
- package/lib/clang/12.0.1/include/arm_fp16.h +596 -0
- package/lib/clang/12.0.1/include/arm_mve.h +19187 -0
- package/lib/clang/12.0.1/include/arm_neon.h +68982 -0
- package/lib/clang/12.0.1/include/arm_sve.h +18148 -0
- package/lib/clang/12.0.1/include/armintr.h +31 -0
- package/lib/clang/12.0.1/include/avx2intrin.h +1148 -0
- package/lib/clang/12.0.1/include/avx512bf16intrin.h +279 -0
- package/lib/clang/12.0.1/include/avx512bitalgintrin.h +83 -0
- package/lib/clang/12.0.1/include/avx512bwintrin.h +2024 -0
- package/lib/clang/12.0.1/include/avx512cdintrin.h +123 -0
- package/lib/clang/12.0.1/include/avx512dqintrin.h +1377 -0
- package/lib/clang/12.0.1/include/avx512erintrin.h +271 -0
- package/lib/clang/12.0.1/include/avx512fintrin.h +9618 -0
- package/lib/clang/12.0.1/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/12.0.1/include/avx512ifmavlintrin.h +119 -0
- package/lib/clang/12.0.1/include/avx512pfintrin.h +97 -0
- package/lib/clang/12.0.1/include/avx512vbmi2intrin.h +357 -0
- package/lib/clang/12.0.1/include/avx512vbmiintrin.h +105 -0
- package/lib/clang/12.0.1/include/avx512vbmivlintrin.h +188 -0
- package/lib/clang/12.0.1/include/avx512vlbf16intrin.h +474 -0
- package/lib/clang/12.0.1/include/avx512vlbitalgintrin.h +145 -0
- package/lib/clang/12.0.1/include/avx512vlbwintrin.h +2809 -0
- package/lib/clang/12.0.1/include/avx512vlcdintrin.h +225 -0
- package/lib/clang/12.0.1/include/avx512vldqintrin.h +1167 -0
- package/lib/clang/12.0.1/include/avx512vlintrin.h +8445 -0
- package/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h +689 -0
- package/lib/clang/12.0.1/include/avx512vlvnniintrin.h +304 -0
- package/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h +121 -0
- package/lib/clang/12.0.1/include/avx512vnniintrin.h +115 -0
- package/lib/clang/12.0.1/include/avx512vp2intersectintrin.h +77 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h +54 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h +91 -0
- package/lib/clang/12.0.1/include/avxintrin.h +5053 -0
- package/lib/clang/12.0.1/include/avxvnniintrin.h +225 -0
- package/lib/clang/12.0.1/include/bmi2intrin.h +81 -0
- package/lib/clang/12.0.1/include/bmiintrin.h +427 -0
- package/lib/clang/12.0.1/include/cet.h +66 -0
- package/lib/clang/12.0.1/include/cetintrin.h +99 -0
- package/lib/clang/12.0.1/include/cldemoteintrin.h +36 -0
- package/lib/clang/12.0.1/include/clflushoptintrin.h +27 -0
- package/lib/clang/12.0.1/include/clwbintrin.h +38 -0
- package/lib/clang/12.0.1/include/clzerointrin.h +36 -0
- package/lib/clang/12.0.1/include/cpuid.h +319 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/algorithm +116 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/complex +82 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/new +106 -0
- package/lib/clang/12.0.1/include/emmintrin.h +4981 -0
- package/lib/clang/12.0.1/include/enqcmdintrin.h +63 -0
- package/lib/clang/12.0.1/include/f16cintrin.h +162 -0
- package/lib/clang/12.0.1/include/float.h +152 -0
- package/lib/clang/12.0.1/include/fma4intrin.h +218 -0
- package/lib/clang/12.0.1/include/fmaintrin.h +216 -0
- package/lib/clang/12.0.1/include/fxsrintrin.h +91 -0
- package/lib/clang/12.0.1/include/gfniintrin.h +193 -0
- package/lib/clang/12.0.1/include/hresetintrin.h +49 -0
- package/lib/clang/12.0.1/include/htmintrin.h +212 -0
- package/lib/clang/12.0.1/include/htmxlintrin.h +345 -0
- package/lib/clang/12.0.1/include/ia32intrin.h +441 -0
- package/lib/clang/12.0.1/include/immintrin.h +600 -0
- package/lib/clang/12.0.1/include/intrin.h +585 -0
- package/lib/clang/12.0.1/include/inttypes.h +97 -0
- package/lib/clang/12.0.1/include/invpcidintrin.h +23 -0
- package/lib/clang/12.0.1/include/iso646.h +27 -0
- package/lib/clang/12.0.1/include/keylockerintrin.h +506 -0
- package/lib/clang/12.0.1/include/limits.h +102 -0
- package/lib/clang/12.0.1/include/lwpintrin.h +136 -0
- package/lib/clang/12.0.1/include/lzcntintrin.h +104 -0
- package/lib/clang/12.0.1/include/mm3dnow.h +157 -0
- package/lib/clang/12.0.1/include/mm_malloc.h +67 -0
- package/lib/clang/12.0.1/include/mmintrin.h +1558 -0
- package/lib/clang/12.0.1/include/module.modulemap +164 -0
- package/lib/clang/12.0.1/include/movdirintrin.h +49 -0
- package/lib/clang/12.0.1/include/msa.h +573 -0
- package/lib/clang/12.0.1/include/mwaitxintrin.h +33 -0
- package/lib/clang/12.0.1/include/nmmintrin.h +16 -0
- package/lib/clang/12.0.1/include/opencl-c-base.h +589 -0
- package/lib/clang/12.0.1/include/opencl-c.h +17162 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +42 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/cmath +78 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex +52 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex.h +27 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h +388 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/math.h +51 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/new +70 -0
- package/lib/clang/12.0.1/include/pconfigintrin.h +40 -0
- package/lib/clang/12.0.1/include/pkuintrin.h +34 -0
- package/lib/clang/12.0.1/include/pmmintrin.h +290 -0
- package/lib/clang/12.0.1/include/popcntintrin.h +59 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h +2324 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h +50 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h +1450 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h +150 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h +109 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h +495 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h +1843 -0
- package/lib/clang/12.0.1/include/prfchwintrin.h +55 -0
- package/lib/clang/12.0.1/include/ptwriteintrin.h +37 -0
- package/lib/clang/12.0.1/include/rdseedintrin.h +42 -0
- package/lib/clang/12.0.1/include/rtmintrin.h +45 -0
- package/lib/clang/12.0.1/include/s390intrin.h +25 -0
- package/lib/clang/12.0.1/include/serializeintrin.h +30 -0
- package/lib/clang/12.0.1/include/sgxintrin.h +60 -0
- package/lib/clang/12.0.1/include/shaintrin.h +61 -0
- package/lib/clang/12.0.1/include/smmintrin.h +2430 -0
- package/lib/clang/12.0.1/include/stdalign.h +21 -0
- package/lib/clang/12.0.1/include/stdarg.h +35 -0
- package/lib/clang/12.0.1/include/stdatomic.h +176 -0
- package/lib/clang/12.0.1/include/stdbool.h +31 -0
- package/lib/clang/12.0.1/include/stddef.h +121 -0
- package/lib/clang/12.0.1/include/stdint.h +693 -0
- package/lib/clang/12.0.1/include/stdnoreturn.h +16 -0
- package/lib/clang/12.0.1/include/tbmintrin.h +140 -0
- package/lib/clang/12.0.1/include/tgmath.h +1368 -0
- package/lib/clang/12.0.1/include/tmmintrin.h +771 -0
- package/lib/clang/12.0.1/include/tsxldtrkintrin.h +56 -0
- package/lib/clang/12.0.1/include/uintrintrin.h +150 -0
- package/lib/clang/12.0.1/include/unwind.h +327 -0
- package/lib/clang/12.0.1/include/vadefs.h +51 -0
- package/lib/clang/12.0.1/include/vaesintrin.h +84 -0
- package/lib/clang/12.0.1/include/varargs.h +12 -0
- package/lib/clang/12.0.1/include/vecintrin.h +10998 -0
- package/lib/clang/12.0.1/include/vpclmulqdqintrin.h +28 -0
- package/lib/clang/12.0.1/include/waitpkgintrin.h +42 -0
- package/lib/clang/12.0.1/include/wasm_simd128.h +1167 -0
- package/lib/clang/12.0.1/include/wbnoinvdintrin.h +24 -0
- package/lib/clang/12.0.1/include/wmmintrin.h +19 -0
- package/lib/clang/12.0.1/include/x86gprintrin.h +23 -0
- package/lib/clang/12.0.1/include/x86intrin.h +63 -0
- package/lib/clang/12.0.1/include/xmmintrin.h +3008 -0
- package/lib/clang/12.0.1/include/xopintrin.h +770 -0
- package/lib/clang/12.0.1/include/xsavecintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsaveintrin.h +63 -0
- package/lib/clang/12.0.1/include/xsaveoptintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsavesintrin.h +44 -0
- package/lib/clang/12.0.1/include/xtestintrin.h +27 -0
- package/package.json +32 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*===---- __clang_hip_runtime_wrapper.h - HIP runtime support ---------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* WARNING: This header is intended to be directly -include'd by
|
|
12
|
+
* the compiler and is not supposed to be included by users.
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
#ifndef __CLANG_HIP_RUNTIME_WRAPPER_H__
|
|
17
|
+
#define __CLANG_HIP_RUNTIME_WRAPPER_H__
|
|
18
|
+
|
|
19
|
+
#if __HIP__
|
|
20
|
+
|
|
21
|
+
#include <cmath>
|
|
22
|
+
#include <cstdlib>
|
|
23
|
+
#include <stdlib.h>
|
|
24
|
+
|
|
25
|
+
#define __host__ __attribute__((host))
|
|
26
|
+
#define __device__ __attribute__((device))
|
|
27
|
+
#define __global__ __attribute__((global))
|
|
28
|
+
#define __shared__ __attribute__((shared))
|
|
29
|
+
#define __constant__ __attribute__((constant))
|
|
30
|
+
|
|
31
|
+
#if !defined(__cplusplus) || __cplusplus < 201103L
|
|
32
|
+
#define nullptr NULL;
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#if __HIP_ENABLE_DEVICE_MALLOC__
|
|
36
|
+
extern "C" __device__ void *__hip_malloc(size_t __size);
|
|
37
|
+
extern "C" __device__ void *__hip_free(void *__ptr);
|
|
38
|
+
static inline __device__ void *malloc(size_t __size) {
|
|
39
|
+
return __hip_malloc(__size);
|
|
40
|
+
}
|
|
41
|
+
static inline __device__ void *free(void *__ptr) { return __hip_free(__ptr); }
|
|
42
|
+
#else
|
|
43
|
+
static inline __device__ void *malloc(size_t __size) {
|
|
44
|
+
__builtin_trap();
|
|
45
|
+
return nullptr;
|
|
46
|
+
}
|
|
47
|
+
static inline __device__ void *free(void *__ptr) {
|
|
48
|
+
__builtin_trap();
|
|
49
|
+
return nullptr;
|
|
50
|
+
}
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
#include <__clang_hip_libdevice_declares.h>
|
|
54
|
+
#include <__clang_hip_math.h>
|
|
55
|
+
|
|
56
|
+
#if !_OPENMP || __HIP_ENABLE_CUDA_WRAPPER_FOR_OPENMP__
|
|
57
|
+
#include <__clang_cuda_math_forward_declares.h>
|
|
58
|
+
#include <__clang_hip_cmath.h>
|
|
59
|
+
#include <__clang_cuda_complex_builtins.h>
|
|
60
|
+
|
|
61
|
+
#include <algorithm>
|
|
62
|
+
#include <complex>
|
|
63
|
+
#include <new>
|
|
64
|
+
#endif // !_OPENMP || __HIP_ENABLE_CUDA_WRAPPER_FOR_OPENMP__
|
|
65
|
+
|
|
66
|
+
#define __CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__ 1
|
|
67
|
+
|
|
68
|
+
#endif // __HIP__
|
|
69
|
+
#endif // __CLANG_HIP_RUNTIME_WRAPPER_H__
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __CLANG_MAX_ALIGN_T_DEFINED
|
|
11
|
+
#define __CLANG_MAX_ALIGN_T_DEFINED
|
|
12
|
+
|
|
13
|
+
#if defined(_MSC_VER)
|
|
14
|
+
typedef double max_align_t;
|
|
15
|
+
#elif defined(__APPLE__)
|
|
16
|
+
typedef long double max_align_t;
|
|
17
|
+
#else
|
|
18
|
+
// Define 'max_align_t' to match the GCC definition.
|
|
19
|
+
typedef struct {
|
|
20
|
+
long long __clang_max_align_nonce1
|
|
21
|
+
__attribute__((__aligned__(__alignof__(long long))));
|
|
22
|
+
long double __clang_max_align_nonce2
|
|
23
|
+
__attribute__((__aligned__(__alignof__(long double))));
|
|
24
|
+
} max_align_t;
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#endif
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*===---- __wmmintrin_aes.h - AES intrinsics -------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __WMMINTRIN_H
|
|
11
|
+
#error "Never use <__wmmintrin_aes.h> directly; include <wmmintrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __WMMINTRIN_AES_H
|
|
15
|
+
#define __WMMINTRIN_AES_H
|
|
16
|
+
|
|
17
|
+
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("aes"), __min_vector_width__(128)))
|
|
19
|
+
|
|
20
|
+
/// Performs a single round of AES encryption using the Equivalent
|
|
21
|
+
/// Inverse Cipher, transforming the state value from the first source
|
|
22
|
+
/// operand using a 128-bit round key value contained in the second source
|
|
23
|
+
/// operand, and writes the result to the destination.
|
|
24
|
+
///
|
|
25
|
+
/// \headerfile <x86intrin.h>
|
|
26
|
+
///
|
|
27
|
+
/// This intrinsic corresponds to the <c> VAESENC </c> instruction.
|
|
28
|
+
///
|
|
29
|
+
/// \param __V
|
|
30
|
+
/// A 128-bit integer vector containing the state value.
|
|
31
|
+
/// \param __R
|
|
32
|
+
/// A 128-bit integer vector containing the round key value.
|
|
33
|
+
/// \returns A 128-bit integer vector containing the encrypted value.
|
|
34
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
35
|
+
_mm_aesenc_si128(__m128i __V, __m128i __R)
|
|
36
|
+
{
|
|
37
|
+
return (__m128i)__builtin_ia32_aesenc128((__v2di)__V, (__v2di)__R);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// Performs the final round of AES encryption using the Equivalent
|
|
41
|
+
/// Inverse Cipher, transforming the state value from the first source
|
|
42
|
+
/// operand using a 128-bit round key value contained in the second source
|
|
43
|
+
/// operand, and writes the result to the destination.
|
|
44
|
+
///
|
|
45
|
+
/// \headerfile <x86intrin.h>
|
|
46
|
+
///
|
|
47
|
+
/// This intrinsic corresponds to the <c> VAESENCLAST </c> instruction.
|
|
48
|
+
///
|
|
49
|
+
/// \param __V
|
|
50
|
+
/// A 128-bit integer vector containing the state value.
|
|
51
|
+
/// \param __R
|
|
52
|
+
/// A 128-bit integer vector containing the round key value.
|
|
53
|
+
/// \returns A 128-bit integer vector containing the encrypted value.
|
|
54
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
55
|
+
_mm_aesenclast_si128(__m128i __V, __m128i __R)
|
|
56
|
+
{
|
|
57
|
+
return (__m128i)__builtin_ia32_aesenclast128((__v2di)__V, (__v2di)__R);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// Performs a single round of AES decryption using the Equivalent
|
|
61
|
+
/// Inverse Cipher, transforming the state value from the first source
|
|
62
|
+
/// operand using a 128-bit round key value contained in the second source
|
|
63
|
+
/// operand, and writes the result to the destination.
|
|
64
|
+
///
|
|
65
|
+
/// \headerfile <x86intrin.h>
|
|
66
|
+
///
|
|
67
|
+
/// This intrinsic corresponds to the <c> VAESDEC </c> instruction.
|
|
68
|
+
///
|
|
69
|
+
/// \param __V
|
|
70
|
+
/// A 128-bit integer vector containing the state value.
|
|
71
|
+
/// \param __R
|
|
72
|
+
/// A 128-bit integer vector containing the round key value.
|
|
73
|
+
/// \returns A 128-bit integer vector containing the decrypted value.
|
|
74
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
75
|
+
_mm_aesdec_si128(__m128i __V, __m128i __R)
|
|
76
|
+
{
|
|
77
|
+
return (__m128i)__builtin_ia32_aesdec128((__v2di)__V, (__v2di)__R);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/// Performs the final round of AES decryption using the Equivalent
|
|
81
|
+
/// Inverse Cipher, transforming the state value from the first source
|
|
82
|
+
/// operand using a 128-bit round key value contained in the second source
|
|
83
|
+
/// operand, and writes the result to the destination.
|
|
84
|
+
///
|
|
85
|
+
/// \headerfile <x86intrin.h>
|
|
86
|
+
///
|
|
87
|
+
/// This intrinsic corresponds to the <c> VAESDECLAST </c> instruction.
|
|
88
|
+
///
|
|
89
|
+
/// \param __V
|
|
90
|
+
/// A 128-bit integer vector containing the state value.
|
|
91
|
+
/// \param __R
|
|
92
|
+
/// A 128-bit integer vector containing the round key value.
|
|
93
|
+
/// \returns A 128-bit integer vector containing the decrypted value.
|
|
94
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
95
|
+
_mm_aesdeclast_si128(__m128i __V, __m128i __R)
|
|
96
|
+
{
|
|
97
|
+
return (__m128i)__builtin_ia32_aesdeclast128((__v2di)__V, (__v2di)__R);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/// Applies the AES InvMixColumns() transformation to an expanded key
|
|
101
|
+
/// contained in the source operand, and writes the result to the
|
|
102
|
+
/// destination.
|
|
103
|
+
///
|
|
104
|
+
/// \headerfile <x86intrin.h>
|
|
105
|
+
///
|
|
106
|
+
/// This intrinsic corresponds to the <c> VAESIMC </c> instruction.
|
|
107
|
+
///
|
|
108
|
+
/// \param __V
|
|
109
|
+
/// A 128-bit integer vector containing the expanded key.
|
|
110
|
+
/// \returns A 128-bit integer vector containing the transformed value.
|
|
111
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
112
|
+
_mm_aesimc_si128(__m128i __V)
|
|
113
|
+
{
|
|
114
|
+
return (__m128i)__builtin_ia32_aesimc128((__v2di)__V);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/// Generates a round key for AES encryption, operating on 128-bit data
|
|
118
|
+
/// specified in the first source operand and using an 8-bit round constant
|
|
119
|
+
/// specified by the second source operand, and writes the result to the
|
|
120
|
+
/// destination.
|
|
121
|
+
///
|
|
122
|
+
/// \headerfile <x86intrin.h>
|
|
123
|
+
///
|
|
124
|
+
/// \code
|
|
125
|
+
/// __m128i _mm_aeskeygenassist_si128(__m128i C, const int R);
|
|
126
|
+
/// \endcode
|
|
127
|
+
///
|
|
128
|
+
/// This intrinsic corresponds to the <c> AESKEYGENASSIST </c> instruction.
|
|
129
|
+
///
|
|
130
|
+
/// \param C
|
|
131
|
+
/// A 128-bit integer vector that is used to generate the AES encryption key.
|
|
132
|
+
/// \param R
|
|
133
|
+
/// An 8-bit round constant used to generate the AES encryption key.
|
|
134
|
+
/// \returns A 128-bit round key for AES encryption.
|
|
135
|
+
#define _mm_aeskeygenassist_si128(C, R) \
|
|
136
|
+
(__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
|
|
137
|
+
|
|
138
|
+
#undef __DEFAULT_FN_ATTRS
|
|
139
|
+
|
|
140
|
+
#endif /* __WMMINTRIN_AES_H */
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*===---- __wmmintrin_pclmul.h - PCMUL intrinsics ---------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __WMMINTRIN_H
|
|
11
|
+
#error "Never use <__wmmintrin_pclmul.h> directly; include <wmmintrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __WMMINTRIN_PCLMUL_H
|
|
15
|
+
#define __WMMINTRIN_PCLMUL_H
|
|
16
|
+
|
|
17
|
+
/// Multiplies two 64-bit integer values, which are selected from source
|
|
18
|
+
/// operands using the immediate-value operand. The multiplication is a
|
|
19
|
+
/// carry-less multiplication, and the 128-bit integer product is stored in
|
|
20
|
+
/// the destination.
|
|
21
|
+
///
|
|
22
|
+
/// \headerfile <x86intrin.h>
|
|
23
|
+
///
|
|
24
|
+
/// \code
|
|
25
|
+
/// __m128i _mm_clmulepi64_si128(__m128i __X, __m128i __Y, const int __I);
|
|
26
|
+
/// \endcode
|
|
27
|
+
///
|
|
28
|
+
/// This intrinsic corresponds to the <c> VPCLMULQDQ </c> instruction.
|
|
29
|
+
///
|
|
30
|
+
/// \param __X
|
|
31
|
+
/// A 128-bit vector of [2 x i64] containing one of the source operands.
|
|
32
|
+
/// \param __Y
|
|
33
|
+
/// A 128-bit vector of [2 x i64] containing one of the source operands.
|
|
34
|
+
/// \param __I
|
|
35
|
+
/// An immediate value specifying which 64-bit values to select from the
|
|
36
|
+
/// operands. Bit 0 is used to select a value from operand \a __X, and bit
|
|
37
|
+
/// 4 is used to select a value from operand \a __Y: \n
|
|
38
|
+
/// Bit[0]=0 indicates that bits[63:0] of operand \a __X are used. \n
|
|
39
|
+
/// Bit[0]=1 indicates that bits[127:64] of operand \a __X are used. \n
|
|
40
|
+
/// Bit[4]=0 indicates that bits[63:0] of operand \a __Y are used. \n
|
|
41
|
+
/// Bit[4]=1 indicates that bits[127:64] of operand \a __Y are used.
|
|
42
|
+
/// \returns The 128-bit integer vector containing the result of the carry-less
|
|
43
|
+
/// multiplication of the selected 64-bit values.
|
|
44
|
+
#define _mm_clmulepi64_si128(X, Y, I) \
|
|
45
|
+
((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
|
|
46
|
+
(__v2di)(__m128i)(Y), (char)(I)))
|
|
47
|
+
|
|
48
|
+
#endif /* __WMMINTRIN_PCLMUL_H */
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*===---- adxintrin.h - ADX intrinsics -------------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __IMMINTRIN_H
|
|
11
|
+
#error "Never use <adxintrin.h> directly; include <immintrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __ADXINTRIN_H
|
|
15
|
+
#define __ADXINTRIN_H
|
|
16
|
+
|
|
17
|
+
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
|
|
19
|
+
|
|
20
|
+
/* Intrinsics that are available only if __ADX__ defined */
|
|
21
|
+
static __inline unsigned char __attribute__((__always_inline__, __nodebug__, __target__("adx")))
|
|
22
|
+
_addcarryx_u32(unsigned char __cf, unsigned int __x, unsigned int __y,
|
|
23
|
+
unsigned int *__p)
|
|
24
|
+
{
|
|
25
|
+
return __builtin_ia32_addcarryx_u32(__cf, __x, __y, __p);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#ifdef __x86_64__
|
|
29
|
+
static __inline unsigned char __attribute__((__always_inline__, __nodebug__, __target__("adx")))
|
|
30
|
+
_addcarryx_u64(unsigned char __cf, unsigned long long __x,
|
|
31
|
+
unsigned long long __y, unsigned long long *__p)
|
|
32
|
+
{
|
|
33
|
+
return __builtin_ia32_addcarryx_u64(__cf, __x, __y, __p);
|
|
34
|
+
}
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
/* Intrinsics that are also available if __ADX__ undefined */
|
|
38
|
+
static __inline unsigned char __DEFAULT_FN_ATTRS
|
|
39
|
+
_addcarry_u32(unsigned char __cf, unsigned int __x, unsigned int __y,
|
|
40
|
+
unsigned int *__p)
|
|
41
|
+
{
|
|
42
|
+
return __builtin_ia32_addcarryx_u32(__cf, __x, __y, __p);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#ifdef __x86_64__
|
|
46
|
+
static __inline unsigned char __DEFAULT_FN_ATTRS
|
|
47
|
+
_addcarry_u64(unsigned char __cf, unsigned long long __x,
|
|
48
|
+
unsigned long long __y, unsigned long long *__p)
|
|
49
|
+
{
|
|
50
|
+
return __builtin_ia32_addcarryx_u64(__cf, __x, __y, __p);
|
|
51
|
+
}
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
static __inline unsigned char __DEFAULT_FN_ATTRS
|
|
55
|
+
_subborrow_u32(unsigned char __cf, unsigned int __x, unsigned int __y,
|
|
56
|
+
unsigned int *__p)
|
|
57
|
+
{
|
|
58
|
+
return __builtin_ia32_subborrow_u32(__cf, __x, __y, __p);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#ifdef __x86_64__
|
|
62
|
+
static __inline unsigned char __DEFAULT_FN_ATTRS
|
|
63
|
+
_subborrow_u64(unsigned char __cf, unsigned long long __x,
|
|
64
|
+
unsigned long long __y, unsigned long long *__p)
|
|
65
|
+
{
|
|
66
|
+
return __builtin_ia32_subborrow_u64(__cf, __x, __y, __p);
|
|
67
|
+
}
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
#undef __DEFAULT_FN_ATTRS
|
|
71
|
+
|
|
72
|
+
#endif /* __ADXINTRIN_H */
|