@cpp-linter/clang-tidy-darwin-x64 13.0.0 → 16.0.3

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 (203) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_intrinsics.h +38 -6
  5. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +6 -0
  6. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math.h +1 -1
  7. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +62 -7
  8. package/lib/clang/16/include/__clang_cuda_texture_intrinsics.h +742 -0
  9. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  10. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_math.h +10 -13
  11. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +18 -4
  12. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  13. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_aes.h +1 -1
  14. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  15. package/lib/clang/{13.0.0 → 16}/include/altivec.h +691 -342
  16. package/lib/clang/{13.0.0 → 16}/include/ammintrin.h +4 -0
  17. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  18. package/lib/clang/{13.0.0 → 16}/include/amxintrin.h +49 -18
  19. package/lib/clang/{13.0.0 → 16}/include/arm_acle.h +80 -73
  20. package/lib/clang/{13.0.0 → 16}/include/arm_fp16.h +90 -90
  21. package/lib/clang/{13.0.0 → 16}/include/arm_neon.h +28607 -28779
  22. package/lib/clang/16/include/arm_neon_sve_bridge.h +182 -0
  23. package/lib/clang/{13.0.0 → 16}/include/arm_sve.h +7848 -7996
  24. package/lib/clang/{13.0.0 → 16}/include/avx2intrin.h +189 -189
  25. package/lib/clang/{13.0.0 → 16}/include/avx512bf16intrin.h +21 -18
  26. package/lib/clang/{13.0.0 → 16}/include/avx512bwintrin.h +83 -83
  27. package/lib/clang/{13.0.0 → 16}/include/avx512dqintrin.h +365 -365
  28. package/lib/clang/{13.0.0 → 16}/include/avx512erintrin.h +102 -102
  29. package/lib/clang/{13.0.0 → 16}/include/avx512fintrin.h +1627 -1620
  30. package/lib/clang/16/include/avx512fp16intrin.h +3346 -0
  31. package/lib/clang/{13.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  32. package/lib/clang/{13.0.0 → 16}/include/avx512vbmi2intrin.h +48 -48
  33. package/lib/clang/{13.0.0 → 16}/include/avx512vlbf16intrin.h +82 -41
  34. package/lib/clang/{13.0.0 → 16}/include/avx512vlbwintrin.h +454 -102
  35. package/lib/clang/{13.0.0 → 16}/include/avx512vldqintrin.h +134 -134
  36. package/lib/clang/16/include/avx512vlfp16intrin.h +2071 -0
  37. package/lib/clang/{13.0.0 → 16}/include/avx512vlintrin.h +596 -610
  38. package/lib/clang/{13.0.0 → 16}/include/avx512vlvbmi2intrin.h +96 -96
  39. package/lib/clang/{13.0.0 → 16}/include/avx512vlvnniintrin.h +24 -24
  40. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  41. package/lib/clang/{13.0.0 → 16}/include/avxintrin.h +266 -224
  42. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  43. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  44. package/lib/clang/{13.0.0 → 16}/include/avxvnniintrin.h +16 -16
  45. package/lib/clang/{13.0.0 → 16}/include/bmiintrin.h +6 -2
  46. package/lib/clang/{13.0.0 → 16}/include/cetintrin.h +20 -4
  47. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  48. package/lib/clang/{13.0.0 → 16}/include/cpuid.h +14 -2
  49. package/lib/clang/16/include/crc32intrin.h +100 -0
  50. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  51. package/lib/clang/{13.0.0 → 16}/include/emmintrin.h +573 -779
  52. package/lib/clang/{13.0.0 → 16}/include/f16cintrin.h +4 -4
  53. package/lib/clang/{13.0.0 → 16}/include/float.h +22 -6
  54. package/lib/clang/{13.0.0 → 16}/include/gfniintrin.h +54 -53
  55. package/lib/clang/{13.0.0 → 16}/include/hexagon_protos.h +0 -11
  56. package/lib/clang/{13.0.0 → 16}/include/hexagon_types.h +0 -32
  57. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  58. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  59. package/lib/clang/16/include/hlsl.h +15 -0
  60. package/lib/clang/{13.0.0 → 16}/include/hresetintrin.h +2 -2
  61. package/lib/clang/{13.0.0 → 16}/include/hvx_hexagon_protos.h +1200 -409
  62. package/lib/clang/{13.0.0 → 16}/include/ia32intrin.h +17 -17
  63. package/lib/clang/{13.0.0 → 16}/include/immintrin.h +74 -24
  64. package/lib/clang/{13.0.0 → 16}/include/intrin.h +34 -35
  65. package/lib/clang/{13.0.0 → 16}/include/keylockerintrin.h +24 -30
  66. package/lib/clang/16/include/larchintrin.h +234 -0
  67. package/lib/clang/{13.0.0 → 16}/include/limits.h +22 -1
  68. package/lib/clang/{13.0.0 → 16}/include/mm_malloc.h +3 -3
  69. package/lib/clang/{13.0.0 → 16}/include/mmintrin.h +4 -0
  70. package/lib/clang/{13.0.0 → 16}/include/nmmintrin.h +4 -0
  71. package/lib/clang/{13.0.0 → 16}/include/opencl-c-base.h +98 -11
  72. package/lib/clang/{13.0.0 → 16}/include/opencl-c.h +7252 -6208
  73. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex +10 -1
  74. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex.h +9 -0
  75. package/lib/clang/{13.0.0 → 16}/include/pmmintrin.h +5 -1
  76. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  77. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  78. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  79. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  80. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  81. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -386
  82. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  83. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  84. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  85. package/lib/clang/{13.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  86. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  87. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  88. package/lib/clang/16/include/prfchiintrin.h +61 -0
  89. package/lib/clang/{13.0.0 → 16}/include/prfchwintrin.h +5 -2
  90. package/lib/clang/16/include/raointintrin.h +203 -0
  91. package/lib/clang/16/include/rdpruintrin.h +57 -0
  92. package/lib/clang/{13.0.0 → 16}/include/rdseedintrin.h +3 -3
  93. package/lib/clang/16/include/riscv_vector.h +211 -0
  94. package/lib/clang/{13.0.0 → 16}/include/rtmintrin.h +1 -1
  95. package/lib/clang/{13.0.0 → 16}/include/smmintrin.h +260 -362
  96. package/lib/clang/{13.0.0 → 16}/include/stdarg.h +23 -7
  97. package/lib/clang/{13.0.0 → 16}/include/stdatomic.h +14 -1
  98. package/lib/clang/{13.0.0 → 16}/include/stdbool.h +10 -7
  99. package/lib/clang/{13.0.0 → 16}/include/stddef.h +9 -2
  100. package/lib/clang/{13.0.0 → 16}/include/stdint.h +311 -25
  101. package/lib/clang/16/include/stdnoreturn.h +29 -0
  102. package/lib/clang/{13.0.0 → 16}/include/tmmintrin.h +10 -6
  103. package/lib/clang/{13.0.0 → 16}/include/uintrintrin.h +8 -8
  104. package/lib/clang/{13.0.0 → 16}/include/unwind.h +12 -7
  105. package/lib/clang/{13.0.0 → 16}/include/vaesintrin.h +1 -1
  106. package/lib/clang/16/include/velintrin.h +71 -0
  107. package/lib/clang/16/include/velintrin_approx.h +120 -0
  108. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  109. package/lib/clang/{13.0.0 → 16}/include/vpclmulqdqintrin.h +6 -6
  110. package/lib/clang/{13.0.0 → 16}/include/wasm_simd128.h +169 -26
  111. package/lib/clang/{13.0.0 → 16}/include/wmmintrin.h +4 -0
  112. package/lib/clang/16/include/x86gprintrin.h +65 -0
  113. package/lib/clang/{13.0.0 → 16}/include/x86intrin.h +4 -0
  114. package/lib/clang/{13.0.0 → 16}/include/xmmintrin.h +19 -10
  115. package/lib/clang/{13.0.0 → 16}/include/xopintrin.h +31 -31
  116. package/package.json +6 -6
  117. package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
  118. package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
  119. package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
  120. package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
  121. package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
  122. package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
  123. package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
  124. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  125. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  126. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  127. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  128. /package/lib/clang/{13.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  129. /package/lib/clang/{13.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  130. /package/lib/clang/{13.0.0 → 16}/include/adxintrin.h +0 -0
  131. /package/lib/clang/{13.0.0 → 16}/include/arm64intr.h +0 -0
  132. /package/lib/clang/{13.0.0 → 16}/include/arm_bf16.h +0 -0
  133. /package/lib/clang/{13.0.0 → 16}/include/arm_cde.h +0 -0
  134. /package/lib/clang/{13.0.0 → 16}/include/arm_cmse.h +0 -0
  135. /package/lib/clang/{13.0.0 → 16}/include/arm_mve.h +0 -0
  136. /package/lib/clang/{13.0.0 → 16}/include/armintr.h +0 -0
  137. /package/lib/clang/{13.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  138. /package/lib/clang/{13.0.0 → 16}/include/avx512cdintrin.h +0 -0
  139. /package/lib/clang/{13.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  140. /package/lib/clang/{13.0.0 → 16}/include/avx512pfintrin.h +0 -0
  141. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  142. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  143. /package/lib/clang/{13.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  144. /package/lib/clang/{13.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  145. /package/lib/clang/{13.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  146. /package/lib/clang/{13.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  147. /package/lib/clang/{13.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  148. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  149. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  150. /package/lib/clang/{13.0.0 → 16}/include/bmi2intrin.h +0 -0
  151. /package/lib/clang/{13.0.0 → 16}/include/builtins.h +0 -0
  152. /package/lib/clang/{13.0.0 → 16}/include/cet.h +0 -0
  153. /package/lib/clang/{13.0.0 → 16}/include/cldemoteintrin.h +0 -0
  154. /package/lib/clang/{13.0.0 → 16}/include/clflushoptintrin.h +0 -0
  155. /package/lib/clang/{13.0.0 → 16}/include/clwbintrin.h +0 -0
  156. /package/lib/clang/{13.0.0 → 16}/include/clzerointrin.h +0 -0
  157. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  158. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  159. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/new +0 -0
  160. /package/lib/clang/{13.0.0 → 16}/include/enqcmdintrin.h +0 -0
  161. /package/lib/clang/{13.0.0 → 16}/include/fma4intrin.h +0 -0
  162. /package/lib/clang/{13.0.0 → 16}/include/fmaintrin.h +0 -0
  163. /package/lib/clang/{13.0.0 → 16}/include/fxsrintrin.h +0 -0
  164. /package/lib/clang/{13.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  165. /package/lib/clang/{13.0.0 → 16}/include/htmintrin.h +0 -0
  166. /package/lib/clang/{13.0.0 → 16}/include/htmxlintrin.h +0 -0
  167. /package/lib/clang/{13.0.0 → 16}/include/inttypes.h +0 -0
  168. /package/lib/clang/{13.0.0 → 16}/include/invpcidintrin.h +0 -0
  169. /package/lib/clang/{13.0.0 → 16}/include/iso646.h +0 -0
  170. /package/lib/clang/{13.0.0 → 16}/include/lwpintrin.h +0 -0
  171. /package/lib/clang/{13.0.0 → 16}/include/lzcntintrin.h +0 -0
  172. /package/lib/clang/{13.0.0 → 16}/include/mm3dnow.h +0 -0
  173. /package/lib/clang/{13.0.0 → 16}/include/module.modulemap +0 -0
  174. /package/lib/clang/{13.0.0 → 16}/include/movdirintrin.h +0 -0
  175. /package/lib/clang/{13.0.0 → 16}/include/msa.h +0 -0
  176. /package/lib/clang/{13.0.0 → 16}/include/mwaitxintrin.h +0 -0
  177. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  178. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  179. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  180. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  181. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/new +0 -0
  182. /package/lib/clang/{13.0.0 → 16}/include/pconfigintrin.h +0 -0
  183. /package/lib/clang/{13.0.0 → 16}/include/pkuintrin.h +0 -0
  184. /package/lib/clang/{13.0.0 → 16}/include/popcntintrin.h +0 -0
  185. /package/lib/clang/{13.0.0 → 16}/include/ptwriteintrin.h +0 -0
  186. /package/lib/clang/{13.0.0 → 16}/include/s390intrin.h +0 -0
  187. /package/lib/clang/{13.0.0 → 16}/include/serializeintrin.h +0 -0
  188. /package/lib/clang/{13.0.0 → 16}/include/sgxintrin.h +0 -0
  189. /package/lib/clang/{13.0.0 → 16}/include/shaintrin.h +0 -0
  190. /package/lib/clang/{13.0.0 → 16}/include/stdalign.h +0 -0
  191. /package/lib/clang/{13.0.0 → 16}/include/tbmintrin.h +0 -0
  192. /package/lib/clang/{13.0.0 → 16}/include/tgmath.h +0 -0
  193. /package/lib/clang/{13.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  194. /package/lib/clang/{13.0.0 → 16}/include/vadefs.h +0 -0
  195. /package/lib/clang/{13.0.0 → 16}/include/varargs.h +0 -0
  196. /package/lib/clang/{13.0.0 → 16}/include/vecintrin.h +0 -0
  197. /package/lib/clang/{13.0.0 → 16}/include/waitpkgintrin.h +0 -0
  198. /package/lib/clang/{13.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  199. /package/lib/clang/{13.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{13.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{13.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{13.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{13.0.0 → 16}/include/xtestintrin.h +0 -0
@@ -10,6 +10,10 @@
10
10
  #ifndef __TMMINTRIN_H
11
11
  #define __TMMINTRIN_H
12
12
 
13
+ #if !defined(__i386__) && !defined(__x86_64__)
14
+ #error "This header is only meant to be used on x86 and x64 architecture"
15
+ #endif
16
+
13
17
  #include <pmmintrin.h>
14
18
 
15
19
  /* Define the default attributes for the functions in this file. */
@@ -49,7 +53,7 @@ _mm_abs_pi8(__m64 __a)
49
53
  static __inline__ __m128i __DEFAULT_FN_ATTRS
50
54
  _mm_abs_epi8(__m128i __a)
51
55
  {
52
- return (__m128i)__builtin_ia32_pabsb128((__v16qi)__a);
56
+ return (__m128i)__builtin_elementwise_abs((__v16qs)__a);
53
57
  }
54
58
 
55
59
  /// Computes the absolute value of each of the packed 16-bit signed
@@ -85,7 +89,7 @@ _mm_abs_pi16(__m64 __a)
85
89
  static __inline__ __m128i __DEFAULT_FN_ATTRS
86
90
  _mm_abs_epi16(__m128i __a)
87
91
  {
88
- return (__m128i)__builtin_ia32_pabsw128((__v8hi)__a);
92
+ return (__m128i)__builtin_elementwise_abs((__v8hi)__a);
89
93
  }
90
94
 
91
95
  /// Computes the absolute value of each of the packed 32-bit signed
@@ -121,7 +125,7 @@ _mm_abs_pi32(__m64 __a)
121
125
  static __inline__ __m128i __DEFAULT_FN_ATTRS
122
126
  _mm_abs_epi32(__m128i __a)
123
127
  {
124
- return (__m128i)__builtin_ia32_pabsd128((__v4si)__a);
128
+ return (__m128i)__builtin_elementwise_abs((__v4si)__a);
125
129
  }
126
130
 
127
131
  /// Concatenates the two 128-bit integer vector operands, and
@@ -145,8 +149,8 @@ _mm_abs_epi32(__m128i __a)
145
149
  /// \returns A 128-bit integer vector containing the concatenated right-shifted
146
150
  /// value.
147
151
  #define _mm_alignr_epi8(a, b, n) \
148
- (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
149
- (__v16qi)(__m128i)(b), (n))
152
+ ((__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
153
+ (__v16qi)(__m128i)(b), (n)))
150
154
 
151
155
  /// Concatenates the two 64-bit integer vector operands, and right-shifts
152
156
  /// the result by the number of bytes specified in the immediate operand.
@@ -168,7 +172,7 @@ _mm_abs_epi32(__m128i __a)
168
172
  /// \returns A 64-bit integer vector containing the concatenated right-shifted
169
173
  /// value.
170
174
  #define _mm_alignr_pi8(a, b, n) \
171
- (__m64)__builtin_ia32_palignr((__v8qi)(__m64)(a), (__v8qi)(__m64)(b), (n))
175
+ ((__m64)__builtin_ia32_palignr((__v8qi)(__m64)(a), (__v8qi)(__m64)(b), (n)))
172
176
 
173
177
  /// Horizontally adds the adjacent pairs of values contained in 2 packed
174
178
  /// 128-bit vectors of [8 x i16].
@@ -39,9 +39,9 @@ struct __uintr_frame
39
39
  ///
40
40
  /// This intrinsic corresponds to the <c> CLUI </c> instruction.
41
41
  ///
42
- /// \operation
42
+ /// \code{.operation}
43
43
  /// UIF := 0
44
- /// \endoperation
44
+ /// \endcode
45
45
  static __inline__ void __DEFAULT_FN_ATTRS
46
46
  _clui (void)
47
47
  {
@@ -60,9 +60,9 @@ _clui (void)
60
60
  ///
61
61
  /// This intrinsic corresponds to the <c> STUI </c> instruction.
62
62
  ///
63
- /// \operation
63
+ /// \code{.operation}
64
64
  /// UIF := 1
65
- /// \endoperation
65
+ /// \endcode
66
66
  static __inline__ void __DEFAULT_FN_ATTRS
67
67
  _stui (void)
68
68
  {
@@ -81,7 +81,7 @@ _stui (void)
81
81
  ///
82
82
  /// \returns The current value of the user interrupt flag (UIF).
83
83
  ///
84
- /// \operation
84
+ /// \code{.operation}
85
85
  /// CF := UIF
86
86
  /// ZF := 0
87
87
  /// AF := 0
@@ -89,7 +89,7 @@ _stui (void)
89
89
  /// PF := 0
90
90
  /// SF := 0
91
91
  /// dst := CF
92
- /// \endoperation
92
+ /// \endcode
93
93
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
94
94
  _testui (void)
95
95
  {
@@ -110,7 +110,7 @@ _testui (void)
110
110
  /// Index of user-interrupt target table entry in user-interrupt target
111
111
  /// table.
112
112
  ///
113
- /// \operation
113
+ /// \code{.operation}
114
114
  /// IF __a > UITTSZ
115
115
  /// GP (0)
116
116
  /// FI
@@ -143,7 +143,7 @@ _testui (void)
143
143
  /// SendOrdinaryIPI(tempUPID.NV, tempUPID.NDST[15:8])
144
144
  /// FI
145
145
  /// FI
146
- /// \endoperation
146
+ /// \endcode
147
147
  static __inline__ void __DEFAULT_FN_ATTRS
148
148
  _senduipi (unsigned long long __a)
149
149
  {
@@ -62,9 +62,11 @@ typedef intptr_t _sleb128_t;
62
62
  typedef uintptr_t _uleb128_t;
63
63
 
64
64
  struct _Unwind_Context;
65
- #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__))
65
+ #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
66
+ defined(__ARM_DWARF_EH__) || defined(__SEH__))
66
67
  struct _Unwind_Control_Block;
67
- typedef struct _Unwind_Control_Block _Unwind_Exception; /* Alias */
68
+ typedef struct _Unwind_Control_Block _Unwind_Control_Block;
69
+ #define _Unwind_Exception _Unwind_Control_Block /* Alias */
68
70
  #else
69
71
  struct _Unwind_Exception;
70
72
  typedef struct _Unwind_Exception _Unwind_Exception;
@@ -72,7 +74,7 @@ typedef struct _Unwind_Exception _Unwind_Exception;
72
74
  typedef enum {
73
75
  _URC_NO_REASON = 0,
74
76
  #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
75
- !defined(__ARM_DWARF_EH__)
77
+ !defined(__ARM_DWARF_EH__) && !defined(__SEH__)
76
78
  _URC_OK = 0, /* used by ARM EHABI */
77
79
  #endif
78
80
  _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
@@ -86,7 +88,7 @@ typedef enum {
86
88
  _URC_INSTALL_CONTEXT = 7,
87
89
  _URC_CONTINUE_UNWIND = 8,
88
90
  #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
89
- !defined(__ARM_DWARF_EH__)
91
+ !defined(__ARM_DWARF_EH__) && !defined(__SEH__)
90
92
  _URC_FAILURE = 9 /* used by ARM EHABI */
91
93
  #endif
92
94
  } _Unwind_Reason_Code;
@@ -103,7 +105,8 @@ typedef enum {
103
105
  typedef void (*_Unwind_Exception_Cleanup_Fn)(_Unwind_Reason_Code,
104
106
  _Unwind_Exception *);
105
107
 
106
- #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__))
108
+ #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
109
+ defined(__ARM_DWARF_EH__) || defined(__SEH__))
107
110
  typedef struct _Unwind_Control_Block _Unwind_Control_Block;
108
111
  typedef uint32_t _Unwind_EHT_Header;
109
112
 
@@ -167,12 +170,14 @@ typedef _Unwind_Personality_Fn __personality_routine;
167
170
  typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
168
171
  void *);
169
172
 
170
- #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__))
173
+ #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
174
+ defined(__ARM_DWARF_EH__) || defined(__SEH__))
171
175
  typedef enum {
172
176
  _UVRSC_CORE = 0, /* integer register */
173
177
  _UVRSC_VFP = 1, /* vfp */
174
178
  _UVRSC_WMMXD = 3, /* Intel WMMX data register */
175
- _UVRSC_WMMXC = 4 /* Intel WMMX control register */
179
+ _UVRSC_WMMXC = 4, /* Intel WMMX control register */
180
+ _UVRSC_PSEUDO = 5 /* Special purpose pseudo register */
176
181
  } _Unwind_VRS_RegClass;
177
182
 
178
183
  typedef enum {
@@ -82,4 +82,4 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS_F
82
82
  #undef __DEFAULT_FN_ATTRS
83
83
  #undef __DEFAULT_FN_ATTRS_F
84
84
 
85
- #endif
85
+ #endif // __VAESINTRIN_H
@@ -0,0 +1,71 @@
1
+ /*===---- velintrin.h - VEL intrinsics for VE ------------------------------===
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
+ #ifndef __VEL_INTRIN_H__
10
+ #define __VEL_INTRIN_H__
11
+
12
+ // Vector registers
13
+ typedef double __vr __attribute__((__vector_size__(2048)));
14
+
15
+ // Vector mask registers
16
+ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
17
+ // For C99
18
+ typedef _Bool __vm __attribute__((ext_vector_type(256)));
19
+ typedef _Bool __vm256 __attribute__((ext_vector_type(256)));
20
+ typedef _Bool __vm512 __attribute__((ext_vector_type(512)));
21
+ #else
22
+ #ifdef __cplusplus
23
+ // For C++
24
+ typedef bool __vm __attribute__((ext_vector_type(256)));
25
+ typedef bool __vm256 __attribute__((ext_vector_type(256)));
26
+ typedef bool __vm512 __attribute__((ext_vector_type(512)));
27
+ #else
28
+ #error need C++ or C99 to use vector intrinsics for VE
29
+ #endif
30
+ #endif
31
+
32
+ enum VShuffleCodes {
33
+ VE_VSHUFFLE_YUYU = 0,
34
+ VE_VSHUFFLE_YUYL = 1,
35
+ VE_VSHUFFLE_YUZU = 2,
36
+ VE_VSHUFFLE_YUZL = 3,
37
+ VE_VSHUFFLE_YLYU = 4,
38
+ VE_VSHUFFLE_YLYL = 5,
39
+ VE_VSHUFFLE_YLZU = 6,
40
+ VE_VSHUFFLE_YLZL = 7,
41
+ VE_VSHUFFLE_ZUYU = 8,
42
+ VE_VSHUFFLE_ZUYL = 9,
43
+ VE_VSHUFFLE_ZUZU = 10,
44
+ VE_VSHUFFLE_ZUZL = 11,
45
+ VE_VSHUFFLE_ZLYU = 12,
46
+ VE_VSHUFFLE_ZLYL = 13,
47
+ VE_VSHUFFLE_ZLZU = 14,
48
+ VE_VSHUFFLE_ZLZL = 15,
49
+ };
50
+
51
+ // Use generated intrinsic name definitions
52
+ #include <velintrin_gen.h>
53
+
54
+ // Use helper functions
55
+ #include <velintrin_approx.h>
56
+
57
+ // pack
58
+
59
+ #define _vel_pack_f32p __builtin_ve_vl_pack_f32p
60
+ #define _vel_pack_f32a __builtin_ve_vl_pack_f32a
61
+
62
+ static inline unsigned long int _vel_pack_i32(unsigned int a, unsigned int b) {
63
+ return (((unsigned long int)a) << 32) | b;
64
+ }
65
+
66
+ #define _vel_extract_vm512u(vm) __builtin_ve_vl_extract_vm512u(vm)
67
+ #define _vel_extract_vm512l(vm) __builtin_ve_vl_extract_vm512l(vm)
68
+ #define _vel_insert_vm512u(vm512, vm) __builtin_ve_vl_insert_vm512u(vm512, vm)
69
+ #define _vel_insert_vm512l(vm512, vm) __builtin_ve_vl_insert_vm512l(vm512, vm)
70
+
71
+ #endif
@@ -0,0 +1,120 @@
1
+ /*===---- velintrin_approx.h - VEL intrinsics helper for VE ----------------===
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
+ #ifndef __VEL_INTRIN_APPROX_H__
10
+ #define __VEL_INTRIN_APPROX_H__
11
+
12
+ static inline __vr _vel_approx_vfdivs_vvvl(__vr v0, __vr v1, int l) {
13
+ float s0;
14
+ __vr v2, v3, v4, v5;
15
+ v5 = _vel_vrcps_vvl(v1, l);
16
+ s0 = 1.0;
17
+ v4 = _vel_vfnmsbs_vsvvl(s0, v1, v5, l);
18
+ v3 = _vel_vfmads_vvvvl(v5, v5, v4, l);
19
+ v2 = _vel_vfmuls_vvvl(v0, v3, l);
20
+ v4 = _vel_vfnmsbs_vvvvl(v0, v2, v1, l);
21
+ v2 = _vel_vfmads_vvvvl(v2, v5, v4, l);
22
+ v0 = _vel_vfnmsbs_vvvvl(v0, v2, v1, l);
23
+ v0 = _vel_vfmads_vvvvl(v2, v3, v0, l);
24
+ return v0;
25
+ }
26
+
27
+ static inline __vr _vel_approx_pvfdiv_vvvl(__vr v0, __vr v1, int l) {
28
+ float s0;
29
+ __vr v2, v3, v4, v5;
30
+ v5 = _vel_pvrcp_vvl(v1, l);
31
+ s0 = 1.0;
32
+ v4 = _vel_pvfnmsb_vsvvl(s0, v1, v5, l);
33
+ v3 = _vel_pvfmad_vvvvl(v5, v5, v4, l);
34
+ v2 = _vel_pvfmul_vvvl(v0, v3, l);
35
+ v4 = _vel_pvfnmsb_vvvvl(v0, v2, v1, l);
36
+ v2 = _vel_pvfmad_vvvvl(v2, v5, v4, l);
37
+ v0 = _vel_pvfnmsb_vvvvl(v0, v2, v1, l);
38
+ v0 = _vel_pvfmad_vvvvl(v2, v3, v0, l);
39
+ return v0;
40
+ }
41
+
42
+ static inline __vr _vel_approx_vfdivs_vsvl(float s0, __vr v0, int l) {
43
+ float s1;
44
+ __vr v1, v2, v3, v4;
45
+ v4 = _vel_vrcps_vvl(v0, l);
46
+ s1 = 1.0;
47
+ v2 = _vel_vfnmsbs_vsvvl(s1, v0, v4, l);
48
+ v2 = _vel_vfmads_vvvvl(v4, v4, v2, l);
49
+ v1 = _vel_vfmuls_vsvl(s0, v2, l);
50
+ v3 = _vel_vfnmsbs_vsvvl(s0, v1, v0, l);
51
+ v1 = _vel_vfmads_vvvvl(v1, v4, v3, l);
52
+ v3 = _vel_vfnmsbs_vsvvl(s0, v1, v0, l);
53
+ v0 = _vel_vfmads_vvvvl(v1, v2, v3, l);
54
+ return v0;
55
+ }
56
+
57
+ static inline __vr _vel_approx_vfdivs_vvsl(__vr v0, float s0, int l) {
58
+ float s1;
59
+ __vr v1, v2;
60
+ s1 = 1.0f / s0;
61
+ v1 = _vel_vfmuls_vsvl(s1, v0, l);
62
+ v2 = _vel_vfnmsbs_vvsvl(v0, s0, v1, l);
63
+ v0 = _vel_vfmads_vvsvl(v1, s1, v2, l);
64
+ return v0;
65
+ }
66
+
67
+ static inline __vr _vel_approx_vfdivd_vsvl(double s0, __vr v0, int l) {
68
+ __vr v1, v2, v3;
69
+ v2 = _vel_vrcpd_vvl(v0, l);
70
+ double s1 = 1.0;
71
+ v3 = _vel_vfnmsbd_vsvvl(s1, v0, v2, l);
72
+ v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
73
+ v1 = _vel_vfnmsbd_vsvvl(s1, v0, v2, l);
74
+ v1 = _vel_vfmadd_vvvvl(v2, v2, v1, l);
75
+ v1 = _vel_vaddul_vsvl(1, v1, l);
76
+ v3 = _vel_vfnmsbd_vsvvl(s1, v0, v1, l);
77
+ v3 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
78
+ v1 = _vel_vfmuld_vsvl(s0, v3, l);
79
+ v0 = _vel_vfnmsbd_vsvvl(s0, v1, v0, l);
80
+ v0 = _vel_vfmadd_vvvvl(v1, v3, v0, l);
81
+ return v0;
82
+ }
83
+
84
+ static inline __vr _vel_approx_vfsqrtd_vvl(__vr v0, int l) {
85
+ double s0, s1;
86
+ __vr v1, v2, v3;
87
+ v2 = _vel_vrsqrtdnex_vvl(v0, l);
88
+ v1 = _vel_vfmuld_vvvl(v0, v2, l);
89
+ s0 = 1.0;
90
+ s1 = 0.5;
91
+ v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
92
+ v3 = _vel_vfmuld_vsvl(s1, v3, l);
93
+ v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
94
+ v1 = _vel_vfmuld_vvvl(v0, v2, l);
95
+ v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
96
+ v3 = _vel_vfmuld_vsvl(s1, v3, l);
97
+ v0 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
98
+ return v0;
99
+ }
100
+
101
+ static inline __vr _vel_approx_vfsqrts_vvl(__vr v0, int l) {
102
+ float s0, s1;
103
+ __vr v1, v2, v3;
104
+ v0 = _vel_vcvtds_vvl(v0, l);
105
+ v2 = _vel_vrsqrtdnex_vvl(v0, l);
106
+ v1 = _vel_vfmuld_vvvl(v0, v2, l);
107
+ s0 = 1.0;
108
+ s1 = 0.5;
109
+ v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
110
+ v3 = _vel_vfmuld_vsvl(s1, v3, l);
111
+ v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
112
+ v1 = _vel_vfmuld_vvvl(v0, v2, l);
113
+ v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
114
+ v3 = _vel_vfmuld_vsvl(s1, v3, l);
115
+ v0 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
116
+ v0 = _vel_vcvtsd_vvl(v0, l);
117
+ return v0;
118
+ }
119
+
120
+ #endif