@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.
Files changed (164) hide show
  1. package/LICENSE.TXT +279 -0
  2. package/README.md +7 -0
  3. package/bin/clang-tidy.exe +4 -0
  4. package/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h +121 -0
  5. package/lib/clang/12.0.1/include/__clang_cuda_cmath.h +512 -0
  6. package/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h +285 -0
  7. package/lib/clang/12.0.1/include/__clang_cuda_device_functions.h +1486 -0
  8. package/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h +486 -0
  9. package/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h +462 -0
  10. package/lib/clang/12.0.1/include/__clang_cuda_math.h +348 -0
  11. package/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h +284 -0
  12. package/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h +443 -0
  13. package/lib/clang/12.0.1/include/__clang_hip_cmath.h +664 -0
  14. package/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h +334 -0
  15. package/lib/clang/12.0.1/include/__clang_hip_math.h +1275 -0
  16. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +69 -0
  17. package/lib/clang/12.0.1/include/__stddef_max_align_t.h +27 -0
  18. package/lib/clang/12.0.1/include/__wmmintrin_aes.h +140 -0
  19. package/lib/clang/12.0.1/include/__wmmintrin_pclmul.h +48 -0
  20. package/lib/clang/12.0.1/include/adxintrin.h +72 -0
  21. package/lib/clang/12.0.1/include/altivec.h +18239 -0
  22. package/lib/clang/12.0.1/include/ammintrin.h +179 -0
  23. package/lib/clang/12.0.1/include/amxintrin.h +278 -0
  24. package/lib/clang/12.0.1/include/arm64intr.h +35 -0
  25. package/lib/clang/12.0.1/include/arm_acle.h +716 -0
  26. package/lib/clang/12.0.1/include/arm_bf16.h +20 -0
  27. package/lib/clang/12.0.1/include/arm_cde.h +410 -0
  28. package/lib/clang/12.0.1/include/arm_cmse.h +217 -0
  29. package/lib/clang/12.0.1/include/arm_fp16.h +596 -0
  30. package/lib/clang/12.0.1/include/arm_mve.h +19187 -0
  31. package/lib/clang/12.0.1/include/arm_neon.h +68982 -0
  32. package/lib/clang/12.0.1/include/arm_sve.h +18148 -0
  33. package/lib/clang/12.0.1/include/armintr.h +31 -0
  34. package/lib/clang/12.0.1/include/avx2intrin.h +1148 -0
  35. package/lib/clang/12.0.1/include/avx512bf16intrin.h +279 -0
  36. package/lib/clang/12.0.1/include/avx512bitalgintrin.h +83 -0
  37. package/lib/clang/12.0.1/include/avx512bwintrin.h +2024 -0
  38. package/lib/clang/12.0.1/include/avx512cdintrin.h +123 -0
  39. package/lib/clang/12.0.1/include/avx512dqintrin.h +1377 -0
  40. package/lib/clang/12.0.1/include/avx512erintrin.h +271 -0
  41. package/lib/clang/12.0.1/include/avx512fintrin.h +9618 -0
  42. package/lib/clang/12.0.1/include/avx512ifmaintrin.h +68 -0
  43. package/lib/clang/12.0.1/include/avx512ifmavlintrin.h +119 -0
  44. package/lib/clang/12.0.1/include/avx512pfintrin.h +97 -0
  45. package/lib/clang/12.0.1/include/avx512vbmi2intrin.h +357 -0
  46. package/lib/clang/12.0.1/include/avx512vbmiintrin.h +105 -0
  47. package/lib/clang/12.0.1/include/avx512vbmivlintrin.h +188 -0
  48. package/lib/clang/12.0.1/include/avx512vlbf16intrin.h +474 -0
  49. package/lib/clang/12.0.1/include/avx512vlbitalgintrin.h +145 -0
  50. package/lib/clang/12.0.1/include/avx512vlbwintrin.h +2809 -0
  51. package/lib/clang/12.0.1/include/avx512vlcdintrin.h +225 -0
  52. package/lib/clang/12.0.1/include/avx512vldqintrin.h +1167 -0
  53. package/lib/clang/12.0.1/include/avx512vlintrin.h +8445 -0
  54. package/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h +689 -0
  55. package/lib/clang/12.0.1/include/avx512vlvnniintrin.h +304 -0
  56. package/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h +121 -0
  57. package/lib/clang/12.0.1/include/avx512vnniintrin.h +115 -0
  58. package/lib/clang/12.0.1/include/avx512vp2intersectintrin.h +77 -0
  59. package/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h +54 -0
  60. package/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h +91 -0
  61. package/lib/clang/12.0.1/include/avxintrin.h +5053 -0
  62. package/lib/clang/12.0.1/include/avxvnniintrin.h +225 -0
  63. package/lib/clang/12.0.1/include/bmi2intrin.h +81 -0
  64. package/lib/clang/12.0.1/include/bmiintrin.h +427 -0
  65. package/lib/clang/12.0.1/include/cet.h +66 -0
  66. package/lib/clang/12.0.1/include/cetintrin.h +99 -0
  67. package/lib/clang/12.0.1/include/cldemoteintrin.h +36 -0
  68. package/lib/clang/12.0.1/include/clflushoptintrin.h +27 -0
  69. package/lib/clang/12.0.1/include/clwbintrin.h +38 -0
  70. package/lib/clang/12.0.1/include/clzerointrin.h +36 -0
  71. package/lib/clang/12.0.1/include/cpuid.h +319 -0
  72. package/lib/clang/12.0.1/include/cuda_wrappers/algorithm +116 -0
  73. package/lib/clang/12.0.1/include/cuda_wrappers/complex +82 -0
  74. package/lib/clang/12.0.1/include/cuda_wrappers/new +106 -0
  75. package/lib/clang/12.0.1/include/emmintrin.h +4981 -0
  76. package/lib/clang/12.0.1/include/enqcmdintrin.h +63 -0
  77. package/lib/clang/12.0.1/include/f16cintrin.h +162 -0
  78. package/lib/clang/12.0.1/include/float.h +152 -0
  79. package/lib/clang/12.0.1/include/fma4intrin.h +218 -0
  80. package/lib/clang/12.0.1/include/fmaintrin.h +216 -0
  81. package/lib/clang/12.0.1/include/fxsrintrin.h +91 -0
  82. package/lib/clang/12.0.1/include/gfniintrin.h +193 -0
  83. package/lib/clang/12.0.1/include/hresetintrin.h +49 -0
  84. package/lib/clang/12.0.1/include/htmintrin.h +212 -0
  85. package/lib/clang/12.0.1/include/htmxlintrin.h +345 -0
  86. package/lib/clang/12.0.1/include/ia32intrin.h +441 -0
  87. package/lib/clang/12.0.1/include/immintrin.h +600 -0
  88. package/lib/clang/12.0.1/include/intrin.h +585 -0
  89. package/lib/clang/12.0.1/include/inttypes.h +97 -0
  90. package/lib/clang/12.0.1/include/invpcidintrin.h +23 -0
  91. package/lib/clang/12.0.1/include/iso646.h +27 -0
  92. package/lib/clang/12.0.1/include/keylockerintrin.h +506 -0
  93. package/lib/clang/12.0.1/include/limits.h +102 -0
  94. package/lib/clang/12.0.1/include/lwpintrin.h +136 -0
  95. package/lib/clang/12.0.1/include/lzcntintrin.h +104 -0
  96. package/lib/clang/12.0.1/include/mm3dnow.h +157 -0
  97. package/lib/clang/12.0.1/include/mm_malloc.h +67 -0
  98. package/lib/clang/12.0.1/include/mmintrin.h +1558 -0
  99. package/lib/clang/12.0.1/include/module.modulemap +164 -0
  100. package/lib/clang/12.0.1/include/movdirintrin.h +49 -0
  101. package/lib/clang/12.0.1/include/msa.h +573 -0
  102. package/lib/clang/12.0.1/include/mwaitxintrin.h +33 -0
  103. package/lib/clang/12.0.1/include/nmmintrin.h +16 -0
  104. package/lib/clang/12.0.1/include/opencl-c-base.h +589 -0
  105. package/lib/clang/12.0.1/include/opencl-c.h +17162 -0
  106. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +42 -0
  107. package/lib/clang/12.0.1/include/openmp_wrappers/cmath +78 -0
  108. package/lib/clang/12.0.1/include/openmp_wrappers/complex +52 -0
  109. package/lib/clang/12.0.1/include/openmp_wrappers/complex.h +27 -0
  110. package/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h +388 -0
  111. package/lib/clang/12.0.1/include/openmp_wrappers/math.h +51 -0
  112. package/lib/clang/12.0.1/include/openmp_wrappers/new +70 -0
  113. package/lib/clang/12.0.1/include/pconfigintrin.h +40 -0
  114. package/lib/clang/12.0.1/include/pkuintrin.h +34 -0
  115. package/lib/clang/12.0.1/include/pmmintrin.h +290 -0
  116. package/lib/clang/12.0.1/include/popcntintrin.h +59 -0
  117. package/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h +2324 -0
  118. package/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h +50 -0
  119. package/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h +1450 -0
  120. package/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h +150 -0
  121. package/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h +109 -0
  122. package/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h +495 -0
  123. package/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h +1843 -0
  124. package/lib/clang/12.0.1/include/prfchwintrin.h +55 -0
  125. package/lib/clang/12.0.1/include/ptwriteintrin.h +37 -0
  126. package/lib/clang/12.0.1/include/rdseedintrin.h +42 -0
  127. package/lib/clang/12.0.1/include/rtmintrin.h +45 -0
  128. package/lib/clang/12.0.1/include/s390intrin.h +25 -0
  129. package/lib/clang/12.0.1/include/serializeintrin.h +30 -0
  130. package/lib/clang/12.0.1/include/sgxintrin.h +60 -0
  131. package/lib/clang/12.0.1/include/shaintrin.h +61 -0
  132. package/lib/clang/12.0.1/include/smmintrin.h +2430 -0
  133. package/lib/clang/12.0.1/include/stdalign.h +21 -0
  134. package/lib/clang/12.0.1/include/stdarg.h +35 -0
  135. package/lib/clang/12.0.1/include/stdatomic.h +176 -0
  136. package/lib/clang/12.0.1/include/stdbool.h +31 -0
  137. package/lib/clang/12.0.1/include/stddef.h +121 -0
  138. package/lib/clang/12.0.1/include/stdint.h +693 -0
  139. package/lib/clang/12.0.1/include/stdnoreturn.h +16 -0
  140. package/lib/clang/12.0.1/include/tbmintrin.h +140 -0
  141. package/lib/clang/12.0.1/include/tgmath.h +1368 -0
  142. package/lib/clang/12.0.1/include/tmmintrin.h +771 -0
  143. package/lib/clang/12.0.1/include/tsxldtrkintrin.h +56 -0
  144. package/lib/clang/12.0.1/include/uintrintrin.h +150 -0
  145. package/lib/clang/12.0.1/include/unwind.h +327 -0
  146. package/lib/clang/12.0.1/include/vadefs.h +51 -0
  147. package/lib/clang/12.0.1/include/vaesintrin.h +84 -0
  148. package/lib/clang/12.0.1/include/varargs.h +12 -0
  149. package/lib/clang/12.0.1/include/vecintrin.h +10998 -0
  150. package/lib/clang/12.0.1/include/vpclmulqdqintrin.h +28 -0
  151. package/lib/clang/12.0.1/include/waitpkgintrin.h +42 -0
  152. package/lib/clang/12.0.1/include/wasm_simd128.h +1167 -0
  153. package/lib/clang/12.0.1/include/wbnoinvdintrin.h +24 -0
  154. package/lib/clang/12.0.1/include/wmmintrin.h +19 -0
  155. package/lib/clang/12.0.1/include/x86gprintrin.h +23 -0
  156. package/lib/clang/12.0.1/include/x86intrin.h +63 -0
  157. package/lib/clang/12.0.1/include/xmmintrin.h +3008 -0
  158. package/lib/clang/12.0.1/include/xopintrin.h +770 -0
  159. package/lib/clang/12.0.1/include/xsavecintrin.h +34 -0
  160. package/lib/clang/12.0.1/include/xsaveintrin.h +63 -0
  161. package/lib/clang/12.0.1/include/xsaveoptintrin.h +34 -0
  162. package/lib/clang/12.0.1/include/xsavesintrin.h +44 -0
  163. package/lib/clang/12.0.1/include/xtestintrin.h +27 -0
  164. package/package.json +32 -0
