@cpp-linter/clang-tidy-darwin-x64 14.0.0 → 17.0.6

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 (227) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_intrinsics.h +198 -7
  4. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_math.h +1 -1
  5. package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_texture_intrinsics.h +2 -0
  6. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_cmath.h +1 -1
  7. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_libdevice_declares.h +37 -30
  8. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_math.h +66 -84
  9. package/lib/clang/{14.0.0 → 17}/include/__clang_hip_runtime_wrapper.h +14 -0
  10. package/lib/clang/17/include/__clang_hip_stdlib.h +43 -0
  11. package/lib/clang/{14.0.0 → 17}/include/__wmmintrin_pclmul.h +10 -10
  12. package/lib/clang/17/include/adxintrin.h +227 -0
  13. package/lib/clang/{14.0.0 → 17}/include/altivec.h +597 -346
  14. package/lib/clang/17/include/amxcomplexintrin.h +169 -0
  15. package/lib/clang/17/include/amxfp16intrin.h +58 -0
  16. package/lib/clang/{14.0.0 → 17}/include/amxintrin.h +32 -2
  17. package/lib/clang/{14.0.0 → 17}/include/arm_acle.h +86 -81
  18. package/lib/clang/{14.0.0 → 17}/include/arm_fp16.h +90 -90
  19. package/lib/clang/{14.0.0 → 17}/include/arm_neon.h +28567 -28574
  20. package/lib/clang/{14.0.0 → 17}/include/arm_neon_sve_bridge.h +0 -2
  21. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
  22. package/lib/clang/{14.0.0 → 17}/include/arm_sve.h +7916 -8009
  23. package/lib/clang/17/include/avx2intrin.h +5263 -0
  24. package/lib/clang/{14.0.0 → 17}/include/avx512bf16intrin.h +18 -15
  25. package/lib/clang/{14.0.0 → 17}/include/avx512bwintrin.h +12 -12
  26. package/lib/clang/{14.0.0 → 17}/include/avx512fintrin.h +95 -82
  27. package/lib/clang/{14.0.0 → 17}/include/avx512fp16intrin.h +18 -17
  28. package/lib/clang/{14.0.0 → 17}/include/avx512ifmavlintrin.h +13 -27
  29. package/lib/clang/{14.0.0 → 17}/include/avx512vlbf16intrin.h +31 -38
  30. package/lib/clang/{14.0.0 → 17}/include/avx512vlbwintrin.h +360 -8
  31. package/lib/clang/{14.0.0 → 17}/include/avx512vlfp16intrin.h +3 -0
  32. package/lib/clang/{14.0.0 → 17}/include/avx512vlintrin.h +81 -95
  33. package/lib/clang/{14.0.0 → 17}/include/avx512vlvnniintrin.h +16 -16
  34. package/lib/clang/17/include/avxifmaintrin.h +177 -0
  35. package/lib/clang/{14.0.0 → 17}/include/avxintrin.h +97 -39
  36. package/lib/clang/17/include/avxneconvertintrin.h +484 -0
  37. package/lib/clang/17/include/avxvnniint16intrin.h +473 -0
  38. package/lib/clang/17/include/avxvnniint8intrin.h +471 -0
  39. package/lib/clang/{14.0.0 → 17}/include/avxvnniintrin.h +16 -16
  40. package/lib/clang/17/include/bmi2intrin.h +255 -0
  41. package/lib/clang/{14.0.0 → 17}/include/bmiintrin.h +6 -2
  42. package/lib/clang/{14.0.0 → 17}/include/cetintrin.h +12 -6
  43. package/lib/clang/{14.0.0 → 17}/include/clflushoptintrin.h +9 -0
  44. package/lib/clang/{14.0.0 → 17}/include/clzerointrin.h +7 -5
  45. package/lib/clang/17/include/cmpccxaddintrin.h +70 -0
  46. package/lib/clang/{14.0.0 → 17}/include/cpuid.h +12 -1
  47. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
  48. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  49. package/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  50. package/lib/clang/17/include/cuda_wrappers/cmath +90 -0
  51. package/lib/clang/{14.0.0 → 17}/include/emmintrin.h +559 -769
  52. package/lib/clang/{14.0.0 → 17}/include/f16cintrin.h +3 -3
  53. package/lib/clang/{14.0.0 → 17}/include/float.h +17 -10
  54. package/lib/clang/17/include/fmaintrin.h +780 -0
  55. package/lib/clang/{14.0.0 → 17}/include/gfniintrin.h +7 -5
  56. package/lib/clang/17/include/hlsl/hlsl_basic_types.h +67 -0
  57. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +480 -0
  58. package/lib/clang/17/include/hlsl.h +15 -0
  59. package/lib/clang/{14.0.0 → 17}/include/hresetintrin.h +2 -2
  60. package/lib/clang/{14.0.0 → 17}/include/ia32intrin.h +11 -11
  61. package/lib/clang/{14.0.0 → 17}/include/immintrin.h +166 -26
  62. package/lib/clang/{14.0.0 → 17}/include/intrin.h +12 -21
  63. package/lib/clang/{14.0.0 → 17}/include/keylockerintrin.h +22 -22
  64. package/lib/clang/17/include/larchintrin.h +234 -0
  65. package/lib/clang/{14.0.0 → 17}/include/limits.h +8 -3
  66. package/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
  67. package/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
  68. package/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
  69. package/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
  70. package/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
  71. package/lib/clang/{14.0.0 → 17}/include/mm_malloc.h +3 -3
  72. package/lib/clang/17/include/mwaitxintrin.h +62 -0
  73. package/lib/clang/{14.0.0 → 17}/include/opencl-c-base.h +32 -0
  74. package/lib/clang/{14.0.0 → 17}/include/opencl-c.h +6904 -7100
  75. package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  76. package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/new +1 -1
  77. package/lib/clang/{14.0.0 → 17}/include/pmmintrin.h +13 -7
  78. package/lib/clang/17/include/ppc_wrappers/bmi2intrin.h +134 -0
  79. package/lib/clang/17/include/ppc_wrappers/bmiintrin.h +165 -0
  80. package/lib/clang/17/include/ppc_wrappers/emmintrin.h +2269 -0
  81. package/lib/clang/17/include/ppc_wrappers/immintrin.h +27 -0
  82. package/lib/clang/{14.0.0 → 17}/include/ppc_wrappers/mm_malloc.h +12 -17
  83. package/lib/clang/{14.0.0 → 17}/include/ppc_wrappers/mmintrin.h +389 -387
  84. package/lib/clang/17/include/ppc_wrappers/pmmintrin.h +145 -0
  85. package/lib/clang/17/include/ppc_wrappers/smmintrin.h +663 -0
  86. package/lib/clang/17/include/ppc_wrappers/tmmintrin.h +453 -0
  87. package/lib/clang/{14.0.0/include/stdnoreturn.h → 17/include/ppc_wrappers/x86gprintrin.h} +7 -6
  88. package/lib/clang/17/include/ppc_wrappers/x86intrin.h +28 -0
  89. package/lib/clang/17/include/ppc_wrappers/xmmintrin.h +1827 -0
  90. package/lib/clang/17/include/prfchiintrin.h +61 -0
  91. package/lib/clang/17/include/raointintrin.h +203 -0
  92. package/lib/clang/17/include/rdpruintrin.h +57 -0
  93. package/lib/clang/17/include/rdseedintrin.h +105 -0
  94. package/lib/clang/17/include/riscv_ntlh.h +28 -0
  95. package/lib/clang/17/include/riscv_vector.h +400 -0
  96. package/lib/clang/{14.0.0 → 17}/include/rtmintrin.h +1 -1
  97. package/lib/clang/17/include/sha512intrin.h +200 -0
  98. package/lib/clang/17/include/shaintrin.h +189 -0
  99. package/lib/clang/17/include/sifive_vector.h +16 -0
  100. package/lib/clang/17/include/sm3intrin.h +238 -0
  101. package/lib/clang/17/include/sm4intrin.h +269 -0
  102. package/lib/clang/{14.0.0 → 17}/include/smmintrin.h +236 -259
  103. package/lib/clang/{14.0.0 → 17}/include/stdalign.h +5 -0
  104. package/lib/clang/{14.0.0 → 17}/include/stdarg.h +23 -7
  105. package/lib/clang/{14.0.0 → 17}/include/stdatomic.h +15 -8
  106. package/lib/clang/{14.0.0 → 17}/include/stdbool.h +10 -7
  107. package/lib/clang/{14.0.0 → 17}/include/stddef.h +14 -2
  108. package/lib/clang/{14.0.0 → 17}/include/stdint.h +158 -40
  109. package/lib/clang/17/include/stdnoreturn.h +29 -0
  110. package/lib/clang/{14.0.0 → 17}/include/uintrintrin.h +8 -8
  111. package/lib/clang/{14.0.0 → 17}/include/unwind.h +10 -6
  112. package/lib/clang/17/include/velintrin.h +71 -0
  113. package/lib/clang/17/include/velintrin_approx.h +120 -0
  114. package/lib/clang/17/include/velintrin_gen.h +1257 -0
  115. package/lib/clang/{14.0.0 → 17}/include/wasm_simd128.h +134 -14
  116. package/lib/clang/17/include/x86gprintrin.h +65 -0
  117. package/lib/clang/{14.0.0 → 17}/include/x86intrin.h +4 -0
  118. package/lib/clang/{14.0.0 → 17}/include/xmmintrin.h +10 -5
  119. package/lib/clang/17/include/xsavecintrin.h +84 -0
  120. package/package.json +6 -6
  121. package/lib/clang/14.0.0/include/adxintrin.h +0 -72
  122. package/lib/clang/14.0.0/include/avx2intrin.h +0 -1148
  123. package/lib/clang/14.0.0/include/bmi2intrin.h +0 -81
  124. package/lib/clang/14.0.0/include/fmaintrin.h +0 -216
  125. package/lib/clang/14.0.0/include/mwaitxintrin.h +0 -33
  126. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  127. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  128. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  129. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  130. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  131. package/lib/clang/14.0.0/include/rdseedintrin.h +0 -42
  132. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  133. package/lib/clang/14.0.0/include/shaintrin.h +0 -61
  134. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  135. package/lib/clang/14.0.0/include/xsavecintrin.h +0 -34
  136. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_builtin_vars.h +0 -0
  137. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_cmath.h +0 -0
  138. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_complex_builtins.h +0 -0
  139. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_device_functions.h +0 -0
  140. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_libdevice_declares.h +0 -0
  141. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_math_forward_declares.h +0 -0
  142. /package/lib/clang/{14.0.0 → 17}/include/__clang_cuda_runtime_wrapper.h +0 -0
  143. /package/lib/clang/{14.0.0 → 17}/include/__stddef_max_align_t.h +0 -0
  144. /package/lib/clang/{14.0.0 → 17}/include/__wmmintrin_aes.h +0 -0
  145. /package/lib/clang/{14.0.0 → 17}/include/ammintrin.h +0 -0
  146. /package/lib/clang/{14.0.0 → 17}/include/arm64intr.h +0 -0
  147. /package/lib/clang/{14.0.0 → 17}/include/arm_bf16.h +0 -0
  148. /package/lib/clang/{14.0.0 → 17}/include/arm_cde.h +0 -0
  149. /package/lib/clang/{14.0.0 → 17}/include/arm_cmse.h +0 -0
  150. /package/lib/clang/{14.0.0 → 17}/include/arm_mve.h +0 -0
  151. /package/lib/clang/{14.0.0 → 17}/include/armintr.h +0 -0
  152. /package/lib/clang/{14.0.0 → 17}/include/avx512bitalgintrin.h +0 -0
  153. /package/lib/clang/{14.0.0 → 17}/include/avx512cdintrin.h +0 -0
  154. /package/lib/clang/{14.0.0 → 17}/include/avx512dqintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 17}/include/avx512erintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 17}/include/avx512ifmaintrin.h +0 -0
  157. /package/lib/clang/{14.0.0 → 17}/include/avx512pfintrin.h +0 -0
  158. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmi2intrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmiintrin.h +0 -0
  160. /package/lib/clang/{14.0.0 → 17}/include/avx512vbmivlintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 17}/include/avx512vlbitalgintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 17}/include/avx512vlcdintrin.h +0 -0
  163. /package/lib/clang/{14.0.0 → 17}/include/avx512vldqintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 17}/include/avx512vlvbmi2intrin.h +0 -0
  165. /package/lib/clang/{14.0.0 → 17}/include/avx512vlvp2intersectintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 17}/include/avx512vnniintrin.h +0 -0
  167. /package/lib/clang/{14.0.0 → 17}/include/avx512vp2intersectintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 17}/include/avx512vpopcntdqintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 17}/include/avx512vpopcntdqvlintrin.h +0 -0
  170. /package/lib/clang/{14.0.0 → 17}/include/builtins.h +0 -0
  171. /package/lib/clang/{14.0.0 → 17}/include/cet.h +0 -0
  172. /package/lib/clang/{14.0.0 → 17}/include/cldemoteintrin.h +0 -0
  173. /package/lib/clang/{14.0.0 → 17}/include/clwbintrin.h +0 -0
  174. /package/lib/clang/{14.0.0 → 17}/include/crc32intrin.h +0 -0
  175. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/algorithm +0 -0
  176. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/complex +0 -0
  177. /package/lib/clang/{14.0.0 → 17}/include/cuda_wrappers/new +0 -0
  178. /package/lib/clang/{14.0.0 → 17}/include/enqcmdintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 17}/include/fma4intrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 17}/include/fxsrintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 17}/include/hexagon_circ_brev_intrinsics.h +0 -0
  182. /package/lib/clang/{14.0.0 → 17}/include/hexagon_protos.h +0 -0
  183. /package/lib/clang/{14.0.0 → 17}/include/hexagon_types.h +0 -0
  184. /package/lib/clang/{14.0.0 → 17}/include/htmintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 17}/include/htmxlintrin.h +0 -0
  186. /package/lib/clang/{14.0.0 → 17}/include/hvx_hexagon_protos.h +0 -0
  187. /package/lib/clang/{14.0.0 → 17}/include/inttypes.h +0 -0
  188. /package/lib/clang/{14.0.0 → 17}/include/invpcidintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 17}/include/iso646.h +0 -0
  190. /package/lib/clang/{14.0.0 → 17}/include/lwpintrin.h +0 -0
  191. /package/lib/clang/{14.0.0 → 17}/include/lzcntintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 17}/include/mm3dnow.h +0 -0
  193. /package/lib/clang/{14.0.0 → 17}/include/mmintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 17}/include/module.modulemap +0 -0
  195. /package/lib/clang/{14.0.0 → 17}/include/movdirintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 17}/include/msa.h +0 -0
  197. /package/lib/clang/{14.0.0 → 17}/include/nmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/cmath +0 -0
  199. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex +0 -0
  200. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex.h +0 -0
  201. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/complex_cmath.h +0 -0
  202. /package/lib/clang/{14.0.0 → 17}/include/openmp_wrappers/math.h +0 -0
  203. /package/lib/clang/{14.0.0 → 17}/include/pconfigintrin.h +0 -0
  204. /package/lib/clang/{14.0.0 → 17}/include/pkuintrin.h +0 -0
  205. /package/lib/clang/{14.0.0 → 17}/include/popcntintrin.h +0 -0
  206. /package/lib/clang/{14.0.0 → 17}/include/prfchwintrin.h +0 -0
  207. /package/lib/clang/{14.0.0 → 17}/include/ptwriteintrin.h +0 -0
  208. /package/lib/clang/{14.0.0 → 17}/include/s390intrin.h +0 -0
  209. /package/lib/clang/{14.0.0 → 17}/include/serializeintrin.h +0 -0
  210. /package/lib/clang/{14.0.0 → 17}/include/sgxintrin.h +0 -0
  211. /package/lib/clang/{14.0.0 → 17}/include/tbmintrin.h +0 -0
  212. /package/lib/clang/{14.0.0 → 17}/include/tgmath.h +0 -0
  213. /package/lib/clang/{14.0.0 → 17}/include/tmmintrin.h +0 -0
  214. /package/lib/clang/{14.0.0 → 17}/include/tsxldtrkintrin.h +0 -0
  215. /package/lib/clang/{14.0.0 → 17}/include/vadefs.h +0 -0
  216. /package/lib/clang/{14.0.0 → 17}/include/vaesintrin.h +0 -0
  217. /package/lib/clang/{14.0.0 → 17}/include/varargs.h +0 -0
  218. /package/lib/clang/{14.0.0 → 17}/include/vecintrin.h +0 -0
  219. /package/lib/clang/{14.0.0 → 17}/include/vpclmulqdqintrin.h +0 -0
  220. /package/lib/clang/{14.0.0 → 17}/include/waitpkgintrin.h +0 -0
  221. /package/lib/clang/{14.0.0 → 17}/include/wbnoinvdintrin.h +0 -0
  222. /package/lib/clang/{14.0.0 → 17}/include/wmmintrin.h +0 -0
  223. /package/lib/clang/{14.0.0 → 17}/include/xopintrin.h +0 -0
  224. /package/lib/clang/{14.0.0 → 17}/include/xsaveintrin.h +0 -0
  225. /package/lib/clang/{14.0.0 → 17}/include/xsaveoptintrin.h +0 -0
  226. /package/lib/clang/{14.0.0 → 17}/include/xsavesintrin.h +0 -0
  227. /package/lib/clang/{14.0.0 → 17}/include/xtestintrin.h +0 -0
