@cpp-linter/clang-tidy-win32-x64 19.1.0 → 21.1.0

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 (285) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{19 → 21}/include/__clang_cuda_device_functions.h +14 -0
  4. package/lib/clang/{19 → 21}/include/__clang_cuda_intrinsics.h +295 -8
  5. package/lib/clang/{19 → 21}/include/__clang_cuda_math.h +5 -0
  6. package/lib/clang/{19 → 21}/include/__clang_cuda_runtime_wrapper.h +1 -0
  7. package/lib/clang/{19 → 21}/include/__clang_cuda_texture_intrinsics.h +437 -2
  8. package/lib/clang/{19 → 21}/include/__clang_hip_cmath.h +15 -9
  9. package/lib/clang/{19 → 21}/include/__clang_hip_libdevice_declares.h +12 -20
  10. package/lib/clang/{19 → 21}/include/__clang_hip_math.h +110 -29
  11. package/lib/clang/{19 → 21}/include/__clang_hip_runtime_wrapper.h +3 -0
  12. package/lib/clang/21/include/__clang_spirv_builtins.h +217 -0
  13. package/lib/clang/{19 → 21}/include/__stdarg_va_arg.h +2 -2
  14. package/lib/clang/{19 → 21}/include/adcintrin.h +5 -0
  15. package/lib/clang/{19 → 21}/include/adxintrin.h +5 -0
  16. package/lib/clang/{19 → 21}/include/altivec.h +90 -87
  17. package/lib/clang/21/include/amdgpuintrin.h +191 -0
  18. package/lib/clang/21/include/amxavx512intrin.h +382 -0
  19. package/lib/clang/21/include/amxbf16transposeintrin.h +94 -0
  20. package/lib/clang/{19 → 21}/include/amxcomplexintrin.h +4 -6
  21. package/lib/clang/21/include/amxcomplextransposeintrin.h +303 -0
  22. package/lib/clang/{19 → 21}/include/amxfp16intrin.h +35 -0
  23. package/lib/clang/21/include/amxfp16transposeintrin.h +94 -0
  24. package/lib/clang/21/include/amxfp8intrin.h +230 -0
  25. package/lib/clang/{19 → 21}/include/amxintrin.h +5 -35
  26. package/lib/clang/21/include/amxmovrsintrin.h +48 -0
  27. package/lib/clang/21/include/amxmovrstransposeintrin.h +200 -0
  28. package/lib/clang/21/include/amxtf32intrin.h +108 -0
  29. package/lib/clang/21/include/amxtf32transposeintrin.h +105 -0
  30. package/lib/clang/21/include/amxtransposeintrin.h +248 -0
  31. package/lib/clang/{19/include/hlsl.h → 21/include/andes_vector.h} +7 -6
  32. package/lib/clang/{19 → 21}/include/arm_acle.h +29 -62
  33. package/lib/clang/{19 → 21}/include/arm_fp16.h +89 -89
  34. package/lib/clang/{19 → 21}/include/arm_neon.h +24549 -20140
  35. package/lib/clang/{19 → 21}/include/arm_sme.h +1016 -94
  36. package/lib/clang/{19 → 21}/include/arm_sve.h +4633 -3272
  37. package/lib/clang/{19 → 21}/include/arm_vector_types.h +87 -0
  38. package/lib/clang/21/include/avx10_2_512bf16intrin.h +561 -0
  39. package/lib/clang/21/include/avx10_2_512convertintrin.h +322 -0
  40. package/lib/clang/21/include/avx10_2_512minmaxintrin.h +127 -0
  41. package/lib/clang/21/include/avx10_2_512niintrin.h +314 -0
  42. package/lib/clang/21/include/avx10_2_512satcvtdsintrin.h +307 -0
  43. package/lib/clang/21/include/avx10_2_512satcvtintrin.h +301 -0
  44. package/lib/clang/21/include/avx10_2bf16intrin.h +1085 -0
  45. package/lib/clang/21/include/avx10_2convertintrin.h +3257 -0
  46. package/lib/clang/21/include/avx10_2copyintrin.h +66 -0
  47. package/lib/clang/21/include/avx10_2minmaxintrin.h +232 -0
  48. package/lib/clang/21/include/avx10_2niintrin.h +409 -0
  49. package/lib/clang/21/include/avx10_2satcvtdsintrin.h +376 -0
  50. package/lib/clang/21/include/avx10_2satcvtintrin.h +312 -0
  51. package/lib/clang/{19 → 21}/include/avx2intrin.h +9 -0
  52. package/lib/clang/{19 → 21}/include/avx512bitalgintrin.h +2 -2
  53. package/lib/clang/{19 → 21}/include/avx512fintrin.h +22 -14
  54. package/lib/clang/{19 → 21}/include/avx512fp16intrin.h +2 -1
  55. package/lib/clang/{19 → 21}/include/avx512vlbitalgintrin.h +4 -4
  56. package/lib/clang/{19 → 21}/include/avx512vpopcntdqintrin.h +12 -4
  57. package/lib/clang/{19 → 21}/include/avx512vpopcntdqvlintrin.h +16 -8
  58. package/lib/clang/{19 → 21}/include/avxintrin.h +30 -16
  59. package/lib/clang/{19 → 21}/include/avxvnniint16intrin.h +36 -77
  60. package/lib/clang/{19 → 21}/include/avxvnniint8intrin.h +36 -77
  61. package/lib/clang/{19 → 21}/include/bmi2intrin.h +15 -17
  62. package/lib/clang/{19 → 21}/include/bmiintrin.h +31 -41
  63. package/lib/clang/{19 → 21}/include/cmpccxaddintrin.h +1 -1
  64. package/lib/clang/{19 → 21}/include/cpuid.h +36 -33
  65. package/lib/clang/21/include/cuda_wrappers/bits/c++config.h +61 -0
  66. package/lib/clang/21/include/cuda_wrappers/cmath +44 -0
  67. package/lib/clang/{19 → 21}/include/cuda_wrappers/new +2 -0
  68. package/lib/clang/{19 → 21}/include/emmintrin.h +141 -107
  69. package/lib/clang/{19 → 21}/include/float.h +2 -11
  70. package/lib/clang/{19 → 21}/include/gfniintrin.h +32 -10
  71. package/lib/clang/21/include/gpuintrin.h +328 -0
  72. package/lib/clang/{19 → 21}/include/hexagon_types.h +8 -4
  73. package/lib/clang/{19/include/hlsl/hlsl_intrinsics.h → 21/include/hlsl/hlsl_alias_intrinsics.h} +1214 -100
  74. package/lib/clang/{19 → 21}/include/hlsl/hlsl_basic_types.h +47 -1
  75. package/lib/clang/21/include/hlsl/hlsl_compat_overloads.h +427 -0
  76. package/lib/clang/21/include/hlsl/hlsl_detail.h +54 -0
  77. package/lib/clang/21/include/hlsl/hlsl_intrinsic_helpers.h +144 -0
  78. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +526 -0
  79. package/lib/clang/21/include/hlsl/hlsl_spirv.h +28 -0
  80. package/lib/clang/21/include/hlsl.h +38 -0
  81. package/lib/clang/{19 → 21}/include/hvx_hexagon_protos.h +427 -0
  82. package/lib/clang/{19 → 21}/include/immintrin.h +45 -185
  83. package/lib/clang/{19 → 21}/include/intrin.h +41 -14
  84. package/lib/clang/{19 → 21}/include/intrin0.h +10 -1
  85. package/lib/clang/{19 → 21}/include/keylockerintrin.h +0 -9
  86. package/lib/clang/{19 → 21}/include/larchintrin.h +22 -8
  87. package/lib/clang/{19 → 21}/include/lasxintrin.h +27 -25
  88. package/lib/clang/{19 → 21}/include/limits.h +7 -4
  89. package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/ctype.h +38 -0
  90. package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdlib.h +9 -1
  91. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  92. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  93. package/lib/clang/21/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  94. package/lib/clang/{19 → 21}/include/lsxintrin.h +27 -25
  95. package/lib/clang/{19 → 21}/include/lzcntintrin.h +13 -8
  96. package/lib/clang/{19 → 21}/include/mmintrin.h +209 -155
  97. package/lib/clang/{19 → 21}/include/module.modulemap +15 -4
  98. package/lib/clang/21/include/movrs_avx10_2_512intrin.h +98 -0
  99. package/lib/clang/21/include/movrs_avx10_2intrin.h +174 -0
  100. package/lib/clang/21/include/movrsintrin.h +59 -0
  101. package/lib/clang/21/include/nvptxintrin.h +219 -0
  102. package/lib/clang/{19 → 21}/include/opencl-c-base.h +23 -1
  103. package/lib/clang/{19 → 21}/include/opencl-c.h +298 -39
  104. package/lib/clang/{19 → 21}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
  105. package/lib/clang/{19 → 21}/include/openmp_wrappers/complex_cmath.h +7 -2
  106. package/lib/clang/{19 → 21}/include/pmmintrin.h +16 -3
  107. package/lib/clang/{19 → 21}/include/popcntintrin.h +7 -7
  108. package/lib/clang/{19 → 21}/include/prfchwintrin.h +10 -13
  109. package/lib/clang/{19 → 21}/include/ptrauth.h +65 -2
  110. package/lib/clang/21/include/riscv_corev_alu.h +128 -0
  111. package/lib/clang/{19 → 21}/include/riscv_vector.h +0 -5
  112. package/lib/clang/{19 → 21}/include/shaintrin.h +3 -2
  113. package/lib/clang/21/include/sm4evexintrin.h +32 -0
  114. package/lib/clang/{19 → 21}/include/smmintrin.h +6 -0
  115. package/lib/clang/{19 → 21}/include/stdalign.h +0 -5
  116. package/lib/clang/21/include/stdcountof.h +15 -0
  117. package/lib/clang/{19 → 21}/include/stdint.h +18 -129
  118. package/lib/clang/{19 → 21}/include/tbmintrin.h +25 -37
  119. package/lib/clang/{19 → 21}/include/tmmintrin.h +64 -38
  120. package/lib/clang/{19 → 21}/include/vecintrin.h +1784 -61
  121. package/lib/clang/{19 → 21}/include/wasm_simd128.h +167 -21
  122. package/lib/clang/{19 → 21}/include/x86gprintrin.h +0 -14
  123. package/lib/clang/{19 → 21}/include/x86intrin.h +0 -18
  124. package/lib/clang/{19 → 21}/include/xmmintrin.h +173 -179
  125. package/package.json +6 -6
  126. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  127. /package/lib/clang/{19 → 21}/include/__clang_cuda_builtin_vars.h +0 -0
  128. /package/lib/clang/{19 → 21}/include/__clang_cuda_cmath.h +0 -0
  129. /package/lib/clang/{19 → 21}/include/__clang_cuda_complex_builtins.h +0 -0
  130. /package/lib/clang/{19 → 21}/include/__clang_cuda_libdevice_declares.h +0 -0
  131. /package/lib/clang/{19 → 21}/include/__clang_cuda_math_forward_declares.h +0 -0
  132. /package/lib/clang/{19 → 21}/include/__clang_hip_stdlib.h +0 -0
  133. /package/lib/clang/{19 → 21}/include/__stdarg___gnuc_va_list.h +0 -0
  134. /package/lib/clang/{19 → 21}/include/__stdarg___va_copy.h +0 -0
  135. /package/lib/clang/{19 → 21}/include/__stdarg_header_macro.h +0 -0
  136. /package/lib/clang/{19 → 21}/include/__stdarg_va_copy.h +0 -0
  137. /package/lib/clang/{19 → 21}/include/__stdarg_va_list.h +0 -0
  138. /package/lib/clang/{19 → 21}/include/__stddef_header_macro.h +0 -0
  139. /package/lib/clang/{19 → 21}/include/__stddef_max_align_t.h +0 -0
  140. /package/lib/clang/{19 → 21}/include/__stddef_null.h +0 -0
  141. /package/lib/clang/{19 → 21}/include/__stddef_nullptr_t.h +0 -0
  142. /package/lib/clang/{19 → 21}/include/__stddef_offsetof.h +0 -0
  143. /package/lib/clang/{19 → 21}/include/__stddef_ptrdiff_t.h +0 -0
  144. /package/lib/clang/{19 → 21}/include/__stddef_rsize_t.h +0 -0
  145. /package/lib/clang/{19 → 21}/include/__stddef_size_t.h +0 -0
  146. /package/lib/clang/{19 → 21}/include/__stddef_unreachable.h +0 -0
  147. /package/lib/clang/{19 → 21}/include/__stddef_wchar_t.h +0 -0
  148. /package/lib/clang/{19 → 21}/include/__stddef_wint_t.h +0 -0
  149. /package/lib/clang/{19 → 21}/include/__wmmintrin_aes.h +0 -0
  150. /package/lib/clang/{19 → 21}/include/__wmmintrin_pclmul.h +0 -0
  151. /package/lib/clang/{19 → 21}/include/ammintrin.h +0 -0
  152. /package/lib/clang/{19 → 21}/include/arm64intr.h +0 -0
  153. /package/lib/clang/{19 → 21}/include/arm_bf16.h +0 -0
  154. /package/lib/clang/{19 → 21}/include/arm_cde.h +0 -0
  155. /package/lib/clang/{19 → 21}/include/arm_cmse.h +0 -0
  156. /package/lib/clang/{19 → 21}/include/arm_mve.h +0 -0
  157. /package/lib/clang/{19 → 21}/include/arm_neon_sve_bridge.h +0 -0
  158. /package/lib/clang/{19 → 21}/include/armintr.h +0 -0
  159. /package/lib/clang/{19 → 21}/include/avx512bf16intrin.h +0 -0
  160. /package/lib/clang/{19 → 21}/include/avx512bwintrin.h +0 -0
  161. /package/lib/clang/{19 → 21}/include/avx512cdintrin.h +0 -0
  162. /package/lib/clang/{19 → 21}/include/avx512dqintrin.h +0 -0
  163. /package/lib/clang/{19 → 21}/include/avx512ifmaintrin.h +0 -0
  164. /package/lib/clang/{19 → 21}/include/avx512ifmavlintrin.h +0 -0
  165. /package/lib/clang/{19 → 21}/include/avx512vbmi2intrin.h +0 -0
  166. /package/lib/clang/{19 → 21}/include/avx512vbmiintrin.h +0 -0
  167. /package/lib/clang/{19 → 21}/include/avx512vbmivlintrin.h +0 -0
  168. /package/lib/clang/{19 → 21}/include/avx512vlbf16intrin.h +0 -0
  169. /package/lib/clang/{19 → 21}/include/avx512vlbwintrin.h +0 -0
  170. /package/lib/clang/{19 → 21}/include/avx512vlcdintrin.h +0 -0
  171. /package/lib/clang/{19 → 21}/include/avx512vldqintrin.h +0 -0
  172. /package/lib/clang/{19 → 21}/include/avx512vlfp16intrin.h +0 -0
  173. /package/lib/clang/{19 → 21}/include/avx512vlintrin.h +0 -0
  174. /package/lib/clang/{19 → 21}/include/avx512vlvbmi2intrin.h +0 -0
  175. /package/lib/clang/{19 → 21}/include/avx512vlvnniintrin.h +0 -0
  176. /package/lib/clang/{19 → 21}/include/avx512vlvp2intersectintrin.h +0 -0
  177. /package/lib/clang/{19 → 21}/include/avx512vnniintrin.h +0 -0
  178. /package/lib/clang/{19 → 21}/include/avx512vp2intersectintrin.h +0 -0
  179. /package/lib/clang/{19 → 21}/include/avxifmaintrin.h +0 -0
  180. /package/lib/clang/{19 → 21}/include/avxneconvertintrin.h +0 -0
  181. /package/lib/clang/{19 → 21}/include/avxvnniintrin.h +0 -0
  182. /package/lib/clang/{19 → 21}/include/builtins.h +0 -0
  183. /package/lib/clang/{19 → 21}/include/cet.h +0 -0
  184. /package/lib/clang/{19 → 21}/include/cetintrin.h +0 -0
  185. /package/lib/clang/{19 → 21}/include/cldemoteintrin.h +0 -0
  186. /package/lib/clang/{19 → 21}/include/clflushoptintrin.h +0 -0
  187. /package/lib/clang/{19 → 21}/include/clwbintrin.h +0 -0
  188. /package/lib/clang/{19 → 21}/include/clzerointrin.h +0 -0
  189. /package/lib/clang/{19 → 21}/include/crc32intrin.h +0 -0
  190. /package/lib/clang/{19 → 21}/include/cuda_wrappers/algorithm +0 -0
  191. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.h +0 -0
  192. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  193. /package/lib/clang/{19 → 21}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  194. /package/lib/clang/{19 → 21}/include/cuda_wrappers/complex +0 -0
  195. /package/lib/clang/{19 → 21}/include/enqcmdintrin.h +0 -0
  196. /package/lib/clang/{19 → 21}/include/f16cintrin.h +0 -0
  197. /package/lib/clang/{19 → 21}/include/fma4intrin.h +0 -0
  198. /package/lib/clang/{19 → 21}/include/fmaintrin.h +0 -0
  199. /package/lib/clang/{19 → 21}/include/fxsrintrin.h +0 -0
  200. /package/lib/clang/{19 → 21}/include/hexagon_circ_brev_intrinsics.h +0 -0
  201. /package/lib/clang/{19 → 21}/include/hexagon_protos.h +0 -0
  202. /package/lib/clang/{19 → 21}/include/hresetintrin.h +0 -0
  203. /package/lib/clang/{19 → 21}/include/htmintrin.h +0 -0
  204. /package/lib/clang/{19 → 21}/include/htmxlintrin.h +0 -0
  205. /package/lib/clang/{19 → 21}/include/ia32intrin.h +0 -0
  206. /package/lib/clang/{19 → 21}/include/inttypes.h +0 -0
  207. /package/lib/clang/{19 → 21}/include/invpcidintrin.h +0 -0
  208. /package/lib/clang/{19 → 21}/include/iso646.h +0 -0
  209. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/assert.h +0 -0
  210. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/inttypes.h +0 -0
  211. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/stdio.h +0 -0
  212. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/string.h +0 -0
  213. /package/lib/clang/{19 → 21}/include/llvm_libc_wrappers/time.h +0 -0
  214. /package/lib/clang/{19 → 21}/include/lwpintrin.h +0 -0
  215. /package/lib/clang/{19 → 21}/include/mm3dnow.h +0 -0
  216. /package/lib/clang/{19 → 21}/include/mm_malloc.h +0 -0
  217. /package/lib/clang/{19 → 21}/include/movdirintrin.h +0 -0
  218. /package/lib/clang/{19 → 21}/include/msa.h +0 -0
  219. /package/lib/clang/{19 → 21}/include/mwaitxintrin.h +0 -0
  220. /package/lib/clang/{19 → 21}/include/nmmintrin.h +0 -0
  221. /package/lib/clang/{19 → 21}/include/openmp_wrappers/cmath +0 -0
  222. /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex +0 -0
  223. /package/lib/clang/{19 → 21}/include/openmp_wrappers/complex.h +0 -0
  224. /package/lib/clang/{19 → 21}/include/openmp_wrappers/math.h +0 -0
  225. /package/lib/clang/{19 → 21}/include/openmp_wrappers/new +0 -0
  226. /package/lib/clang/{19 → 21}/include/pconfigintrin.h +0 -0
  227. /package/lib/clang/{19 → 21}/include/pkuintrin.h +0 -0
  228. /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmi2intrin.h +0 -0
  229. /package/lib/clang/{19 → 21}/include/ppc_wrappers/bmiintrin.h +0 -0
  230. /package/lib/clang/{19 → 21}/include/ppc_wrappers/emmintrin.h +0 -0
  231. /package/lib/clang/{19 → 21}/include/ppc_wrappers/immintrin.h +0 -0
  232. /package/lib/clang/{19 → 21}/include/ppc_wrappers/mm_malloc.h +0 -0
  233. /package/lib/clang/{19 → 21}/include/ppc_wrappers/mmintrin.h +0 -0
  234. /package/lib/clang/{19 → 21}/include/ppc_wrappers/nmmintrin.h +0 -0
  235. /package/lib/clang/{19 → 21}/include/ppc_wrappers/pmmintrin.h +0 -0
  236. /package/lib/clang/{19 → 21}/include/ppc_wrappers/smmintrin.h +0 -0
  237. /package/lib/clang/{19 → 21}/include/ppc_wrappers/tmmintrin.h +0 -0
  238. /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86gprintrin.h +0 -0
  239. /package/lib/clang/{19 → 21}/include/ppc_wrappers/x86intrin.h +0 -0
  240. /package/lib/clang/{19 → 21}/include/ppc_wrappers/xmmintrin.h +0 -0
  241. /package/lib/clang/{19 → 21}/include/prfchiintrin.h +0 -0
  242. /package/lib/clang/{19 → 21}/include/ptwriteintrin.h +0 -0
  243. /package/lib/clang/{19 → 21}/include/raointintrin.h +0 -0
  244. /package/lib/clang/{19 → 21}/include/rdpruintrin.h +0 -0
  245. /package/lib/clang/{19 → 21}/include/rdseedintrin.h +0 -0
  246. /package/lib/clang/{19 → 21}/include/riscv_bitmanip.h +0 -0
  247. /package/lib/clang/{19 → 21}/include/riscv_crypto.h +0 -0
  248. /package/lib/clang/{19 → 21}/include/riscv_ntlh.h +0 -0
  249. /package/lib/clang/{19 → 21}/include/rtmintrin.h +0 -0
  250. /package/lib/clang/{19 → 21}/include/s390intrin.h +0 -0
  251. /package/lib/clang/{19 → 21}/include/serializeintrin.h +0 -0
  252. /package/lib/clang/{19 → 21}/include/sgxintrin.h +0 -0
  253. /package/lib/clang/{19 → 21}/include/sha512intrin.h +0 -0
  254. /package/lib/clang/{19 → 21}/include/sifive_vector.h +0 -0
  255. /package/lib/clang/{19 → 21}/include/sm3intrin.h +0 -0
  256. /package/lib/clang/{19 → 21}/include/sm4intrin.h +0 -0
  257. /package/lib/clang/{19 → 21}/include/stdarg.h +0 -0
  258. /package/lib/clang/{19 → 21}/include/stdatomic.h +0 -0
  259. /package/lib/clang/{19 → 21}/include/stdbool.h +0 -0
  260. /package/lib/clang/{19 → 21}/include/stdckdint.h +0 -0
  261. /package/lib/clang/{19 → 21}/include/stddef.h +0 -0
  262. /package/lib/clang/{19 → 21}/include/stdnoreturn.h +0 -0
  263. /package/lib/clang/{19 → 21}/include/tgmath.h +0 -0
  264. /package/lib/clang/{19 → 21}/include/tsxldtrkintrin.h +0 -0
  265. /package/lib/clang/{19 → 21}/include/uintrintrin.h +0 -0
  266. /package/lib/clang/{19 → 21}/include/unwind.h +0 -0
  267. /package/lib/clang/{19 → 21}/include/usermsrintrin.h +0 -0
  268. /package/lib/clang/{19 → 21}/include/vadefs.h +0 -0
  269. /package/lib/clang/{19 → 21}/include/vaesintrin.h +0 -0
  270. /package/lib/clang/{19 → 21}/include/varargs.h +0 -0
  271. /package/lib/clang/{19 → 21}/include/velintrin.h +0 -0
  272. /package/lib/clang/{19 → 21}/include/velintrin_approx.h +0 -0
  273. /package/lib/clang/{19 → 21}/include/velintrin_gen.h +0 -0
  274. /package/lib/clang/{19 → 21}/include/vpclmulqdqintrin.h +0 -0
  275. /package/lib/clang/{19 → 21}/include/waitpkgintrin.h +0 -0
  276. /package/lib/clang/{19 → 21}/include/wbnoinvdintrin.h +0 -0
  277. /package/lib/clang/{19 → 21}/include/wmmintrin.h +0 -0
  278. /package/lib/clang/{19 → 21}/include/xopintrin.h +0 -0
  279. /package/lib/clang/{19 → 21}/include/xsavecintrin.h +0 -0
  280. /package/lib/clang/{19 → 21}/include/xsaveintrin.h +0 -0
  281. /package/lib/clang/{19 → 21}/include/xsaveoptintrin.h +0 -0
  282. /package/lib/clang/{19 → 21}/include/xsavesintrin.h +0 -0
  283. /package/lib/clang/{19 → 21}/include/xtestintrin.h +0 -0
  284. /package/lib/clang/{19 → 21}/include/yvals_core.h +0 -0
  285. /package/lib/clang/{19 → 21}/include/zos_wrappers/builtins.h +0 -0
