@cpp-linter/clang-tidy-linux-arm64 16.0.3 → 18.1.5

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 (250) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{16 → 18}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{16 → 18}/include/__clang_cuda_intrinsics.h +191 -0
  5. package/lib/clang/{16 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
  6. package/lib/clang/{16 → 18}/include/__clang_cuda_math.h +3 -3
  7. package/lib/clang/{16 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
  8. package/lib/clang/{16 → 18}/include/__clang_hip_cmath.h +1 -1
  9. package/lib/clang/{16 → 18}/include/__clang_hip_libdevice_declares.h +32 -30
  10. package/lib/clang/{16 → 18}/include/__clang_hip_math.h +244 -238
  11. package/lib/clang/{16 → 18}/include/__clang_hip_runtime_wrapper.h +44 -23
  12. package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
  13. package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
  14. package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
  15. package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
  16. package/lib/clang/18/include/__stdarg_va_list.h +13 -0
  17. package/lib/clang/{16 → 18}/include/__stddef_max_align_t.h +1 -1
  18. package/lib/clang/18/include/__stddef_null.h +29 -0
  19. package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
  20. package/lib/clang/18/include/__stddef_offsetof.h +17 -0
  21. package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
  22. package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
  23. package/lib/clang/18/include/__stddef_size_t.h +20 -0
  24. package/lib/clang/18/include/__stddef_unreachable.h +21 -0
  25. package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
  26. package/lib/clang/18/include/__stddef_wint_t.h +15 -0
  27. package/lib/clang/18/include/adcintrin.h +160 -0
  28. package/lib/clang/18/include/adxintrin.h +102 -0
  29. package/lib/clang/{16 → 18}/include/altivec.h +167 -136
  30. package/lib/clang/{16 → 18}/include/ammintrin.h +4 -4
  31. package/lib/clang/18/include/amxcomplexintrin.h +169 -0
  32. package/lib/clang/{16 → 18}/include/arm_acle.h +124 -40
  33. package/lib/clang/{16 → 18}/include/arm_neon.h +249 -328
  34. package/lib/clang/18/include/arm_sme.h +2412 -0
  35. package/lib/clang/{16 → 18}/include/arm_sve.h +7454 -364
  36. package/lib/clang/18/include/arm_vector_types.h +345 -0
  37. package/lib/clang/18/include/avx2intrin.h +5284 -0
  38. package/lib/clang/{16 → 18}/include/avx512bf16intrin.h +3 -2
  39. package/lib/clang/{16 → 18}/include/avx512bitalgintrin.h +4 -1
  40. package/lib/clang/{16 → 18}/include/avx512bwintrin.h +28 -38
  41. package/lib/clang/{16 → 18}/include/avx512cdintrin.h +3 -1
  42. package/lib/clang/{16 → 18}/include/avx512dqintrin.h +4 -2
  43. package/lib/clang/{16 → 18}/include/avx512fintrin.h +24 -10
  44. package/lib/clang/{16 → 18}/include/avx512fp16intrin.h +18 -12
  45. package/lib/clang/{16 → 18}/include/avx512ifmaintrin.h +3 -1
  46. package/lib/clang/{16 → 18}/include/avx512ifmavlintrin.h +8 -2
  47. package/lib/clang/{16 → 18}/include/avx512pfintrin.h +0 -5
  48. package/lib/clang/{16 → 18}/include/avx512vbmi2intrin.h +1 -1
  49. package/lib/clang/{16 → 18}/include/avx512vbmiintrin.h +3 -2
  50. package/lib/clang/{16 → 18}/include/avx512vbmivlintrin.h +8 -3
  51. package/lib/clang/{16 → 18}/include/avx512vlbf16intrin.h +8 -6
  52. package/lib/clang/{16 → 18}/include/avx512vlbitalgintrin.h +8 -2
  53. package/lib/clang/{16 → 18}/include/avx512vlbwintrin.h +8 -2
  54. package/lib/clang/{16 → 18}/include/avx512vlcdintrin.h +8 -3
  55. package/lib/clang/{16 → 18}/include/avx512vldqintrin.h +8 -2
  56. package/lib/clang/{16 → 18}/include/avx512vlfp16intrin.h +2 -2
  57. package/lib/clang/{16 → 18}/include/avx512vlintrin.h +8 -2
  58. package/lib/clang/{16 → 18}/include/avx512vlvbmi2intrin.h +8 -2
  59. package/lib/clang/{16 → 18}/include/avx512vlvnniintrin.h +8 -2
  60. package/lib/clang/{16 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
  61. package/lib/clang/{16 → 18}/include/avx512vnniintrin.h +3 -2
  62. package/lib/clang/{16 → 18}/include/avx512vp2intersectintrin.h +3 -2
  63. package/lib/clang/{16 → 18}/include/avx512vpopcntdqintrin.h +3 -1
  64. package/lib/clang/{16 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
  65. package/lib/clang/{16 → 18}/include/avxintrin.h +29 -12
  66. package/lib/clang/18/include/avxvnniint16intrin.h +473 -0
  67. package/lib/clang/18/include/bmi2intrin.h +255 -0
  68. package/lib/clang/{16 → 18}/include/bmiintrin.h +231 -46
  69. package/lib/clang/{16 → 18}/include/clflushoptintrin.h +9 -0
  70. package/lib/clang/{16 → 18}/include/clzerointrin.h +7 -5
  71. package/lib/clang/18/include/cuda_wrappers/bits/basic_string.h +9 -0
  72. package/lib/clang/18/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  73. package/lib/clang/18/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  74. package/lib/clang/{16 → 18}/include/emmintrin.h +10 -10
  75. package/lib/clang/18/include/fmaintrin.h +780 -0
  76. package/lib/clang/{16 → 18}/include/gfniintrin.h +23 -6
  77. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
  78. package/lib/clang/18/include/ia32intrin.h +863 -0
  79. package/lib/clang/{16 → 18}/include/immintrin.h +182 -11
  80. package/lib/clang/{16 → 18}/include/intrin.h +16 -0
  81. package/lib/clang/{16 → 18}/include/larchintrin.h +13 -1
  82. package/lib/clang/18/include/lasxintrin.h +3884 -0
  83. package/lib/clang/{16 → 18}/include/limits.h +7 -5
  84. package/lib/clang/18/include/llvm_libc_wrappers/assert.h +34 -0
  85. package/lib/clang/18/include/llvm_libc_wrappers/ctype.h +102 -0
  86. package/lib/clang/18/include/llvm_libc_wrappers/inttypes.h +34 -0
  87. package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
  88. package/lib/clang/18/include/llvm_libc_wrappers/stdlib.h +45 -0
  89. package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
  90. package/lib/clang/18/include/llvm_libc_wrappers/time.h +34 -0
  91. package/lib/clang/18/include/lsxintrin.h +3750 -0
  92. package/lib/clang/{16 → 18}/include/mmintrin.h +7 -5
  93. package/lib/clang/{16 → 18}/include/module.modulemap +155 -2
  94. package/lib/clang/18/include/mwaitxintrin.h +62 -0
  95. package/lib/clang/{16 → 18}/include/opencl-c-base.h +8 -0
  96. package/lib/clang/{16 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  97. package/lib/clang/{16 → 18}/include/openmp_wrappers/cmath +1 -1
  98. package/lib/clang/{16 → 18}/include/openmp_wrappers/new +1 -1
  99. package/lib/clang/{16 → 18}/include/pmmintrin.h +15 -8
  100. package/lib/clang/{16 → 18}/include/ppc_wrappers/emmintrin.h +2 -1
  101. package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
  102. package/lib/clang/{16 → 18}/include/ppc_wrappers/smmintrin.h +37 -17
  103. package/lib/clang/18/include/rdseedintrin.h +105 -0
  104. package/lib/clang/18/include/riscv_bitmanip.h +195 -0
  105. package/lib/clang/18/include/riscv_crypto.h +170 -0
  106. package/lib/clang/18/include/riscv_ntlh.h +26 -0
  107. package/lib/clang/18/include/riscv_vector.h +431 -0
  108. package/lib/clang/18/include/sha512intrin.h +200 -0
  109. package/lib/clang/18/include/shaintrin.h +189 -0
  110. package/lib/clang/18/include/sifive_vector.h +16 -0
  111. package/lib/clang/18/include/sm3intrin.h +238 -0
  112. package/lib/clang/18/include/sm4intrin.h +269 -0
  113. package/lib/clang/{16 → 18}/include/smmintrin.h +3 -3
  114. package/lib/clang/{16 → 18}/include/stdalign.h +3 -0
  115. package/lib/clang/18/include/stdarg.h +79 -0
  116. package/lib/clang/{16 → 18}/include/stdatomic.h +7 -2
  117. package/lib/clang/18/include/stdckdint.h +42 -0
  118. package/lib/clang/18/include/stddef.h +123 -0
  119. package/lib/clang/{16 → 18}/include/stdint.h +19 -48
  120. package/lib/clang/{16 → 18}/include/stdnoreturn.h +2 -2
  121. package/lib/clang/{16 → 18}/include/tmmintrin.h +7 -2
  122. package/lib/clang/18/include/usermsrintrin.h +51 -0
  123. package/lib/clang/{16 → 18}/include/vaesintrin.h +4 -2
  124. package/lib/clang/{16 → 18}/include/vecintrin.h +217 -199
  125. package/lib/clang/{16 → 18}/include/wasm_simd128.h +132 -12
  126. package/lib/clang/{16 → 18}/include/x86gprintrin.h +5 -0
  127. package/lib/clang/{16 → 18}/include/xmmintrin.h +9 -5
  128. package/lib/clang/18/include/xsavecintrin.h +84 -0
  129. package/package.json +6 -6
  130. package/lib/clang/16/include/adxintrin.h +0 -72
  131. package/lib/clang/16/include/avx2intrin.h +0 -1148
  132. package/lib/clang/16/include/bmi2intrin.h +0 -81
  133. package/lib/clang/16/include/fmaintrin.h +0 -216
  134. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +0 -223
  135. package/lib/clang/16/include/ia32intrin.h +0 -441
  136. package/lib/clang/16/include/mwaitxintrin.h +0 -33
  137. package/lib/clang/16/include/rdseedintrin.h +0 -42
  138. package/lib/clang/16/include/riscv_vector.h +0 -211
  139. package/lib/clang/16/include/shaintrin.h +0 -61
  140. package/lib/clang/16/include/stdarg.h +0 -51
  141. package/lib/clang/16/include/stddef.h +0 -128
  142. package/lib/clang/16/include/xsavecintrin.h +0 -34
  143. /package/lib/clang/{16 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
  144. /package/lib/clang/{16 → 18}/include/__clang_cuda_cmath.h +0 -0
  145. /package/lib/clang/{16 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
  146. /package/lib/clang/{16 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
  147. /package/lib/clang/{16 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
  148. /package/lib/clang/{16 → 18}/include/__clang_hip_stdlib.h +0 -0
  149. /package/lib/clang/{16 → 18}/include/__wmmintrin_aes.h +0 -0
  150. /package/lib/clang/{16 → 18}/include/__wmmintrin_pclmul.h +0 -0
  151. /package/lib/clang/{16 → 18}/include/amxfp16intrin.h +0 -0
  152. /package/lib/clang/{16 → 18}/include/amxintrin.h +0 -0
  153. /package/lib/clang/{16 → 18}/include/arm64intr.h +0 -0
  154. /package/lib/clang/{16 → 18}/include/arm_bf16.h +0 -0
  155. /package/lib/clang/{16 → 18}/include/arm_cde.h +0 -0
  156. /package/lib/clang/{16 → 18}/include/arm_cmse.h +0 -0
  157. /package/lib/clang/{16 → 18}/include/arm_fp16.h +0 -0
  158. /package/lib/clang/{16 → 18}/include/arm_mve.h +0 -0
  159. /package/lib/clang/{16 → 18}/include/arm_neon_sve_bridge.h +0 -0
  160. /package/lib/clang/{16 → 18}/include/armintr.h +0 -0
  161. /package/lib/clang/{16 → 18}/include/avx512erintrin.h +0 -0
  162. /package/lib/clang/{16 → 18}/include/avxifmaintrin.h +0 -0
  163. /package/lib/clang/{16 → 18}/include/avxneconvertintrin.h +0 -0
  164. /package/lib/clang/{16 → 18}/include/avxvnniint8intrin.h +0 -0
  165. /package/lib/clang/{16 → 18}/include/avxvnniintrin.h +0 -0
  166. /package/lib/clang/{16 → 18}/include/builtins.h +0 -0
  167. /package/lib/clang/{16 → 18}/include/cet.h +0 -0
  168. /package/lib/clang/{16 → 18}/include/cetintrin.h +0 -0
  169. /package/lib/clang/{16 → 18}/include/cldemoteintrin.h +0 -0
  170. /package/lib/clang/{16 → 18}/include/clwbintrin.h +0 -0
  171. /package/lib/clang/{16 → 18}/include/cmpccxaddintrin.h +0 -0
  172. /package/lib/clang/{16 → 18}/include/cpuid.h +0 -0
  173. /package/lib/clang/{16 → 18}/include/crc32intrin.h +0 -0
  174. /package/lib/clang/{16 → 18}/include/cuda_wrappers/algorithm +0 -0
  175. /package/lib/clang/{16 → 18}/include/cuda_wrappers/cmath +0 -0
  176. /package/lib/clang/{16 → 18}/include/cuda_wrappers/complex +0 -0
  177. /package/lib/clang/{16 → 18}/include/cuda_wrappers/new +0 -0
  178. /package/lib/clang/{16 → 18}/include/enqcmdintrin.h +0 -0
  179. /package/lib/clang/{16 → 18}/include/f16cintrin.h +0 -0
  180. /package/lib/clang/{16 → 18}/include/float.h +0 -0
  181. /package/lib/clang/{16 → 18}/include/fma4intrin.h +0 -0
  182. /package/lib/clang/{16 → 18}/include/fxsrintrin.h +0 -0
  183. /package/lib/clang/{16 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
  184. /package/lib/clang/{16 → 18}/include/hexagon_protos.h +0 -0
  185. /package/lib/clang/{16 → 18}/include/hexagon_types.h +0 -0
  186. /package/lib/clang/{16 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
  187. /package/lib/clang/{16 → 18}/include/hlsl.h +0 -0
  188. /package/lib/clang/{16 → 18}/include/hresetintrin.h +0 -0
  189. /package/lib/clang/{16 → 18}/include/htmintrin.h +0 -0
  190. /package/lib/clang/{16 → 18}/include/htmxlintrin.h +0 -0
  191. /package/lib/clang/{16 → 18}/include/hvx_hexagon_protos.h +0 -0
  192. /package/lib/clang/{16 → 18}/include/inttypes.h +0 -0
  193. /package/lib/clang/{16 → 18}/include/invpcidintrin.h +0 -0
  194. /package/lib/clang/{16 → 18}/include/iso646.h +0 -0
  195. /package/lib/clang/{16 → 18}/include/keylockerintrin.h +0 -0
  196. /package/lib/clang/{16 → 18}/include/lwpintrin.h +0 -0
  197. /package/lib/clang/{16 → 18}/include/lzcntintrin.h +0 -0
  198. /package/lib/clang/{16 → 18}/include/mm3dnow.h +0 -0
  199. /package/lib/clang/{16 → 18}/include/mm_malloc.h +0 -0
  200. /package/lib/clang/{16 → 18}/include/movdirintrin.h +0 -0
  201. /package/lib/clang/{16 → 18}/include/msa.h +0 -0
  202. /package/lib/clang/{16 → 18}/include/nmmintrin.h +0 -0
  203. /package/lib/clang/{16 → 18}/include/opencl-c.h +0 -0
  204. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex +0 -0
  205. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex.h +0 -0
  206. /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
  207. /package/lib/clang/{16 → 18}/include/openmp_wrappers/math.h +0 -0
  208. /package/lib/clang/{16 → 18}/include/pconfigintrin.h +0 -0
  209. /package/lib/clang/{16 → 18}/include/pkuintrin.h +0 -0
  210. /package/lib/clang/{16 → 18}/include/popcntintrin.h +0 -0
  211. /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
  212. /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
  213. /package/lib/clang/{16 → 18}/include/ppc_wrappers/immintrin.h +0 -0
  214. /package/lib/clang/{16 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
  215. /package/lib/clang/{16 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
  216. /package/lib/clang/{16 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
  217. /package/lib/clang/{16 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
  218. /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
  219. /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
  220. /package/lib/clang/{16 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
  221. /package/lib/clang/{16 → 18}/include/prfchiintrin.h +0 -0
  222. /package/lib/clang/{16 → 18}/include/prfchwintrin.h +0 -0
  223. /package/lib/clang/{16 → 18}/include/ptwriteintrin.h +0 -0
  224. /package/lib/clang/{16 → 18}/include/raointintrin.h +0 -0
  225. /package/lib/clang/{16 → 18}/include/rdpruintrin.h +0 -0
  226. /package/lib/clang/{16 → 18}/include/rtmintrin.h +0 -0
  227. /package/lib/clang/{16 → 18}/include/s390intrin.h +0 -0
  228. /package/lib/clang/{16 → 18}/include/serializeintrin.h +0 -0
  229. /package/lib/clang/{16 → 18}/include/sgxintrin.h +0 -0
  230. /package/lib/clang/{16 → 18}/include/stdbool.h +0 -0
  231. /package/lib/clang/{16 → 18}/include/tbmintrin.h +0 -0
  232. /package/lib/clang/{16 → 18}/include/tgmath.h +0 -0
  233. /package/lib/clang/{16 → 18}/include/tsxldtrkintrin.h +0 -0
  234. /package/lib/clang/{16 → 18}/include/uintrintrin.h +0 -0
  235. /package/lib/clang/{16 → 18}/include/unwind.h +0 -0
  236. /package/lib/clang/{16 → 18}/include/vadefs.h +0 -0
  237. /package/lib/clang/{16 → 18}/include/varargs.h +0 -0
  238. /package/lib/clang/{16 → 18}/include/velintrin.h +0 -0
  239. /package/lib/clang/{16 → 18}/include/velintrin_approx.h +0 -0
  240. /package/lib/clang/{16 → 18}/include/velintrin_gen.h +0 -0
  241. /package/lib/clang/{16 → 18}/include/vpclmulqdqintrin.h +0 -0
  242. /package/lib/clang/{16 → 18}/include/waitpkgintrin.h +0 -0
  243. /package/lib/clang/{16 → 18}/include/wbnoinvdintrin.h +0 -0
  244. /package/lib/clang/{16 → 18}/include/wmmintrin.h +0 -0
  245. /package/lib/clang/{16 → 18}/include/x86intrin.h +0 -0
  246. /package/lib/clang/{16 → 18}/include/xopintrin.h +0 -0
  247. /package/lib/clang/{16 → 18}/include/xsaveintrin.h +0 -0
  248. /package/lib/clang/{16 → 18}/include/xsaveoptintrin.h +0 -0
  249. /package/lib/clang/{16 → 18}/include/xsavesintrin.h +0 -0
  250. /package/lib/clang/{16 → 18}/include/xtestintrin.h +0 -0
@@ -3202,71 +3202,79 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3202
3202
  // the XL-compatible signatures are used for those functions.
3203
3203
  #ifdef __XL_COMPAT_ALTIVEC__
3204
3204
  #define vec_ctf(__a, __b) \
3205
- _Generic( \
3206
- (__a), vector int \
3207
- : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3208
- vector unsigned int \
3209
- : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3210
- (__b)), \
3211
- vector unsigned long long \
3212
- : (vector float)(__builtin_vsx_xvcvuxdsp( \
3213
- (vector unsigned long long)(__a)) * \
3214
- (vector float)(vector unsigned)((0x7f - (__b)) << 23)), \
3215
- vector signed long long \
3216
- : (vector float)(__builtin_vsx_xvcvsxdsp( \
3217
- (vector signed long long)(__a)) * \
3218
- (vector float)(vector unsigned)((0x7f - (__b)) << 23)))
3205
+ _Generic((__a), \
3206
+ vector int: (vector float)__builtin_altivec_vcfsx((vector int)(__a), \
3207
+ ((__b)&0x1F)), \
3208
+ vector unsigned int: (vector float)__builtin_altivec_vcfux( \
3209
+ (vector unsigned int)(__a), ((__b)&0x1F)), \
3210
+ vector unsigned long long: ( \
3211
+ vector float)(__builtin_vsx_xvcvuxdsp( \
3212
+ (vector unsigned long long)(__a)) * \
3213
+ (vector float)(vector unsigned)((0x7f - \
3214
+ ((__b)&0x1F)) \
3215
+ << 23)), \
3216
+ vector signed long long: ( \
3217
+ vector float)(__builtin_vsx_xvcvsxdsp( \
3218
+ (vector signed long long)(__a)) * \
3219
+ (vector float)(vector unsigned)((0x7f - \
3220
+ ((__b)&0x1F)) \
3221
+ << 23)))
3219
3222
  #else // __XL_COMPAT_ALTIVEC__
3220
- #define vec_ctf(__a, __b) \
3221
- _Generic( \
3222
- (__a), vector int \
3223
- : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3224
- vector unsigned int \
3225
- : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3226
- (__b)), \
3227
- vector unsigned long long \
3228
- : (vector float)(__builtin_convertvector( \
3229
- (vector unsigned long long)(__a), vector double) * \
3230
- (vector double)(vector unsigned long long)((0x3ffULL - \
3231
- (__b)) \
3232
- << 52)), \
3233
- vector signed long long \
3234
- : (vector float)(__builtin_convertvector((vector signed long long)(__a), \
3235
- vector double) * \
3236
- (vector double)(vector unsigned long long)((0x3ffULL - \
3237
- (__b)) \
3238
- << 52)))
3223
+ #define vec_ctf(__a, __b) \
3224
+ _Generic( \
3225
+ (__a), \
3226
+ vector int: (vector float)__builtin_altivec_vcfsx((vector int)(__a), \
3227
+ ((__b)&0x1F)), \
3228
+ vector unsigned int: (vector float)__builtin_altivec_vcfux( \
3229
+ (vector unsigned int)(__a), ((__b)&0x1F)), \
3230
+ vector unsigned long long: ( \
3231
+ vector float)(__builtin_convertvector( \
3232
+ (vector unsigned long long)(__a), vector double) * \
3233
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3234
+ ((__b)&0x1F)) \
3235
+ << 52)), \
3236
+ vector signed long long: ( \
3237
+ vector float)(__builtin_convertvector( \
3238
+ (vector signed long long)(__a), vector double) * \
3239
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3240
+ ((__b)&0x1F)) \
3241
+ << 52)))
3239
3242
  #endif // __XL_COMPAT_ALTIVEC__
3240
3243
  #else
3241
3244
  #define vec_ctf(__a, __b) \
3242
- _Generic((__a), vector int \
3243
- : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3244
- vector unsigned int \
3245
- : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3246
- (__b)))
3245
+ _Generic((__a), \
3246
+ vector int: (vector float)__builtin_altivec_vcfsx((vector int)(__a), \
3247
+ ((__b)&0x1F)), \
3248
+ vector unsigned int: (vector float)__builtin_altivec_vcfux( \
3249
+ (vector unsigned int)(__a), ((__b)&0x1F)))
3247
3250
  #endif
3248
3251
 
3249
3252
  /* vec_ctd */
3250
3253
  #ifdef __VSX__
3251
3254
  #define vec_ctd(__a, __b) \
3252
- _Generic((__a), vector signed int \
3253
- : (vec_doublee((vector signed int)(__a)) * \
3254
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3255
- << 52)), \
3256
- vector unsigned int \
3257
- : (vec_doublee((vector unsigned int)(__a)) * \
3258
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3259
- << 52)), \
3260
- vector unsigned long long \
3261
- : (__builtin_convertvector((vector unsigned long long)(__a), \
3262
- vector double) * \
3263
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3264
- << 52)), \
3265
- vector signed long long \
3266
- : (__builtin_convertvector((vector signed long long)(__a), \
3267
- vector double) * \
3268
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3269
- << 52)))
3255
+ _Generic((__a), \
3256
+ vector signed int: ( \
3257
+ vec_doublee((vector signed int)(__a)) * \
3258
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3259
+ ((__b)&0x1F)) \
3260
+ << 52)), \
3261
+ vector unsigned int: ( \
3262
+ vec_doublee((vector unsigned int)(__a)) * \
3263
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3264
+ ((__b)&0x1F)) \
3265
+ << 52)), \
3266
+ vector unsigned long long: ( \
3267
+ __builtin_convertvector((vector unsigned long long)(__a), \
3268
+ vector double) * \
3269
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3270
+ ((__b)&0x1F)) \
3271
+ << 52)), \
3272
+ vector signed long long: ( \
3273
+ __builtin_convertvector((vector signed long long)(__a), \
3274
+ vector double) * \
3275
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3276
+ ((__b)&0x1F)) \
3277
+ << 52)))
3270
3278
  #endif // __VSX__