@@ -39,6 +39,16 @@ typedef float __m256_u __attribute__ ((__vector_size__ (32), __aligned__(1)));
39
39
  typedef double __m256d_u __attribute__((__vector_size__(32), __aligned__(1)));
40
40
  typedef long long __m256i_u __attribute__((__vector_size__(32), __aligned__(1)));
41
41
 
42
+ #ifdef __SSE2__
43
+ /* Both _Float16 and __bf16 require SSE2 being enabled. */
44
+ typedef _Float16 __v16hf __attribute__((__vector_size__(32), __aligned__(32)));
45
+ typedef _Float16 __m256h __attribute__((__vector_size__(32), __aligned__(32)));
46
+ typedef _Float16 __m256h_u __attribute__((__vector_size__(32), __aligned__(1)));
47
+
48
+ typedef __bf16 __v16bf __attribute__((__vector_size__(32), __aligned__(32)));
49
+ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
50
+ #endif
51
+
42
52
  /* Define the default attributes for the functions in this file. */
43
53
  #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx"), __min_vector_width__(256)))
44
54
  #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx"), __min_vector_width__(128)))
@@ -1504,7 +1514,10 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1504
1514
  /// 00: Bits [31:0] and [159:128] are copied from the selected operand. \n
1505
1515
  /// 01: Bits [63:32] and [191:160] are copied from the selected operand. \n