@@ -32,12 +32,41 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16)));
32
32
  #endif
33
33
 
34
34
  /* Define the default attributes for the functions in this file. */
35
+ #if defined(__EVEX512__) && !defined(__AVX10_1_512__)
35
36
  #define __DEFAULT_FN_ATTRS \
36
37
  __attribute__((__always_inline__, __nodebug__, __target__("sse,no-evex512"), \
37
38
  __min_vector_width__(128)))
38
- #define __DEFAULT_FN_ATTRS_MMX \
39
+ #define __DEFAULT_FN_ATTRS_SSE2 \
39
40
  __attribute__((__always_inline__, __nodebug__, \
40
- __target__("mmx,sse,no-evex512"), __min_vector_width__(64)))
41
+ __target__("sse2,no-evex512"), __min_vector_width__(128)))
42
+ #else
43
+ #define __DEFAULT_FN_ATTRS \
44
+ __attribute__((__always_inline__, __nodebug__, __target__("sse"), \
45
+ __min_vector_width__(128)))
46
+ #define __DEFAULT_FN_ATTRS_SSE2 \
47
+ __attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
48
+ __min_vector_width__(128)))
49
+ #endif
50
+
51
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
52
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
53
+ #define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2 constexpr
54
+ #else
55
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
56
+ #define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2
57
+ #endif
58
+
59
+ #define __trunc64(x) \
60
+ (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
61
+ #define __zext128(x) \
62
+ (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
63
+ 1, 2, 3)
64
+ #define __anyext128(x) \
65
+ (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
66
+ 1, -1, -1)
67
+ #define __zeroupper64(x) \
68
+ (__m128i) __builtin_shufflevector((__v4si)(x), __extension__(__v4si){}, 0, \
69
+ 1, 4, 5)
41
70
 
42
71
  /// Adds the 32-bit float values in the low-order bits of the operands.
43
72
  ///
@@ -54,9 +83,8 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16)));
54
83
  /// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the sum