@@ -0,0 +1,55 @@
1
+ /*===---- prfchwintrin.h - PREFETCHW intrinsic -----------------------------===
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
+ #if !defined(__X86INTRIN_H) && !defined(_MM3DNOW_H_INCLUDED)
11
+ #error "Never use <prfchwintrin.h> directly; include <x86intrin.h> or <mm3dnow.h> instead."
12
+ #endif
13
+
14
+ #ifndef __PRFCHWINTRIN_H
15
+ #define __PRFCHWINTRIN_H
16
+
17
+ /// Loads a memory sequence containing the specified memory address into
18
+ /// all data cache levels. The cache-coherency state is set to exclusive.
19
+ /// Data can be read from and written to the cache line without additional
20
+ /// delay.
21
+ ///
22
+ /// \headerfile <x86intrin.h>
23
+ ///
24
+ /// This intrinsic corresponds to the \c PREFETCHT0 instruction.
25
+ ///
26
+ /// \param __P
27
+ /// A pointer specifying the memory address to be prefetched.
28
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
29
+ _m_prefetch(void *__P)
30
+ {
31
+ __builtin_prefetch (__P, 0, 3 /* _MM_HINT_T0 */);
32
+ }
33
+
34
+ /// Loads a memory sequence containing the specified memory address into
35
+ /// the L1 data cache and sets the cache-coherency to modified. This
36
+ /// provides a hint to the processor that the cache line will be modified.
37
+ /// It is intended for use when the cache line will be written to shortly
38
+ /// after the prefetch is performed.
39
+ ///
40
+ /// Note that the effect of this intrinsic is dependent on the processor
41
+ /// implementation.
42
+ ///
43
+ /// \headerfile <x86intrin.h>
44
+ ///
45
+ /// This intrinsic corresponds to the \c PREFETCHW instruction.
46
+ ///
47
+ /// \param __P
48
+ /// A pointer specifying the memory address to be prefetched.
49
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
50
+ _m_prefetchw(void *__P)
51
+ {
52
+ __builtin_prefetch (__P, 1, 3 /* _MM_HINT_T0 */);
53
+ }
54
+
55
+ #endif /* __PRFCHWINTRIN_H */
@@ -0,0 +1,37 @@
1
+ /*===------------ ptwriteintrin.h - PTWRITE intrinsic --------------------===
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
+ #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
11
+ #error "Never use <ptwriteintrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __PTWRITEINTRIN_H
15
+ #define __PTWRITEINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("ptwrite")))
20
+
21
+ static __inline__ void __DEFAULT_FN_ATTRS
22
+ _ptwrite32(unsigned int __value) {
23
+ __builtin_ia32_ptwrite32(__value);
24
+ }
25
+
26
+ #ifdef __x86_64__
27
+
28
+ static __inline__ void __DEFAULT_FN_ATTRS
29
+ _ptwrite64(unsigned long long __value) {
30
+ __builtin_ia32_ptwrite64(__value);
31
+ }
32
+
33
+ #endif /* __x86_64__ */
34
+
35
+ #undef __DEFAULT_FN_ATTRS
36
+
37
+ #endif /* __PTWRITEINTRIN_H */
@@ -0,0 +1,42 @@
1
+ /*===---- rdseedintrin.h - RDSEED 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
+ #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
11
+ #error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __RDSEEDINTRIN_H
15
+ #define __RDSEEDINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("rdseed")))
19
+
20
+ static __inline__ int __DEFAULT_FN_ATTRS
21
+ _rdseed16_step(unsigned short *__p)
22
+ {
23
+ return __builtin_ia32_rdseed16_step(__p);
24
+ }
25
+
26
+ static __inline__ int __DEFAULT_FN_ATTRS
27
+ _rdseed32_step(unsigned int *__p)
28
+ {
29
+ return __builtin_ia32_rdseed32_step(__p);
30
+ }
31
+
32
+ #ifdef __x86_64__
33
+ static __inline__ int __DEFAULT_FN_ATTRS
34
+ _rdseed64_step(unsigned long long *__p)
35
+ {
36
+ return __builtin_ia32_rdseed64_step(__p);
37
+ }
38
+ #endif
39
+
40
+ #undef __DEFAULT_FN_ATTRS
41
+
42
+ #endif /* __RDSEEDINTRIN_H */
@@ -0,0 +1,45 @@
1
+ /*===---- rtmintrin.h - RTM 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 <rtmintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __RTMINTRIN_H
15
+ #define __RTMINTRIN_H
16
+
17
+ #define _XBEGIN_STARTED (~0u)
18
+ #define _XABORT_EXPLICIT (1 << 0)
19
+ #define _XABORT_RETRY (1 << 1)
20
+ #define _XABORT_CONFLICT (1 << 2)
21
+ #define _XABORT_CAPACITY (1 << 3)
22
+ #define _XABORT_DEBUG (1 << 4)
23
+ #define _XABORT_NESTED (1 << 5)
24
+ #define _XABORT_CODE(x) (((x) >> 24) & 0xFF)
25
+
26
+ /* Define the default attributes for the functions in this file. */
27
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("rtm")))
28
+
29
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS
30
+ _xbegin(void)
31
+ {
32
+ return __builtin_ia32_xbegin();
33
+ }
34
+
35
+ static __inline__ void __DEFAULT_FN_ATTRS
36
+ _xend(void)
37
+ {
38
+ __builtin_ia32_xend();
39
+ }
40
+
41
+ #define _xabort(imm) __builtin_ia32_xabort((imm))
42
+
43
+ #undef __DEFAULT_FN_ATTRS
44
+
45
+ #endif /* __RTMINTRIN_H */
@@ -0,0 +1,25 @@
1
+ /*===---- s390intrin.h - SystemZ 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 __S390INTRIN_H
11
+ #define __S390INTRIN_H
12
+
13
+ #ifndef __s390__
14
+ #error "<s390intrin.h> is for s390 only"
15
+ #endif
16
+
17
+ #ifdef __HTM__
18
+ #include <htmintrin.h>
19
+ #endif
20
+
21
+ #ifdef __VEC__
22
+ #include <vecintrin.h>
23
+ #endif
24
+
25
+ #endif /* __S390INTRIN_H*/
@@ -0,0 +1,30 @@
1
+ /*===--------------- serializeintrin.h - serialize 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 <serializeintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __SERIALIZEINTRIN_H
15
+ #define __SERIALIZEINTRIN_H
16
+
17
+ /// Serialize instruction fetch and execution.
18
+ ///
19
+ /// \headerfile <x86intrin.h>
20
+ ///
21
+ /// This intrinsic corresponds to the <c> SERIALIZE </c> instruction.
22
+ ///
23
+ static __inline__ void
24
+ __attribute__((__always_inline__, __nodebug__, __target__("serialize")))
25
+ _serialize (void)
26
+ {
27
+ __builtin_ia32_serialize ();
28
+ }
29
+
30
+ #endif /* __SERIALIZEINTRIN_H */
@@ -0,0 +1,60 @@
1
+ /*===---- sgxintrin.h - X86 SGX intrinsics configuration -------------------===
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
+ #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
11
+ #error "Never use <sgxintrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __SGXINTRIN_H
15
+ #define __SGXINTRIN_H
16
+
17
+ #if __has_extension(gnu_asm)
18
+
19
+ /* Define the default attributes for the functions in this file. */
20
+ #define __DEFAULT_FN_ATTRS \
21
+ __attribute__((__always_inline__, __nodebug__, __target__("sgx")))
22
+
23
+ static __inline unsigned int __DEFAULT_FN_ATTRS
24
+ _enclu_u32(unsigned int __leaf, __SIZE_TYPE__ __d[])
25
+ {
26
+ unsigned int __result;
27
+ __asm__ ("enclu"
28
+ : "=a" (__result), "=b" (__d[0]), "=c" (__d[1]), "=d" (__d[2])
29
+ : "a" (__leaf), "b" (__d[0]), "c" (__d[1]), "d" (__d[2])
30
+ : "cc");
31
+ return __result;
32
+ }
33
+
34
+ static __inline unsigned int __DEFAULT_FN_ATTRS
35
+ _encls_u32(unsigned int __leaf, __SIZE_TYPE__ __d[])
36
+ {
37
+ unsigned int __result;
38
+ __asm__ ("encls"
39
+ : "=a" (__result), "=b" (__d[0]), "=c" (__d[1]), "=d" (__d[2])
40
+ : "a" (__leaf), "b" (__d[0]), "c" (__d[1]), "d" (__d[2])
41
+ : "cc");
42
+ return __result;
43
+ }
44
+
45
+ static __inline unsigned int __DEFAULT_FN_ATTRS
46
+ _enclv_u32(unsigned int __leaf, __SIZE_TYPE__ __d[])
47
+ {
48
+ unsigned int __result;
49
+ __asm__ ("enclv"
50
+ : "=a" (__result), "=b" (__d[0]), "=c" (__d[1]), "=d" (__d[2])
51
+ : "a" (__leaf), "b" (__d[0]), "c" (__d[1]), "d" (__d[2])
52
+ : "cc");
53
+ return __result;
54
+ }
55
+
56
+ #undef __DEFAULT_FN_ATTRS
57
+
58
+ #endif /* __has_extension(gnu_asm) */
59
+
60
+ #endif
@@ -0,0 +1,61 @@
1
+ /*===---- shaintrin.h - SHA 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 <shaintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __SHAINTRIN_H
15
+ #define __SHAINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sha"), __min_vector_width__(128)))
19
+
20
+ #define _mm_sha1rnds4_epu32(V1, V2, M) \
21
+ __builtin_ia32_sha1rnds4((__v4si)(__m128i)(V1), (__v4si)(__m128i)(V2), (M))
22
+
23
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
24
+ _mm_sha1nexte_epu32(__m128i __X, __m128i __Y)
25
+ {
26
+ return (__m128i)__builtin_ia32_sha1nexte((__v4si)__X, (__v4si)__Y);
27
+ }
28
+
29
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
30
+ _mm_sha1msg1_epu32(__m128i __X, __m128i __Y)
31
+ {
32
+ return (__m128i)__builtin_ia32_sha1msg1((__v4si)__X, (__v4si)__Y);
33
+ }
34
+
35
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
36
+ _mm_sha1msg2_epu32(__m128i __X, __m128i __Y)
37
+ {
38
+ return (__m128i)__builtin_ia32_sha1msg2((__v4si)__X, (__v4si)__Y);
39
+ }
40
+
41
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
42
+ _mm_sha256rnds2_epu32(__m128i __X, __m128i __Y, __m128i __Z)
43
+ {
44
+ return (__m128i)__builtin_ia32_sha256rnds2((__v4si)__X, (__v4si)__Y, (__v4si)__Z);
45
+ }
46
+
47
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
48
+ _mm_sha256msg1_epu32(__m128i __X, __m128i __Y)
49
+ {
50
+ return (__m128i)__builtin_ia32_sha256msg1((__v4si)__X, (__v4si)__Y);
51
+ }
52
+
53
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
54
+ _mm_sha256msg2_epu32(__m128i __X, __m128i __Y)
55
+ {
56
+ return (__m128i)__builtin_ia32_sha256msg2((__v4si)__X, (__v4si)__Y);
57
+ }
58
+
59
+ #undef __DEFAULT_FN_ATTRS
60
+
61
+ #endif /* __SHAINTRIN_H */