1506
1516
  /// 10: Bits [95:64] and [223:192] are copied from the selected operand. \n
1507
- /// 11: Bits [127:96] and [255:224] are copied from the selected operand.
1517
+ /// 11: Bits [127:96] and [255:224] are copied from the selected operand. \n
1518
+ /// Note: To generate a mask, you can use the \c _MM_SHUFFLE macro.
1519
+ /// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
1520
+ /// <c>[b6, b4, b2, b0]</c>.
1508
1521
  /// \returns A 256-bit vector of [8 x float] containing the shuffled values.
1509
1522
  #define _mm256_shuffle_ps(a, b, mask) \
1510
1523
  ((__m256)__builtin_ia32_shufps256((__v8sf)(__m256)(a), \
@@ -1953,12 +1966,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1953
1966
  ///
1954
1967
  /// \headerfile <x86intrin.h>
1955
1968
  ///
1969
+ /// \code
1970
+ /// int _mm256_extract_epi32(__m256i X, const int N);
1971
+ /// \endcode
1972
+ ///
1956
1973
  /// This intrinsic corresponds to the <c> VEXTRACTF128+COMPOSITE </c>
1957
1974
  /// instruction.
1958
1975
  ///
1959
- /// \param __a
1976
+ /// \param X
1960
1977
  /// A 256-bit vector of [8 x i32].
1961
- /// \param __imm
1978
+ /// \param N
1962
1979
  /// An immediate integer operand with bits [2:0] determining which vector
1963
1980
  /// element is extracted and returned.
1964
1981
  /// \returns A 32-bit integer containing the extracted 32 bits of extended
@@ -1971,12 +1988,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1971
1988
  ///
1972
1989
  /// \headerfile <x86intrin.h>
1973
1990
  ///
1991
+ /// \code
1992
+ /// int _mm256_extract_epi16(__m256i X, const int N);
1993
+ /// \endcode
1994
+ ///
1974
1995
  /// This intrinsic corresponds to the <c> VEXTRACTF128+COMPOSITE </c>
1975
1996
  /// instruction.
1976
1997
  ///
1977
- /// \param __a
1998
+ /// \param X
1978
1999
  /// A 256-bit integer vector of [16 x i16].
1979
- /// \param __imm
2000
+ /// \param N
1980
2001
  /// An immediate integer operand with bits [3:0] determining which vector
1981
2002
  /// element is extracted and returned.
1982
2003
  /// \returns A 32-bit integer containing the extracted 16 bits of zero extended
@@ -1990,12 +2011,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1990
2011
  ///
1991
2012
  /// \headerfile <x86intrin.h>
1992
2013
  ///
2014
+ /// \code
2015
+ /// int _mm256_extract_epi8(__m256i X, const int N);
2016
+ /// \endcode
2017
+ ///
1993
2018
  /// This intrinsic corresponds to the <c> VEXTRACTF128+COMPOSITE </c>
1994
2019
  /// instruction.
1995
2020
  ///
1996
- /// \param __a
2021
+ /// \param X
1997
2022
  /// A 256-bit integer vector of [32 x i8].
1998
- /// \param __imm
2023
+ /// \param N
1999
2024
  /// An immediate integer operand with bits [4:0] determining which vector
2000
2025
  /// element is extracted and returned.
2001
2026
  /// \returns A 32-bit integer containing the extracted 8 bits of zero extended
@@ -2010,12 +2035,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2010
2035
  ///
2011
2036
  /// \headerfile <x86intrin.h>
2012
2037
  ///
2038
+ /// \code
2039
+ /// long long _mm256_extract_epi64(__m256i X, const int N);
2040
+ /// \endcode
2041
+ ///
2013
2042
  /// This intrinsic corresponds to the <c> VEXTRACTF128+COMPOSITE </c>
2014
2043
  /// instruction.
2015
2044
  ///
2016
- /// \param __a
2045
+ /// \param X
2017
2046
  /// A 256-bit integer vector of [4 x i64].
2018
- /// \param __imm
2047
+ /// \param N
2019
2048
  /// An immediate integer operand with bits [1:0] determining which vector
2020
2049
  /// element is extracted and returned.
2021
2050
  /// \returns A 64-bit integer containing the extracted 64 bits of extended
@@ -2030,18 +2059,22 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2030
2059
  ///
2031
2060
  /// \headerfile <x86intrin.h>
2032
2061
  ///
2062
+ /// \code
2063
+ /// __m256i _mm256_insert_epi32(__m256i X, int I, const int N);
2064
+ /// \endcode
2065
+ ///
2033
2066
  /// This intrinsic corresponds to the <c> VINSERTF128+COMPOSITE </c>
2034
2067
  /// instruction.
2035
2068
  ///
2036
- /// \param __a
2069
+ /// \param X
2037
2070
  /// A vector of [8 x i32] to be used by the insert operation.
2038
- /// \param __b
2071
+ /// \param I
2039
2072
  /// An integer value. The replacement value for the insert operation.
2040
- /// \param __imm
2073
+ /// \param N
2041
2074
  /// An immediate integer specifying the index of the vector element to be
2042
2075
  /// replaced.
2043
- /// \returns A copy of vector \a __a, after replacing its element indexed by
2044
- /// \a __imm with \a __b.
2076
+ /// \returns A copy of vector \a X, after replacing its element indexed by
2077
+ /// \a N with \a I.
2045
2078
  #define _mm256_insert_epi32(X, I, N) \
2046
2079
  ((__m256i)__builtin_ia32_vec_set_v8si((__v8si)(__m256i)(X), \
2047
2080
  (int)(I), (int)(N)))
@@ -2053,18 +2086,22 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2053
2086
  ///
2054
2087
  /// \headerfile <x86intrin.h>
2055
2088
  ///
2089
+ /// \code
2090
+ /// __m256i _mm256_insert_epi16(__m256i X, int I, const int N);
2091
+ /// \endcode
2092
+ ///
2056
2093
  /// This intrinsic corresponds to the <c> VINSERTF128+COMPOSITE </c>
2057
2094
  /// instruction.
2058
2095
  ///
2059
- /// \param __a
2096
+ /// \param X
2060
2097
  /// A vector of [16 x i16] to be used by the insert operation.
2061
- /// \param __b
2098
+ /// \param I
2062
2099
  /// An i16 integer value. The replacement value for the insert operation.
2063
- /// \param __imm
2100
+ /// \param N
2064
2101
  /// An immediate integer specifying the index of the vector element to be
2065
2102
  /// replaced.
2066
- /// \returns A copy of vector \a __a, after replacing its element indexed by
2067
- /// \a __imm with \a __b.
2103
+ /// \returns A copy of vector \a X, after replacing its element indexed by
2104
+ /// \a N with \a I.
2068
2105
  #define _mm256_insert_epi16(X, I, N) \
2069
2106
  ((__m256i)__builtin_ia32_vec_set_v16hi((__v16hi)(__m256i)(X), \
2070
2107
  (int)(I), (int)(N)))
@@ -2075,18 +2112,22 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2075
2112
  ///
2076
2113
  /// \headerfile <x86intrin.h>
2077
2114
  ///
2115
+ /// \code
2116
+ /// __m256i _mm256_insert_epi8(__m256i X, int I, const int N);
2117
+ /// \endcode
2118
+ ///
2078
2119
  /// This intrinsic corresponds to the <c> VINSERTF128+COMPOSITE </c>
2079
2120
  /// instruction.
2080
2121
  ///
2081
- /// \param __a
2122
+ /// \param X
2082
2123
  /// A vector of [32 x i8] to be used by the insert operation.
2083
- /// \param __b
2124
+ /// \param I
2084
2125
  /// An i8 integer value. The replacement value for the insert operation.
2085
- /// \param __imm
2126
+ /// \param N
2086
2127
  /// An immediate integer specifying the index of the vector element to be
2087
2128
  /// replaced.
2088
- /// \returns A copy of vector \a __a, after replacing its element indexed by
2089
- /// \a __imm with \a __b.
2129
+ /// \returns A copy of vector \a X, after replacing its element indexed by
2130
+ /// \a N with \a I.
2090
2131
  #define _mm256_insert_epi8(X, I, N) \
2091
2132
  ((__m256i)__builtin_ia32_vec_set_v32qi((__v32qi)(__m256i)(X), \
2092
2133
  (int)(I), (int)(N)))
@@ -2098,18 +2139,22 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
2098
2139
  ///
2099
2140
  /// \headerfile <x86intrin.h>
2100
2141
  ///
2142
+ /// \code
2143
+ /// __m256i _mm256_insert_epi64(__m256i X, int I, const int N);
2144
+ /// \endcode
2145
+ ///
2101
2146
  /// This intrinsic corresponds to the <c> VINSERTF128+COMPOSITE </c>
2102
2147
  /// instruction.
2103
2148
  ///
2104
- /// \param __a
2149
+ /// \param X
2105
2150
  /// A vector of [4 x i64] to be used by the insert operation.
2106
- /// \param __b
2151
+ /// \param I
2107
2152
  /// A 64-bit integer value. The replacement value for the insert operation.
2108
- /// \param __imm
2153
+ /// \param N
2109
2154
  /// An immediate integer specifying the index of the vector element to be
2110
2155
  /// replaced.
2111
- /// \returns A copy of vector \a __a, after replacing its element indexed by
2112
- /// \a __imm with \a __b.
2156
+ /// \returns A copy of vector \a X, after replacing its element indexed by
2157
+ /// \a N with \a I.
2113
2158
  #define _mm256_insert_epi64(X, I, N) \
2114
2159
  ((__m256i)__builtin_ia32_vec_set_v4di((__v4di)(__m256i)(X), \
2115
2160
  (long long)(I), (int)(N)))
@@ -2972,8 +3017,11 @@ _mm256_zeroupper(void)
2972
3017
  static __inline __m128 __DEFAULT_FN_ATTRS128
2973
3018
  _mm_broadcast_ss(float const *__a)
2974
3019
  {
2975
- float __f = *__a;
2976
- return __extension__ (__m128)(__v4sf){ __f, __f, __f, __f };
3020
+ struct __mm_broadcast_ss_struct {
3021
+ float __f;
3022
+ } __attribute__((__packed__, __may_alias__));
3023
+ float __f = ((const struct __mm_broadcast_ss_struct*)__a)->__f;
3024
+ return __extension__ (__m128){ __f, __f, __f, __f };
2977
3025
  }
2978
3026
 
2979
3027
  /// Loads a scalar double-precision floating point value from the
@@ -2991,7 +3039,10 @@ _mm_broadcast_ss(float const *__a)
2991
3039
  static __inline __m256d __DEFAULT_FN_ATTRS
2992
3040
  _mm256_broadcast_sd(double const *__a)
2993
3041
  {
2994
- double __d = *__a;
3042
+ struct __mm256_broadcast_sd_struct {
3043
+ double __d;
3044
+ } __attribute__((__packed__, __may_alias__));
3045
+ double __d = ((const struct __mm256_broadcast_sd_struct*)__a)->__d;
2995
3046
  return __extension__ (__m256d)(__v4df){ __d, __d, __d, __d };
2996
3047
  }
2997
3048
 
@@ -3010,7 +3061,10 @@ _mm256_broadcast_sd(double const *__a)
3010
3061
  static __inline __m256 __DEFAULT_FN_ATTRS
3011
3062
  _mm256_broadcast_ss(float const *__a)
3012
3063
  {
3013
- float __f = *__a;
3064
+ struct __mm256_broadcast_ss_struct {
3065
+ float __f;
3066
+ } __attribute__((__packed__, __may_alias__));
3067
+ float __f = ((const struct __mm256_broadcast_ss_struct*)__a)->__f;
3014
3068
  return __extension__ (__m256)(__v8sf){ __f, __f, __f, __f, __f, __f, __f, __f };
3015
3069
  }
3016
3070
 
@@ -3177,7 +3231,7 @@ _mm256_loadu_si256(__m256i_u const *__p)
3177
3231
  /// A pointer to a 256-bit integer vector containing integer values.
3178
3232
  /// \returns A 256-bit integer vector containing the moved values.
3179
3233
  static __inline __m256i __DEFAULT_FN_ATTRS
3180
- _mm256_lddqu_si256(__m256i const *__p)
3234
+ _mm256_lddqu_si256(__m256i_u const *__p)
3181
3235
  {
3182
3236
  return (__m256i)__builtin_ia32_lddqu256((char const *)__p);
3183
3237
  }
@@ -4253,7 +4307,7 @@ _mm256_set1_epi64x(long long __q)
4253
4307
  static __inline __m256d __DEFAULT_FN_ATTRS
4254
4308
  _mm256_setzero_pd(void)
4255
4309
  {
4256
- return __extension__ (__m256d){ 0, 0, 0, 0 };
4310
+ return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
4257
4311
  }
4258
4312
 
4259
4313
  /// Constructs a 256-bit floating-point vector of [8 x float] with all
@@ -4267,7 +4321,7 @@ _mm256_setzero_pd(void)
4267
4321
  static __inline __m256 __DEFAULT_FN_ATTRS
4268
4322
  _mm256_setzero_ps(void)
4269
4323
  {
4270
- return __extension__ (__m256){ 0, 0, 0, 0, 0, 0, 0, 0 };
4324
+ return __extension__ (__m256){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
4271
4325
  }
4272
4326
 
4273
4327
  /// Constructs a 256-bit integer vector initialized to zero.
@@ -4454,7 +4508,8 @@ _mm256_castsi256_si128(__m256i __a)
4454
4508
  static __inline __m256d __DEFAULT_FN_ATTRS
4455
4509
  _mm256_castpd128_pd256(__m128d __a)
4456
4510
  {
4457
- return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 1, -1, -1);
4511
+ return __builtin_shufflevector(
4512
+ (__v2df)__a, (__v2df)__builtin_nondeterministic_value(__a), 0, 1, 2, 3);
4458
4513
  }
4459
4514
 
4460
4515
  /// Constructs a 256-bit floating-point vector of [8 x float] from a
@@ -4475,7 +4530,9 @@ _mm256_castpd128_pd256(__m128d __a)
4475
4530
  static __inline __m256 __DEFAULT_FN_ATTRS
4476
4531
  _mm256_castps128_ps256(__m128 __a)
4477
4532
  {
4478
- return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 1, 2, 3, -1, -1, -1, -1);
4533
+ return __builtin_shufflevector((__v4sf)__a,
4534
+ (__v4sf)__builtin_nondeterministic_value(__a),
4535
+ 0, 1, 2, 3, 4, 5, 6, 7);
4479
4536
  }
4480
4537
 
4481
4538
  /// Constructs a 256-bit integer vector from a 128-bit integer vector.
@@ -4494,7 +4551,8 @@ _mm256_castps128_ps256(__m128 __a)
4494
4551
  static __inline __m256i __DEFAULT_FN_ATTRS
4495
4552
  _mm256_castsi128_si256(__m128i __a)
4496
4553
  {
4497
- return __builtin_shufflevector((__v2di)__a, (__v2di)__a, 0, 1, -1, -1);
4554
+ return __builtin_shufflevector(
4555
+ (__v2di)__a, (__v2di)__builtin_nondeterministic_value(__a), 0, 1, 2, 3);
4498
4556
  }
4499
4557
 
4500
4558
  /// Constructs a 256-bit floating-point vector of [4 x double] from a