@cpp-linter/clang-tidy-win32-x64 14.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.exe +2 -2
  3. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
  4. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  5. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  6. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
  7. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  8. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  9. package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  10. package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
  11. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  12. package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
  13. package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
  14. package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
  15. package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
  16. package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
  17. package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
  18. package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
  19. package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
  20. package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
  21. package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
  22. package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
  23. package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  24. package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
  25. package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
  26. package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
  27. package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
  28. package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
  29. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  30. package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
  31. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  32. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  33. package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
  34. package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
  35. package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
  36. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  37. package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
  38. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  39. package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
  40. package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
  41. package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
  42. package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
  43. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  44. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  45. package/lib/clang/16/include/hlsl.h +15 -0
  46. package/lib/clang/{14.0.0 → 16}/include/hresetintrin.h +2 -2
  47. package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
  48. package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
  49. package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
  50. package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
  51. package/lib/clang/16/include/larchintrin.h +234 -0
  52. package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
  53. package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
  54. package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
  55. package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
  56. package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -1
  57. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  58. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  59. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  60. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  61. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  62. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
  63. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  64. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  65. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  66. package/lib/clang/{14.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  67. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  68. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  69. package/lib/clang/16/include/prfchiintrin.h +61 -0
  70. package/lib/clang/16/include/raointintrin.h +203 -0
  71. package/lib/clang/16/include/rdpruintrin.h +57 -0
  72. package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
  73. package/lib/clang/16/include/riscv_vector.h +211 -0
  74. package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
  75. package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
  76. package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
  77. package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
  78. package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
  79. package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
  80. package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
  81. package/lib/clang/16/include/stdnoreturn.h +29 -0
  82. package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
  83. package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
  84. package/lib/clang/16/include/velintrin.h +71 -0
  85. package/lib/clang/16/include/velintrin_approx.h +120 -0
  86. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  87. package/lib/clang/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
  88. package/lib/clang/16/include/x86gprintrin.h +65 -0
  89. package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
  90. package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
  91. package/package.json +6 -6
  92. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  93. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  94. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  95. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  96. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  97. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  98. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  99. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  100. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  101. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  102. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  103. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  104. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
  105. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  106. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  107. /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  108. /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  109. /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
  110. /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
  111. /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
  112. /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
  113. /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
  114. /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
  115. /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
  116. /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
  117. /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
  118. /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  119. /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
  120. /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
  121. /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
  122. /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  123. /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
  124. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
  125. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  126. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  127. /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  128. /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  129. /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
  130. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  131. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  132. /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  133. /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  134. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  135. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  136. /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
  137. /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
  138. /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
  139. /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
  140. /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
  141. /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
  142. /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
  143. /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
  144. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  145. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  146. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
  147. /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
  148. /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
  149. /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
  150. /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
  151. /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  152. /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
  153. /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
  154. /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
  157. /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
  158. /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
  160. /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
  163. /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
  165. /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
  167. /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  170. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  171. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
  172. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
  173. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  174. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  175. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
  176. /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
  177. /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
  178. /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
  182. /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
  183. /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
  184. /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
  186. /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
  187. /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
  188. /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  190. /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
  191. /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
  193. /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
  195. /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  197. /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
  199. /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{14.0.0 → 16}/include/xtestintrin.h +0 -0
@@ -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,7 +170,8 @@ 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 */
@@ -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