3271
3279
 
3272
3280
  /* vec_vcfsx */
@@ -3281,27 +3289,27 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3281
3289
  #ifdef __VSX__
3282
3290
  #ifdef __XL_COMPAT_ALTIVEC__
3283
3291
  #define vec_cts(__a, __b) \
3284
- _Generic((__a), vector float \
3285
- : (vector signed int)__builtin_altivec_vctsxs((vector float)(__a), \
3286
- (__b)), \
3287
- vector double \
3288
- : __extension__({ \
3292
+ _Generic((__a), \
3293
+ vector float: (vector signed int)__builtin_altivec_vctsxs( \
3294
+ (vector float)(__a), ((__b)&0x1F)), \
3295
+ vector double: __extension__({ \
3289
3296
  vector double __ret = \
3290
3297
  (vector double)(__a) * \
3291
- (vector double)(vector unsigned long long)((0x3ffULL + (__b)) \
3298
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3299
+ ((__b)&0x1F)) \
3292
3300
  << 52); \
3293
3301
  (vector signed long long)__builtin_vsx_xvcvdpsxws(__ret); \
3294
3302
  }))
3295
3303
  #else // __XL_COMPAT_ALTIVEC__
3296
3304
  #define vec_cts(__a, __b) \
3297
- _Generic((__a), vector float \
3298
- : (vector signed int)__builtin_altivec_vctsxs((vector float)(__a), \
3299
- (__b)), \
3300
- vector double \
3301
- : __extension__({ \
3305
+ _Generic((__a), \
3306
+ vector float: (vector signed int)__builtin_altivec_vctsxs( \
3307
+ (vector float)(__a), ((__b)&0x1F)), \
3308
+ vector double: __extension__({ \
3302
3309
  vector double __ret = \
3303
3310
  (vector double)(__a) * \
3304
- (vector double)(vector unsigned long long)((0x3ffULL + (__b)) \
3311
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3312
+ ((__b)&0x1F)) \
3305
3313
  << 52); \
3306
3314
  (vector signed long long)__builtin_convertvector( \
3307
3315
  __ret, vector signed long long); \
@@ -3320,27 +3328,27 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3320
3328
  #ifdef __VSX__
3321
3329
  #ifdef __XL_COMPAT_ALTIVEC__
3322
3330
  #define vec_ctu(__a, __b) \
3323
- _Generic((__a), vector float \
3324
- : (vector unsigned int)__builtin_altivec_vctuxs( \
3325
- (vector float)(__a), (__b)), \
3326
- vector double \
3327
- : __extension__({ \
3331
+ _Generic((__a), \
3332
+ vector float: (vector unsigned int)__builtin_altivec_vctuxs( \
3333
+ (vector float)(__a), ((__b)&0x1F)), \
3334
+ vector double: __extension__({ \
3328
3335
  vector double __ret = \
3329
3336
  (vector double)(__a) * \
3330
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3337
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3338
+ ((__b)&0x1F)) \
3331
3339
  << 52); \
3332
3340
  (vector unsigned long long)__builtin_vsx_xvcvdpuxws(__ret); \
3333
3341
  }))
3334
3342
  #else // __XL_COMPAT_ALTIVEC__
3335
3343
  #define vec_ctu(__a, __b) \
3336
- _Generic((__a), vector float \
3337
- : (vector unsigned int)__builtin_altivec_vctuxs( \
3338
- (vector float)(__a), (__b)), \
3339
- vector double \
3340
- : __extension__({ \
3344
+ _Generic((__a), \
3345
+ vector float: (vector unsigned int)__builtin_altivec_vctuxs( \
3346
+ (vector float)(__a), ((__b)&0x1F)), \
3347
+ vector double: __extension__({ \
3341
3348
  vector double __ret = \
3342
3349
  (vector double)(__a) * \
3343
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3350
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3351
+ ((__b)&0x1F)) \
3344
3352
  << 52); \
3345
3353
  (vector unsigned long long)__builtin_convertvector( \
3346
3354
  __ret, vector unsigned long long); \
@@ -3355,60 +3363,62 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3355
3363
 
3356
3364
  #ifdef __VSX__
3357
3365
  #define vec_ctsl(__a, __b) \
3358
- _Generic((__a), vector float \
3359
- : __extension__({ \
3360
- vector float __ret = \
3361
- (vector float)(__a) * \
3362
- (vector float)(vector unsigned)((0x7f + (__b)) << 23); \
3363
- __builtin_vsx_xvcvspsxds( \
3364
- __builtin_vsx_xxsldwi(__ret, __ret, 1)); \
3365
- }), \
3366
- vector double \
3367
- : __extension__({ \
3368
- vector double __ret = \
3369
- (vector double)(__a) * \
3370
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3371
- << 52); \
3372
- __builtin_convertvector(__ret, vector signed long long); \
3373
- }))
3366
+ _Generic( \
3367
+ (__a), vector float \
3368
+ : __extension__({ \
3369
+ vector float __ret = \
3370
+ (vector float)(__a) * \
3371
+ (vector float)(vector unsigned)((0x7f + ((__b)&0x1F)) << 23); \
3372
+ __builtin_vsx_xvcvspsxds(__builtin_vsx_xxsldwi(__ret, __ret, 1)); \
3373
+ }), \
3374
+ vector double \
3375
+ : __extension__({ \
3376
+ vector double __ret = \
3377
+ (vector double)(__a) * \
3378
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3379
+ ((__b)&0x1F)) \
3380
+ << 52); \
3381
+ __builtin_convertvector(__ret, vector signed long long); \
3382
+ }))
3374
3383
 
3375
3384
  /* vec_ctul */
3376
3385
 
3377
3386
  #define vec_ctul(__a, __b) \
3378
- _Generic((__a), vector float \
3379
- : __extension__({ \
3380
- vector float __ret = \
3381
- (vector float)(__a) * \
3382
- (vector float)(vector unsigned)((0x7f + (__b)) << 23); \
3383
- __builtin_vsx_xvcvspuxds( \
3384
- __builtin_vsx_xxsldwi(__ret, __ret, 1)); \
3385
- }), \
3386
- vector double \
3387
- : __extension__({ \
3388
- vector double __ret = \
3389
- (vector double)(__a) * \
3390
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3391
- << 52); \
3392
- __builtin_convertvector(__ret, vector unsigned long long); \
3393
- }))
3387
+ _Generic( \
3388
+ (__a), vector float \
3389
+ : __extension__({ \
3390
+ vector float __ret = \
3391
+ (vector float)(__a) * \
3392
+ (vector float)(vector unsigned)((0x7f + ((__b)&0x1F)) << 23); \
3393
+ __builtin_vsx_xvcvspuxds(__builtin_vsx_xxsldwi(__ret, __ret, 1)); \
3394
+ }), \
3395
+ vector double \
3396
+ : __extension__({ \
3397
+ vector double __ret = \
3398
+ (vector double)(__a) * \
3399
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3400
+ ((__b)&0x1F)) \
3401
+ << 52); \
3402
+ __builtin_convertvector(__ret, vector unsigned long long); \
3403
+ }))
3394
3404
  #endif
3395
3405
  #else // __LITTLE_ENDIAN__
3396
3406
  /* vec_ctsl */
3397
3407
 
3398
3408
  #ifdef __VSX__
3399
3409
  #define vec_ctsl(__a, __b) \
3400
- _Generic((__a), vector float \
3401
- : __extension__({ \
3402
- vector float __ret = \
3403
- (vector float)(__a) * \
3404
- (vector float)(vector unsigned)((0x7f + (__b)) << 23); \
3405
- __builtin_vsx_xvcvspsxds(__ret); \
3406
- }), \
3407
- vector double \
3408
- : __extension__({ \
3410
+ _Generic((__a), \
3411
+ vector float: __extension__({ \
3412
+ vector float __ret = \
3413
+ (vector float)(__a) * \
3414
+ (vector float)(vector unsigned)((0x7f + ((__b)&0x1F)) << 23); \
3415
+ __builtin_vsx_xvcvspsxds(__ret); \
3416
+ }), \
3417
+ vector double: __extension__({ \
3409
3418
  vector double __ret = \
3410
3419
  (vector double)(__a) * \
3411
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3420
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3421
+ ((__b)&0x1F)) \
3412
3422
  << 52); \
3413
3423
  __builtin_convertvector(__ret, vector signed long long); \
3414
3424
  }))
@@ -3420,14 +3430,16 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3420
3430
  : __extension__({ \
3421
3431
  vector float __ret = \
3422
3432
  (vector float)(__a) * \
3423
- (vector float)(vector unsigned)((0x7f + (__b)) << 23); \
3433
+ (vector float)(vector unsigned)((0x7f + ((__b)&0x1F)) \
3434
+ << 23); \
3424
3435
  __builtin_vsx_xvcvspuxds(__ret); \
3425
3436
  }), \
3426
3437
  vector double \
3427
3438
  : __extension__({ \
3428
3439
  vector double __ret = \
3429
3440
  (vector double)(__a) * \
3430
- (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3441
+ (vector double)(vector unsigned long long)((0x3ffULL + \
3442
+ ((__b)&0x1F)) \
3431
3443
  << 52); \
3432
3444
  __builtin_convertvector(__ret, vector unsigned long long); \
3433
3445
  }))
@@ -14635,67 +14647,86 @@ static __inline__ void __ATTRS_o_ai vec_stvrxl(vector float __a, int __b,
14635
14647
 
14636
14648
  static __inline__ vector signed char __ATTRS_o_ai vec_promote(signed char __a,
14637
14649
  int __b) {
14638
- vector signed char __res = (vector signed char)(0);
14639
- __res[__b & 0x7] = __a;
14650
+ const vector signed char __zero = (vector signed char)0;
14651
+ vector signed char __res =
14652
+ __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1,
14653
+ -1, -1, -1, -1, -1, -1, -1, -1);
14654
+ __res[__b & 0xf] = __a;
14640
14655
  return __res;
14641
14656
  }
14642
14657
 
14643
14658
  static __inline__ vector unsigned char __ATTRS_o_ai
14644
14659
  vec_promote(unsigned char __a, int __b) {
14645
- vector unsigned char __res = (vector unsigned char)(0);
14646
- __res[__b & 0x7] = __a;
14660
+ const vector unsigned char __zero = (vector unsigned char)(0);
14661
+ vector unsigned char __res =
14662
+ __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1,
14663
+ -1, -1, -1, -1, -1, -1, -1, -1);
14664
+ __res[__b & 0xf] = __a;
14647
14665
  return __res;
14648
14666
  }
14649
14667
 
14650
14668
  static __inline__ vector short __ATTRS_o_ai vec_promote(short __a, int __b) {
14651
- vector short __res = (vector short)(0);
14669
+ const vector short __zero = (vector short)(0);
14670
+ vector short __res =
14671
+ __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1);
14652
14672
  __res[__b & 0x7] = __a;
14653
14673
  return __res;
14654
14674
  }
14655
14675
 
14656
14676
  static __inline__ vector unsigned short __ATTRS_o_ai
14657
14677
  vec_promote(unsigned short __a, int __b) {
14658
- vector unsigned short __res = (vector unsigned short)(0);
14678
+ const vector unsigned short __zero = (vector unsigned short)(0);
14679
+ vector unsigned short __res =
14680
+ __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1);
14659
14681
  __res[__b & 0x7] = __a;
14660
14682
  return __res;
14661
14683
  }
14662
14684
 
14663
14685
  static __inline__ vector int __ATTRS_o_ai vec_promote(int __a, int __b) {
14664
- vector int __res = (vector int)(0);
14686
+ const vector int __zero = (vector int)(0);
14687
+ vector int __res = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
14665
14688
  __res[__b & 0x3] = __a;
14666
14689
  return __res;
14667
14690
  }
14668
14691
 
14669
14692
  static __inline__ vector unsigned int __ATTRS_o_ai vec_promote(unsigned int __a,
14670
14693
  int __b) {
14671
- vector unsigned int __res = (vector unsigned int)(0);
14694
+ const vector unsigned int __zero = (vector unsigned int)(0);
14695
+ vector unsigned int __res =
14696
+ __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
14672
14697
  __res[__b & 0x3] = __a;
14673
14698
  return __res;
14674
14699
  }
14675
14700
 
14676
14701
  static __inline__ vector float __ATTRS_o_ai vec_promote(float __a, int __b) {
14677
- vector float __res = (vector float)(0);
14702
+ const vector float __zero = (vector float)(0);
14703
+ vector float __res = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
14678
14704
  __res[__b & 0x3] = __a;
14679
14705
  return __res;
14680
14706
  }
14681
14707
 
14682
14708
  #ifdef __VSX__
14683
14709
  static __inline__ vector double __ATTRS_o_ai vec_promote(double __a, int __b) {
14684
- vector double __res = (vector double)(0);
14710
+ const vector double __zero = (vector double)(0);
14711
+ vector double __res = __builtin_shufflevector(__zero, __zero, -1, -1);
14685
14712
  __res[__b & 0x1] = __a;
14686
14713
  return __res;
14687
14714
  }
14688
14715
 
14689
14716
  static __inline__ vector signed long long __ATTRS_o_ai
14690
14717
  vec_promote(signed long long __a, int __b) {
14691
- vector signed long long __res = (vector signed long long)(0);
14718
+ const vector signed long long __zero = (vector signed long long)(0);
14719
+ vector signed long long __res =
14720
+ __builtin_shufflevector(__zero, __zero, -1, -1);
14692
14721
  __res[__b & 0x1] = __a;
14693
14722
  return __res;
14694
14723
  }
14695
14724
 
14696
14725
  static __inline__ vector unsigned long long __ATTRS_o_ai
14697
14726
  vec_promote(unsigned long long __a, int __b) {
14698
- vector unsigned long long __res = (vector unsigned long long)(0);
14727
+ const vector unsigned long long __zero = (vector unsigned long long)(0);
14728
+ vector unsigned long long __res =
14729
+ __builtin_shufflevector(__zero, __zero, -1, -1);
14699
14730
  __res[__b & 0x1] = __a;
14700
14731
  return __res;
14701
14732
  }
@@ -155,9 +155,9 @@ _mm_insert_si64(__m128i __x, __m128i __y)
155
155
  /// \param __a
156
156
  /// The 64-bit double-precision floating-point register value to be stored.
157
157
  static __inline__ void __DEFAULT_FN_ATTRS
158
- _mm_stream_sd(double *__p, __m128d __a)
158
+ _mm_stream_sd(void *__p, __m128d __a)
159
159
  {
160
- __builtin_ia32_movntsd(__p, (__v2df)__a);
160
+ __builtin_ia32_movntsd((double *)__p, (__v2df)__a);
161
161
  }
162
162
 
163
163
  /// Stores a 32-bit single-precision floating-point value in a 32-bit
@@ -173,9 +173,9 @@ _mm_stream_sd(double *__p, __m128d __a)
173
173
  /// \param __a
174
174
  /// The 32-bit single-precision floating-point register value to be stored.
175
175
  static __inline__ void __DEFAULT_FN_ATTRS
176
- _mm_stream_ss(float *__p, __m128 __a)
176
+ _mm_stream_ss(void *__p, __m128 __a)
177
177
  {
178
- __builtin_ia32_movntss(__p, (__v4sf)__a);
178
+ __builtin_ia32_movntss((float *)__p, (__v4sf)__a);
179
179
  }
180
180
 
181
181
  #undef __DEFAULT_FN_ATTRS