55
84
  /// of the lower 32 bits of both operands. The upper 96 bits are copied from
56
85
  /// the upper 96 bits of the first source operand.
57
- static __inline__ __m128 __DEFAULT_FN_ATTRS
58
- _mm_add_ss(__m128 __a, __m128 __b)
59
- {
86
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
87
+ _mm_add_ss(__m128 __a, __m128 __b) {
60
88
  __a[0] += __b[0];
61
89
  return __a;
62
90
  }
@@ -74,9 +102,8 @@ _mm_add_ss(__m128 __a, __m128 __b)
74
102
  /// A 128-bit vector of [4 x float] containing one of the source operands.
75
103
  /// \returns A 128-bit vector of [4 x float] containing the sums of both
76
104
  /// operands.
77
- static __inline__ __m128 __DEFAULT_FN_ATTRS
78
- _mm_add_ps(__m128 __a, __m128 __b)
79
- {
105
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
106
+ _mm_add_ps(__m128 __a, __m128 __b) {
80
107
  return (__m128)((__v4sf)__a + (__v4sf)__b);
81
108
  }
82
109
 
@@ -96,9 +123,8 @@ _mm_add_ps(__m128 __a, __m128 __b)
96
123
  /// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
97
124
  /// difference of the lower 32 bits of both operands. The upper 96 bits are
98
125
  /// copied from the upper 96 bits of the first source operand.
99
- static __inline__ __m128 __DEFAULT_FN_ATTRS
100
- _mm_sub_ss(__m128 __a, __m128 __b)
101
- {
126
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
127
+ _mm_sub_ss(__m128 __a, __m128 __b) {
102
128
  __a[0] -= __b[0];
103
129
  return __a;
104
130
  }
@@ -117,9 +143,8 @@ _mm_sub_ss(__m128 __a, __m128 __b)
117
143
  /// A 128-bit vector of [4 x float] containing the subtrahend.
118
144
  /// \returns A 128-bit vector of [4 x float] containing the differences between
119
145
  /// both operands.
120
- static __inline__ __m128 __DEFAULT_FN_ATTRS
121
- _mm_sub_ps(__m128 __a, __m128 __b)
122
- {
146
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
147
+ _mm_sub_ps(__m128 __a, __m128 __b) {
123
148
  return (__m128)((__v4sf)__a - (__v4sf)__b);
124
149
  }
125
150
 
@@ -139,9 +164,8 @@ _mm_sub_ps(__m128 __a, __m128 __b)
139
164
  /// \returns A 128-bit vector of [4 x float] containing the product of the lower
140
165
  /// 32 bits of both operands. The upper 96 bits are copied from the upper 96
141
166
  /// bits of the first source operand.
142
- static __inline__ __m128 __DEFAULT_FN_ATTRS
143
- _mm_mul_ss(__m128 __a, __m128 __b)
144
- {
167
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
168
+ _mm_mul_ss(__m128 __a, __m128 __b) {
145
169
  __a[0] *= __b[0];
146
170
  return __a;
147
171
  }
@@ -159,9 +183,8 @@ _mm_mul_ss(__m128 __a, __m128 __b)
159
183
  /// A 128-bit vector of [4 x float] containing one of the source operands.
160
184
  /// \returns A 128-bit vector of [4 x float] containing the products of both
161
185
  /// operands.
162
- static __inline__ __m128 __DEFAULT_FN_ATTRS
163
- _mm_mul_ps(__m128 __a, __m128 __b)
164
- {
186
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
187
+ _mm_mul_ps(__m128 __a, __m128 __b) {
165
188
  return (__m128)((__v4sf)__a * (__v4sf)__b);
166
189
  }
167
190
 
@@ -181,9 +204,8 @@ _mm_mul_ps(__m128 __a, __m128 __b)
181
204
  /// \returns A 128-bit vector of [4 x float] containing the quotients of the
182
205
  /// lower 32 bits of both operands. The upper 96 bits are copied from the
183
206
  /// upper 96 bits of the first source operand.
184
- static __inline__ __m128 __DEFAULT_FN_ATTRS
185
- _mm_div_ss(__m128 __a, __m128 __b)
186
- {
207
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
208
+ _mm_div_ss(__m128 __a, __m128 __b) {
187
209
  __a[0] /= __b[0];
188
210
  return __a;
189
211
  }
@@ -200,9 +222,8 @@ _mm_div_ss(__m128 __a, __m128 __b)
200
222
  /// A 128-bit vector of [4 x float] containing the divisor.
201
223
  /// \returns A 128-bit vector of [4 x float] containing the quotients of both
202
224
  /// operands.
203
- static __inline__ __m128 __DEFAULT_FN_ATTRS
204
- _mm_div_ps(__m128 __a, __m128 __b)
205
- {
225
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
226
+ _mm_div_ps(__m128 __a, __m128 __b) {
206
227
  return (__m128)((__v4sf)__a / (__v4sf)__b);
207
228
  }
208
229
 
@@ -416,9 +437,8 @@ _mm_max_ps(__m128 __a, __m128 __b)
416
437
  /// A 128-bit vector containing one of the source operands.
417
438
  /// \returns A 128-bit vector of [4 x float] containing the bitwise AND of the
418
439
  /// values between both operands.
419
- static __inline__ __m128 __DEFAULT_FN_ATTRS
420
- _mm_and_ps(__m128 __a, __m128 __b)
421
- {
440
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
441
+ _mm_and_ps(__m128 __a, __m128 __b) {
422
442
  return (__m128)((__v4su)__a & (__v4su)__b);
423
443
  }
424
444
 
@@ -438,9 +458,8 @@ _mm_and_ps(__m128 __a, __m128 __b)
438
458
  /// \returns A 128-bit vector of [4 x float] containing the bitwise AND of the
439
459
  /// one's complement of the first operand and the values in the second
440
460
  /// operand.
441
- static __inline__ __m128 __DEFAULT_FN_ATTRS
442
- _mm_andnot_ps(__m128 __a, __m128 __b)
443
- {
461
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
462
+ _mm_andnot_ps(__m128 __a, __m128 __b) {
444
463
  return (__m128)(~(__v4su)__a & (__v4su)__b);
445
464
  }
446
465
 
@@ -456,9 +475,8 @@ _mm_andnot_ps(__m128 __a, __m128 __b)
456
475
  /// A 128-bit vector of [4 x float] containing one of the source operands.
457
476
  /// \returns A 128-bit vector of [4 x float] containing the bitwise OR of the
458
477
  /// values between both operands.
459
- static __inline__ __m128 __DEFAULT_FN_ATTRS
460
- _mm_or_ps(__m128 __a, __m128 __b)
461
- {
478
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
479
+ _mm_or_ps(__m128 __a, __m128 __b) {
462
480
  return (__m128)((__v4su)__a | (__v4su)__b);
463
481
  }
464
482
 
@@ -475,9 +493,8 @@ _mm_or_ps(__m128 __a, __m128 __b)
475
493
  /// A 128-bit vector of [4 x float] containing one of the source operands.
476
494
  /// \returns A 128-bit vector of [4 x float] containing the bitwise exclusive OR
477
495
  /// of the values between both operands.
478
- static __inline__ __m128 __DEFAULT_FN_ATTRS
479
- _mm_xor_ps(__m128 __a, __m128 __b)
480
- {
496
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
497
+ _mm_xor_ps(__m128 __a, __m128 __b) {
481
498
  return (__m128)((__v4su)__a ^ (__v4su)__b);
482
499
  }
483
500
 
@@ -1448,10 +1465,10 @@ _mm_cvtss_si64(__m128 __a)
1448
1465
  /// \param __a
1449
1466
  /// A 128-bit vector of [4 x float].
1450
1467
  /// \returns A 64-bit integer vector containing the converted values.
1451
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
1468
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1452
1469
  _mm_cvtps_pi32(__m128 __a)
1453
1470
  {
1454
- return (__m64)__builtin_ia32_cvtps2pi((__v4sf)__a);
1471
+ return __trunc64(__builtin_ia32_cvtps2dq((__v4sf)__zeroupper64(__a)));
1455
1472
  }
1456
1473
 
1457
1474
  /// Converts two low-order float values in a 128-bit vector of
@@ -1468,7 +1485,7 @@ _mm_cvtps_pi32(__m128 __a)
1468
1485
  /// \param __a
1469
1486
  /// A 128-bit vector of [4 x float].
1470
1487
  /// \returns A 64-bit integer vector containing the converted values.
1471
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
1488
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1472
1489
  _mm_cvt_ps2pi(__m128 __a)
1473
1490
  {
1474
1491
  return _mm_cvtps_pi32(__a);
@@ -1558,10 +1575,10 @@ _mm_cvttss_si64(__m128 __a)
1558
1575
  /// \param __a
1559
1576
  /// A 128-bit vector of [4 x float].
1560
1577
  /// \returns A 64-bit integer vector containing the converted values.
1561
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
1578
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1562
1579
  _mm_cvttps_pi32(__m128 __a)
1563
1580
  {
1564
- return (__m64)__builtin_ia32_cvttps2pi((__v4sf)__a);
1581
+ return __trunc64(__builtin_ia32_cvttps2dq((__v4sf)__zeroupper64(__a)));
1565
1582
  }
1566
1583
 
1567
1584
  /// Converts the lower (first) two elements of a 128-bit vector of [4 x float]
@@ -1579,7 +1596,7 @@ _mm_cvttps_pi32(__m128 __a)
1579
1596
  /// \param __a
1580
1597
  /// A 128-bit vector of [4 x float].
1581
1598
  /// \returns A 64-bit integer vector containing the converted values.
1582
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
1599
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1583
1600
  _mm_cvtt_ps2pi(__m128 __a)
1584
1601
  {
1585
1602
  return _mm_cvttps_pi32(__a);
@@ -1601,9 +1618,8 @@ _mm_cvtt_ps2pi(__m128 __a)
1601
1618
  /// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
1602
1619
  /// converted value of the second operand. The upper 96 bits are copied from
1603
1620
  /// the upper 96 bits of the first operand.
1604
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1605
- _mm_cvtsi32_ss(__m128 __a, int __b)
1606
- {
1621
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtsi32_ss(__m128 __a,
1622
+ int __b) {
1607
1623
  __a[0] = __b;
1608
1624
  return __a;
1609
1625
  }
@@ -1624,9 +1640,8 @@ _mm_cvtsi32_ss(__m128 __a, int __b)
1624
1640
  /// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
1625
1641
  /// converted value of the second operand. The upper 96 bits are copied from
1626
1642
  /// the upper 96 bits of the first operand.
1627
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1628
- _mm_cvt_si2ss(__m128 __a, int __b)
1629
- {
1643
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvt_si2ss(__m128 __a,
1644
+ int __b) {
1630
1645
  return _mm_cvtsi32_ss(__a, __b);
1631
1646
  }
1632
1647
 
@@ -1648,9 +1663,8 @@ _mm_cvt_si2ss(__m128 __a, int __b)
1648
1663
  /// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
1649
1664
  /// converted value of the second operand. The upper 96 bits are copied from
1650
1665
  /// the upper 96 bits of the first operand.
1651
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1652
- _mm_cvtsi64_ss(__m128 __a, long long __b)
1653
- {
1666
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1667
+ _mm_cvtsi64_ss(__m128 __a, long long __b) {
1654
1668
  __a[0] = __b;
1655
1669
  return __a;
1656
1670
  }
@@ -1674,10 +1688,13 @@ _mm_cvtsi64_ss(__m128 __a, long long __b)
1674
1688
  /// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
1675
1689
  /// converted value of the second operand. The upper 64 bits are copied from
1676
1690
  /// the upper 64 bits of the first operand.
1677
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
1691
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
1678
1692
  _mm_cvtpi32_ps(__m128 __a, __m64 __b)
1679
1693
  {
1680
- return __builtin_ia32_cvtpi2ps((__v4sf)__a, (__v2si)__b);
1694
+ return (__m128)__builtin_shufflevector(
1695
+ (__v4sf)__a,
1696
+ __builtin_convertvector((__v4si)__zext128(__b), __v4sf),
1697
+ 4, 5, 2, 3);
1681
1698
  }
1682
1699
 
1683
1700
  /// Converts two elements of a 64-bit vector of [2 x i32] into two
@@ -1697,7 +1714,7 @@ _mm_cvtpi32_ps(__m128 __a, __m64 __b)
1697
1714
  /// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
1698
1715
  /// converted value from the second operand. The upper 64 bits are copied
1699
1716
  /// from the upper 64 bits of the first operand.
1700
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
1717
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
1701
1718
  _mm_cvt_pi2ps(__m128 __a, __m64 __b)
1702
1719
  {
1703
1720
  return _mm_cvtpi32_ps(__a, __b);
@@ -1714,9 +1731,8 @@ _mm_cvt_pi2ps(__m128 __a, __m64 __b)
1714
1731
  /// A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
1715
1732
  /// used in the extraction.
1716
1733
  /// \returns A 32-bit float containing the extracted value.
1717
- static __inline__ float __DEFAULT_FN_ATTRS
1718
- _mm_cvtss_f32(__m128 __a)
1719
- {
1734
+ static __inline__ float __DEFAULT_FN_ATTRS_CONSTEXPR
1735
+ _mm_cvtss_f32(__m128 __a) {
1720
1736
  return __a[0];
1721
1737
  }
1722
1738
 
@@ -1907,9 +1923,8 @@ _mm_undefined_ps(void)
1907
1923
  /// \returns An initialized 128-bit floating-point vector of [4 x float]. The
1908
1924
  /// lower 32 bits contain the value provided in the source operand. The
1909
1925
  /// upper 96 bits are set to zero.
1910
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1911
- _mm_set_ss(float __w)
1912
- {
1926
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1927
+ _mm_set_ss(float __w) {
1913
1928
  return __extension__ (__m128){ __w, 0.0f, 0.0f, 0.0f };
1914
1929
  }
1915
1930
 
@@ -1925,9 +1940,8 @@ _mm_set_ss(float __w)
1925
1940
  /// A single-precision floating-point value used to initialize each vector
1926
1941
  /// element of the result.
1927
1942
  /// \returns An initialized 128-bit floating-point vector of [4 x float].
1928
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1929
- _mm_set1_ps(float __w)
1930
- {
1943
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1944
+ _mm_set1_ps(float __w) {
1931
1945
  return __extension__ (__m128){ __w, __w, __w, __w };
1932
1946
  }
1933
1947
 
@@ -1944,9 +1958,8 @@ _mm_set1_ps(float __w)
1944
1958
  /// A single-precision floating-point value used to initialize each vector
1945
1959
  /// element of the result.
1946
1960
  /// \returns An initialized 128-bit floating-point vector of [4 x float].
1947
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1948
- _mm_set_ps1(float __w)
1949
- {
1961
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1962
+ _mm_set_ps1(float __w) {
1950
1963
  return _mm_set1_ps(__w);
1951
1964
  }
1952
1965
 
@@ -1971,9 +1984,8 @@ _mm_set_ps1(float __w)
1971
1984
  /// A single-precision floating-point value used to initialize bits [31:0]
1972
1985
  /// of the result.
1973
1986
  /// \returns An initialized 128-bit floating-point vector of [4 x float].
1974
- static __inline__ __m128 __DEFAULT_FN_ATTRS
1975
- _mm_set_ps(float __z, float __y, float __x, float __w)
1976
- {
1987
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1988
+ _mm_set_ps(float __z, float __y, float __x, float __w) {
1977
1989
  return __extension__ (__m128){ __w, __x, __y, __z };
1978
1990
  }
1979
1991
 
@@ -1999,9 +2011,8 @@ _mm_set_ps(float __z, float __y, float __x, float __w)
1999
2011
  /// A single-precision floating-point value used to initialize bits [127:96]
2000
2012
  /// of the result.
2001
2013
  /// \returns An initialized 128-bit floating-point vector of [4 x float].
2002
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2003
- _mm_setr_ps(float __z, float __y, float __x, float __w)
2004
- {
2014
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2015
+ _mm_setr_ps(float __z, float __y, float __x, float __w) {
2005
2016
  return __extension__ (__m128){ __z, __y, __x, __w };
2006
2017
  }
2007
2018
 
@@ -2014,9 +2025,8 @@ _mm_setr_ps(float __z, float __y, float __x, float __w)
2014
2025
  ///
2015
2026
  /// \returns An initialized 128-bit floating-point vector of [4 x float] with
2016
2027
  /// all elements set to zero.
2017
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2018
- _mm_setzero_ps(void)
2019
- {
2028
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2029
+ _mm_setzero_ps(void) {
2020
2030
  return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
2021
2031
  }
2022
2032
 
@@ -2188,8 +2198,9 @@ _mm_storer_ps(float *__p, __m128 __a)
2188
2198
  #define _MM_HINT_NTA 0
2189
2199
 
2190
2200
  #ifndef _MSC_VER
2191
- /* FIXME: We have to #define this because "sel" must be a constant integer, and
2192
- Sema doesn't do any form of constant propagation yet. */
2201
+ // If _MSC_VER is defined, we use the builtin variant of _mm_prefetch.
2202
+ // Otherwise, we provide this macro, which includes a cast, allowing the user
2203
+ // to pass a pointer of any time. The _mm_prefetch accepts char to match MSVC.
2193
2204
 
2194
2205
  /// Loads one cache line of data from the specified address to a location
2195
2206
  /// closer to the processor.
@@ -2231,10 +2242,10 @@ _mm_storer_ps(float *__p, __m128 __a)
2231
2242
  /// A pointer to an aligned memory location used to store the register value.
2232
2243
  /// \param __a
2233
2244
  /// A 64-bit integer containing the value to be stored.
2234
- static __inline__ void __DEFAULT_FN_ATTRS_MMX
2245
+ static __inline__ void __DEFAULT_FN_ATTRS
2235
2246
  _mm_stream_pi(void *__p, __m64 __a)
2236
2247
  {
2237
- __builtin_ia32_movntq((__m64 *)__p, __a);
2248
+ __builtin_nontemporal_store(__a, (__m64 *)__p);
2238
2249
  }
2239
2250
 
2240
2251
  /// Moves packed float values from a 128-bit vector of [4 x float] to a
@@ -2296,7 +2307,7 @@ void _mm_sfence(void);
2296
2307
  /// 3: Bits [63:48] are copied to the destination.
2297
2308
  /// \returns A 16-bit integer containing the extracted 16 bits of packed data.
2298
2309
  #define _mm_extract_pi16(a, n) \
2299
- ((int)__builtin_ia32_vec_ext_v4hi((__v4hi)a, (int)n))
2310
+ ((int)(unsigned short)__builtin_ia32_vec_ext_v4hi((__v4hi)a, (int)n))
2300
2311
 
2301
2312
  /// Copies data from the 64-bit vector of [4 x i16] to the destination,
2302
2313
  /// and inserts the lower 16-bits of an integer operand at the 16-bit offset
@@ -2342,10 +2353,10 @@ void _mm_sfence(void);
2342
2353
  /// \param __b
2343
2354
  /// A 64-bit integer vector containing one of the source operands.
2344
2355
  /// \returns A 64-bit integer vector containing the comparison results.
2345
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2356
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2346
2357
  _mm_max_pi16(__m64 __a, __m64 __b)
2347
2358
  {
2348
- return (__m64)__builtin_ia32_pmaxsw((__v4hi)__a, (__v4hi)__b);
2359
+ return (__m64)__builtin_elementwise_max((__v4hi)__a, (__v4hi)__b);
2349
2360
  }
2350
2361
 
2351
2362
  /// Compares each of the corresponding packed 8-bit unsigned integer
@@ -2361,10 +2372,10 @@ _mm_max_pi16(__m64 __a, __m64 __b)
2361
2372
  /// \param __b
2362
2373
  /// A 64-bit integer vector containing one of the source operands.
2363
2374
  /// \returns A 64-bit integer vector containing the comparison results.
2364
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2375
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2365
2376
  _mm_max_pu8(__m64 __a, __m64 __b)
2366
2377
  {
2367
- return (__m64)__builtin_ia32_pmaxub((__v8qi)__a, (__v8qi)__b);
2378
+ return (__m64)__builtin_elementwise_max((__v8qu)__a, (__v8qu)__b);
2368
2379
  }
2369
2380
 
2370
2381
  /// Compares each of the corresponding packed 16-bit integer values of
@@ -2380,10 +2391,10 @@ _mm_max_pu8(__m64 __a, __m64 __b)
2380
2391
  /// \param __b
2381
2392
  /// A 64-bit integer vector containing one of the source operands.
2382
2393
  /// \returns A 64-bit integer vector containing the comparison results.
2383
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2394
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2384
2395
  _mm_min_pi16(__m64 __a, __m64 __b)
2385
2396
  {
2386
- return (__m64)__builtin_ia32_pminsw((__v4hi)__a, (__v4hi)__b);
2397
+ return (__m64)__builtin_elementwise_min((__v4hi)__a, (__v4hi)__b);
2387
2398
  }
2388
2399
 
2389
2400
  /// Compares each of the corresponding packed 8-bit unsigned integer
@@ -2399,10 +2410,10 @@ _mm_min_pi16(__m64 __a, __m64 __b)
2399
2410
  /// \param __b
2400
2411
  /// A 64-bit integer vector containing one of the source operands.
2401
2412
  /// \returns A 64-bit integer vector containing the comparison results.
2402
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2413
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2403
2414
  _mm_min_pu8(__m64 __a, __m64 __b)
2404
2415
  {
2405
- return (__m64)__builtin_ia32_pminub((__v8qi)__a, (__v8qi)__b);
2416
+ return (__m64)__builtin_elementwise_min((__v8qu)__a, (__v8qu)__b);
2406
2417
  }
2407
2418
 
2408
2419
  /// Takes the most significant bit from each 8-bit element in a 64-bit
@@ -2417,10 +2428,10 @@ _mm_min_pu8(__m64 __a, __m64 __b)
2417
2428
  /// A 64-bit integer vector containing the values with bits to be extracted.
2418
2429
  /// \returns The most significant bit from each 8-bit element in \a __a,
2419
2430
  /// written to bits [7:0].
2420
- static __inline__ int __DEFAULT_FN_ATTRS_MMX
2431
+ static __inline__ int __DEFAULT_FN_ATTRS_SSE2
2421
2432
  _mm_movemask_pi8(__m64 __a)
2422
2433
  {
2423
- return __builtin_ia32_pmovmskb((__v8qi)__a);
2434
+ return __builtin_ia32_pmovmskb128((__v16qi)__zext128(__a));
2424
2435
  }
2425
2436
 
2426
2437
  /// Multiplies packed 16-bit unsigned integer values and writes the
@@ -2436,10 +2447,11 @@ _mm_movemask_pi8(__m64 __a)
2436
2447
  /// \param __b
2437
2448
  /// A 64-bit integer vector containing one of the source operands.
2438
2449
  /// \returns A 64-bit integer vector containing the products of both operands.
2439
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2450
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2440
2451
  _mm_mulhi_pu16(__m64 __a, __m64 __b)
2441
2452
  {
2442
- return (__m64)__builtin_ia32_pmulhuw((__v4hi)__a, (__v4hi)__b);
2453
+ return __trunc64(__builtin_ia32_pmulhuw128((__v8hi)__anyext128(__a),
2454
+ (__v8hi)__anyext128(__b)));
2443
2455
  }
2444
2456
 
2445
2457
  /// Shuffles the 4 16-bit integers from a 64-bit integer vector to the
@@ -2476,8 +2488,10 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b)
2476
2488
  /// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
2477
2489
  /// <c>[b6, b4, b2, b0]</c>.
2478
2490
  /// \returns A 64-bit integer vector containing the shuffled values.
2479
- #define _mm_shuffle_pi16(a, n) \
2480
- ((__m64)__builtin_ia32_pshufw((__v4hi)(__m64)(a), (n)))
2491
+ #define _mm_shuffle_pi16(a, n) \
2492
+ ((__m64)__builtin_shufflevector((__v4hi)(__m64)(a), __extension__(__v4hi){}, \
2493
+ (n) & 0x3, ((n) >> 2) & 0x3, \
2494
+ ((n) >> 4) & 0x3, ((n) >> 6) & 0x3))
2481
2495
 
2482
2496
  /// Conditionally copies the values from each 8-bit element in the first
2483
2497
  /// 64-bit integer vector operand to the specified memory location, as
@@ -2502,10 +2516,25 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b)
2502
2516
  /// A pointer to a 64-bit memory location that will receive the conditionally
2503
2517
  /// copied integer values. The address of the memory location does not have
2504
2518
  /// to be aligned.
2505
- static __inline__ void __DEFAULT_FN_ATTRS_MMX
2519
+ static __inline__ void __DEFAULT_FN_ATTRS_SSE2
2506
2520
  _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
2507
2521
  {
2508
- __builtin_ia32_maskmovq((__v8qi)__d, (__v8qi)__n, __p);
2522
+ // This is complex, because we need to support the case where __p is pointing
2523
+ // within the last 15 to 8 bytes of a page. In that case, using a 128-bit
2524
+ // write might cause a trap where a 64-bit maskmovq would not. (Memory
2525
+ // locations not selected by the mask bits might still cause traps.)
2526
+ __m128i __d128 = __anyext128(__d);
2527
+ __m128i __n128 = __zext128(__n);
2528
+ if (((__SIZE_TYPE__)__p & 0xfff) >= 4096-15 &&
2529
+ ((__SIZE_TYPE__)__p & 0xfff) <= 4096-8) {
2530
+ // If there's a risk of spurious trap due to a 128-bit write, back up the
2531
+ // pointer by 8 bytes and shift values in registers to match.
2532
+ __p -= 8;
2533
+ __d128 = __builtin_ia32_pslldqi128_byteshift((__v2di)__d128, 8);
2534
+ __n128 = __builtin_ia32_pslldqi128_byteshift((__v2di)__n128, 8);
2535
+ }
2536
+
2537
+ __builtin_ia32_maskmovdqu((__v16qi)__d128, (__v16qi)__n128, __p);
2509
2538
  }
2510
2539
 
2511
2540
  /// Computes the rounded averages of the packed unsigned 8-bit integer
@@ -2521,10 +2550,11 @@ _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
2521
2550
  /// \param __b
2522
2551
  /// A 64-bit integer vector containing one of the source operands.
2523
2552
  /// \returns A 64-bit integer vector containing the averages of both operands.
2524
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2553
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2525
2554
  _mm_avg_pu8(__m64 __a, __m64 __b)
2526
2555
  {
2527
- return (__m64)__builtin_ia32_pavgb((__v8qi)__a, (__v8qi)__b);
2556
+ return __trunc64(__builtin_ia32_pavgb128((__v16qi)__anyext128(__a),
2557
+ (__v16qi)__anyext128(__b)));
2528
2558
  }
2529
2559
 
2530
2560
  /// Computes the rounded averages of the packed unsigned 16-bit integer
@@ -2540,10 +2570,11 @@ _mm_avg_pu8(__m64 __a, __m64 __b)
2540
2570
  /// \param __b
2541
2571
  /// A 64-bit integer vector containing one of the source operands.
2542
2572
  /// \returns A 64-bit integer vector containing the averages of both operands.
2543
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2573
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2544
2574
  _mm_avg_pu16(__m64 __a, __m64 __b)
2545
2575
  {
2546
- return (__m64)__builtin_ia32_pavgw((__v4hi)__a, (__v4hi)__b);
2576
+ return __trunc64(__builtin_ia32_pavgw128((__v8hi)__anyext128(__a),
2577
+ (__v8hi)__anyext128(__b)));
2547
2578
  }
2548
2579
 
2549
2580
  /// Subtracts the corresponding 8-bit unsigned integer values of the two
@@ -2562,10 +2593,11 @@ _mm_avg_pu16(__m64 __a, __m64 __b)
2562
2593
  /// \returns A 64-bit integer vector whose lower 16 bits contain the sums of the
2563
2594
  /// sets of absolute differences between both operands. The upper bits are
2564
2595
  /// cleared.
2565
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2596
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2566
2597
  _mm_sad_pu8(__m64 __a, __m64 __b)
2567
2598
  {
2568
- return (__m64)__builtin_ia32_psadbw((__v8qi)__a, (__v8qi)__b);
2599
+ return __trunc64(__builtin_ia32_psadbw128((__v16qi)__zext128(__a),
2600
+ (__v16qi)__zext128(__b)));
2569
2601
  }
2570
2602
 
2571
2603
  #if defined(__cplusplus)
@@ -2741,9 +2773,8 @@ void _mm_setcsr(unsigned int __i);
2741
2773
  /// Bits [95:64] are written to bits [63:32] of the destination. \n
2742
2774
  /// Bits [127:96] are written to bits [127:96] of the destination.
2743
2775
  /// \returns A 128-bit vector of [4 x float] containing the interleaved values.
2744
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2745
- _mm_unpackhi_ps(__m128 __a, __m128 __b)
2746
- {
2776
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2777
+ _mm_unpackhi_ps(__m128 __a, __m128 __b) {
2747
2778
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 2, 6, 3, 7);
2748
2779
  }
2749
2780
 
@@ -2763,9 +2794,8 @@ _mm_unpackhi_ps(__m128 __a, __m128 __b)
2763
2794
  /// Bits [31:0] are written to bits [63:32] of the destination. \n
2764
2795
  /// Bits [63:32] are written to bits [127:96] of the destination.
2765
2796
  /// \returns A 128-bit vector of [4 x float] containing the interleaved values.
2766
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2767
- _mm_unpacklo_ps(__m128 __a, __m128 __b)
2768
- {
2797
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2798
+ _mm_unpacklo_ps(__m128 __a, __m128 __b) {
2769
2799
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 4, 1, 5);
2770
2800
  }
2771
2801
 
@@ -2785,9 +2815,8 @@ _mm_unpacklo_ps(__m128 __a, __m128 __b)
2785
2815
  /// A 128-bit floating-point vector of [4 x float]. The lower 32 bits are
2786
2816
  /// written to the lower 32 bits of the result.
2787
2817
  /// \returns A 128-bit floating-point vector of [4 x float].
2788
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2789
- _mm_move_ss(__m128 __a, __m128 __b)
2790
- {
2818
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2819
+ _mm_move_ss(__m128 __a, __m128 __b) {
2791
2820
  __a[0] = __b[0];
2792
2821
  return __a;
2793
2822
  }
@@ -2807,9 +2836,8 @@ _mm_move_ss(__m128 __a, __m128 __b)
2807
2836
  /// A 128-bit floating-point vector of [4 x float]. The upper 64 bits are
2808
2837
  /// written to the lower 64 bits of the result.
2809
2838
  /// \returns A 128-bit floating-point vector of [4 x float].
2810
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2811
- _mm_movehl_ps(__m128 __a, __m128 __b)
2812
- {
2839
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2840
+ _mm_movehl_ps(__m128 __a, __m128 __b) {
2813
2841
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 6, 7, 2, 3);
2814
2842
  }
2815
2843
 
@@ -2828,9 +2856,8 @@ _mm_movehl_ps(__m128 __a, __m128 __b)
2828
2856
  /// A 128-bit floating-point vector of [4 x float]. The lower 64 bits are
2829
2857
  /// written to the upper 64 bits of the result.
2830
2858
  /// \returns A 128-bit floating-point vector of [4 x float].
2831
- static __inline__ __m128 __DEFAULT_FN_ATTRS
2832
- _mm_movelh_ps(__m128 __a, __m128 __b)
2833
- {
2859
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2860
+ _mm_movelh_ps(__m128 __a, __m128 __b) {
2834
2861
  return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 1, 4, 5);
2835
2862
  }
2836
2863
 
@@ -2846,22 +2873,10 @@ _mm_movelh_ps(__m128 __a, __m128 __b)
2846
2873
  /// from the corresponding elements in this operand.
2847
2874
  /// \returns A 128-bit vector of [4 x float] containing the copied and converted
2848
2875
  /// values from the operand.
2849
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
2876
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2850
2877
  _mm_cvtpi16_ps(__m64 __a)
2851
2878
  {
2852
- __m64 __b, __c;
2853
- __m128 __r;
2854
-
2855
- __b = _mm_setzero_si64();
2856
- __b = _mm_cmpgt_pi16(__b, __a);
2857
- __c = _mm_unpackhi_pi16(__a, __b);
2858
- __r = _mm_setzero_ps();
2859
- __r = _mm_cvtpi32_ps(__r, __c);
2860
- __r = _mm_movelh_ps(__r, __r);
2861
- __c = _mm_unpacklo_pi16(__a, __b);
2862
- __r = _mm_cvtpi32_ps(__r, __c);
2863
-
2864
- return __r;
2879
+ return __builtin_convertvector((__v4hi)__a, __v4sf);
2865
2880
  }
2866
2881
 
2867
2882
  /// Converts a 64-bit vector of 16-bit unsigned integer values into a
@@ -2876,21 +2891,10 @@ _mm_cvtpi16_ps(__m64 __a)
2876
2891
  /// destination are copied from the corresponding elements in this operand.
2877
2892
  /// \returns A 128-bit vector of [4 x float] containing the copied and converted
2878
2893
  /// values from the operand.
2879
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
2894
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2880
2895
  _mm_cvtpu16_ps(__m64 __a)
2881
2896
  {
2882
- __m64 __b, __c;
2883
- __m128 __r;
2884
-
2885
- __b = _mm_setzero_si64();
2886
- __c = _mm_unpackhi_pi16(__a, __b);
2887
- __r = _mm_setzero_ps();
2888
- __r = _mm_cvtpi32_ps(__r, __c);
2889
- __r = _mm_movelh_ps(__r, __r);
2890
- __c = _mm_unpacklo_pi16(__a, __b);
2891
- __r = _mm_cvtpi32_ps(__r, __c);
2892
-
2893
- return __r;
2897
+ return __builtin_convertvector((__v4hu)__a, __v4sf);
2894
2898
  }
2895
2899
 
2896
2900
  /// Converts the lower four 8-bit values from a 64-bit vector of [8 x i8]
@@ -2905,16 +2909,12 @@ _mm_cvtpu16_ps(__m64 __a)
2905
2909
  /// from the corresponding lower 4 elements in this operand.
2906
2910
  /// \returns A 128-bit vector of [4 x float] containing the copied and converted
2907
2911
  /// values from the operand.
2908
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
2912
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2909
2913
  _mm_cvtpi8_ps(__m64 __a)
2910
2914
  {
2911
- __m64 __b;
2912
-
2913
- __b = _mm_setzero_si64();
2914
- __b = _mm_cmpgt_pi8(__b, __a);
2915
- __b = _mm_unpacklo_pi8(__a, __b);
2916
-
2917
- return _mm_cvtpi16_ps(__b);
2915
+ return __builtin_convertvector(
2916
+ __builtin_shufflevector((__v8qs)__a, __extension__ (__v8qs){},
2917
+ 0, 1, 2, 3), __v4sf);
2918
2918
  }
2919
2919
 
2920
2920
  /// Converts the lower four unsigned 8-bit integer values from a 64-bit
@@ -2930,15 +2930,12 @@ _mm_cvtpi8_ps(__m64 __a)
2930
2930
  /// operand.
2931
2931
  /// \returns A 128-bit vector of [4 x float] containing the copied and converted
2932
2932
  /// values from the source operand.
2933
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
2933
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2934
2934
  _mm_cvtpu8_ps(__m64 __a)
2935
2935
  {
2936
- __m64 __b;
2937
-
2938
- __b = _mm_setzero_si64();
2939
- __b = _mm_unpacklo_pi8(__a, __b);
2940
-
2941
- return _mm_cvtpi16_ps(__b);
2936
+ return __builtin_convertvector(
2937
+ __builtin_shufflevector((__v8qu)__a, __extension__ (__v8qu){},
2938
+ 0, 1, 2, 3), __v4sf);
2942
2939
  }
2943
2940
 
2944
2941
  /// Converts the two 32-bit signed integer values from each 64-bit vector
@@ -2957,16 +2954,12 @@ _mm_cvtpu8_ps(__m64 __a)
2957
2954
  /// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
2958
2955
  /// copied and converted values from the first operand. The upper 64 bits
2959
2956
  /// contain the copied and converted values from the second operand.
2960
- static __inline__ __m128 __DEFAULT_FN_ATTRS_MMX
2957
+ static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2961
2958
  _mm_cvtpi32x2_ps(__m64 __a, __m64 __b)
2962
2959
  {
2963
- __m128 __c;
2964
-
2965
- __c = _mm_setzero_ps();
2966
- __c = _mm_cvtpi32_ps(__c, __b);
2967
- __c = _mm_movelh_ps(__c, __c);
2968
-
2969
- return _mm_cvtpi32_ps(__c, __a);
2960
+ return __builtin_convertvector(
2961
+ __builtin_shufflevector((__v2si)__a, (__v2si)__b,
2962
+ 0, 1, 2, 3), __v4sf);
2970
2963
  }
2971
2964
 
2972
2965
  /// Converts each single-precision floating-point element of a 128-bit
@@ -2986,16 +2979,11 @@ _mm_cvtpi32x2_ps(__m64 __a, __m64 __b)
2986
2979
  /// A 128-bit floating-point vector of [4 x float].
2987
2980
  /// \returns A 64-bit integer vector of [4 x i16] containing the converted
2988
2981
  /// values.
2989
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
2982
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2990
2983
  _mm_cvtps_pi16(__m128 __a)
2991
2984
  {
2992
- __m64 __b, __c;
2993
-
2994
- __b = _mm_cvtps_pi32(__a);
2995
- __a = _mm_movehl_ps(__a, __a);
2996
- __c = _mm_cvtps_pi32(__a);
2997
-
2998
- return _mm_packs_pi32(__b, __c);
2985
+ return __trunc64(__builtin_ia32_packssdw128(
2986
+ (__v4si)__builtin_ia32_cvtps2dq((__v4sf)__a), (__v4si)_mm_setzero_ps()));
2999
2987
  }
3000
2988
 
3001
2989
  /// Converts each single-precision floating-point element of a 128-bit
@@ -3016,7 +3004,7 @@ _mm_cvtps_pi16(__m128 __a)
3016
3004
  /// 128-bit floating-point vector of [4 x float].
3017
3005
  /// \returns A 64-bit integer vector of [8 x i8]. The lower 32 bits contain the
3018
3006
  /// converted values and the uppper 32 bits are set to zero.
3019
- static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
3007
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
3020
3008
  _mm_cvtps_pi8(__m128 __a)
3021
3009
  {
3022
3010
  __m64 __b, __c;
@@ -3196,8 +3184,14 @@ do { \
3196
3184
  #define _m_psadbw _mm_sad_pu8
3197
3185
  #define _m_ _mm_
3198
3186
 
3187
+ #undef __trunc64
3188
+ #undef __zext128
3189
+ #undef __anyext128
3190
+ #undef __zeroupper64
3199
3191
  #undef __DEFAULT_FN_ATTRS
3200
- #undef __DEFAULT_FN_ATTRS_MMX
3192
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
3193
+ #undef __DEFAULT_FN_ATTRS_SSE2
3194
+ #undef __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
3201
3195
 
3202
3196
  /* Ugly hack for backwards-compatibility (compatible with gcc) */
3203
3197
  #if defined(__SSE2__) && !__building_module(_Builtin_intrinsics)