llvm-runtime-resources-darwin 0.0.0 → 22.1.8

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 (350) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +229 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +994 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +284 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +522 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_hip_cmath.h +848 -0
  14. package/include/__clang_hip_libdevice_declares.h +340 -0
  15. package/include/__clang_hip_math.h +1405 -0
  16. package/include/__clang_hip_runtime_wrapper.h +165 -0
  17. package/include/__clang_hip_stdlib.h +43 -0
  18. package/include/__clang_spirv_builtins.h +217 -0
  19. package/include/__float_float.h +176 -0
  20. package/include/__float_header_macro.h +12 -0
  21. package/include/__float_infinity_nan.h +20 -0
  22. package/include/__stdarg___gnuc_va_list.h +13 -0
  23. package/include/__stdarg___va_copy.h +12 -0
  24. package/include/__stdarg_header_macro.h +12 -0
  25. package/include/__stdarg_va_arg.h +22 -0
  26. package/include/__stdarg_va_copy.h +12 -0
  27. package/include/__stdarg_va_list.h +13 -0
  28. package/include/__stddef_header_macro.h +12 -0
  29. package/include/__stddef_max_align_t.h +27 -0
  30. package/include/__stddef_null.h +29 -0
  31. package/include/__stddef_nullptr_t.h +29 -0
  32. package/include/__stddef_offsetof.h +17 -0
  33. package/include/__stddef_ptrdiff_t.h +20 -0
  34. package/include/__stddef_rsize_t.h +20 -0
  35. package/include/__stddef_size_t.h +20 -0
  36. package/include/__stddef_unreachable.h +21 -0
  37. package/include/__stddef_wchar_t.h +28 -0
  38. package/include/__stddef_wint_t.h +15 -0
  39. package/include/__wmmintrin_aes.h +140 -0
  40. package/include/__wmmintrin_pclmul.h +48 -0
  41. package/include/adcintrin.h +165 -0
  42. package/include/adxintrin.h +107 -0
  43. package/include/altivec.h +19364 -0
  44. package/include/amdgpuintrin.h +191 -0
  45. package/include/ammintrin.h +183 -0
  46. package/include/amo.h +131 -0
  47. package/include/amxavx512intrin.h +596 -0
  48. package/include/amxcomplexintrin.h +167 -0
  49. package/include/amxfp16intrin.h +93 -0
  50. package/include/amxfp8intrin.h +230 -0
  51. package/include/amxintrin.h +492 -0
  52. package/include/amxmovrsintrin.h +48 -0
  53. package/include/amxtf32intrin.h +108 -0
  54. package/include/andes_vector.h +16 -0
  55. package/include/arm64intr.h +35 -0
  56. package/include/arm_acle.h +865 -0
  57. package/include/arm_bf16.h +20 -0
  58. package/include/arm_cde.h +410 -0
  59. package/include/arm_cmse.h +217 -0
  60. package/include/arm_fp16.h +596 -0
  61. package/include/arm_mve.h +19187 -0
  62. package/include/arm_neon.h +74183 -0
  63. package/include/arm_neon_sve_bridge.h +182 -0
  64. package/include/arm_sme.h +3741 -0
  65. package/include/arm_sve.h +32278 -0
  66. package/include/arm_vector_types.h +432 -0
  67. package/include/armintr.h +31 -0
  68. package/include/avx10_2_512bf16intrin.h +568 -0
  69. package/include/avx10_2_512convertintrin.h +322 -0
  70. package/include/avx10_2_512minmaxintrin.h +127 -0
  71. package/include/avx10_2_512niintrin.h +314 -0
  72. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  73. package/include/avx10_2_512satcvtintrin.h +301 -0
  74. package/include/avx10_2bf16intrin.h +1094 -0
  75. package/include/avx10_2convertintrin.h +3257 -0
  76. package/include/avx10_2copyintrin.h +66 -0
  77. package/include/avx10_2minmaxintrin.h +232 -0
  78. package/include/avx10_2niintrin.h +409 -0
  79. package/include/avx10_2satcvtdsintrin.h +376 -0
  80. package/include/avx10_2satcvtintrin.h +312 -0
  81. package/include/avx2intrin.h +5191 -0
  82. package/include/avx512bf16intrin.h +292 -0
  83. package/include/avx512bitalgintrin.h +75 -0
  84. package/include/avx512bwintrin.h +1895 -0
  85. package/include/avx512cdintrin.h +112 -0
  86. package/include/avx512dqintrin.h +1350 -0
  87. package/include/avx512fintrin.h +9378 -0
  88. package/include/avx512fp16intrin.h +3355 -0
  89. package/include/avx512ifmaintrin.h +68 -0
  90. package/include/avx512ifmavlintrin.h +138 -0
  91. package/include/avx512vbmi2intrin.h +368 -0
  92. package/include/avx512vbmiintrin.h +98 -0
  93. package/include/avx512vbmivlintrin.h +179 -0
  94. package/include/avx512vlbf16intrin.h +527 -0
  95. package/include/avx512vlbitalgintrin.h +135 -0
  96. package/include/avx512vlbwintrin.h +3064 -0
  97. package/include/avx512vlcdintrin.h +202 -0
  98. package/include/avx512vldqintrin.h +1156 -0
  99. package/include/avx512vlfp16intrin.h +2090 -0
  100. package/include/avx512vlintrin.h +8083 -0
  101. package/include/avx512vlvbmi2intrin.h +710 -0
  102. package/include/avx512vlvnniintrin.h +313 -0
  103. package/include/avx512vlvp2intersectintrin.h +123 -0
  104. package/include/avx512vnniintrin.h +116 -0
  105. package/include/avx512vp2intersectintrin.h +77 -0
  106. package/include/avx512vpopcntdqintrin.h +62 -0
  107. package/include/avx512vpopcntdqvlintrin.h +105 -0
  108. package/include/avxifmaintrin.h +193 -0
  109. package/include/avxintrin.h +5064 -0
  110. package/include/avxneconvertintrin.h +484 -0
  111. package/include/avxvnniint16intrin.h +451 -0
  112. package/include/avxvnniint8intrin.h +454 -0
  113. package/include/avxvnniintrin.h +233 -0
  114. package/include/bmi2intrin.h +253 -0
  115. package/include/bmiintrin.h +604 -0
  116. package/include/builtins.h +19 -0
  117. package/include/cet.h +66 -0
  118. package/include/cetintrin.h +115 -0
  119. package/include/cldemoteintrin.h +36 -0
  120. package/include/clflushoptintrin.h +36 -0
  121. package/include/clwbintrin.h +38 -0
  122. package/include/clzerointrin.h +38 -0
  123. package/include/cmpccxaddintrin.h +70 -0
  124. package/include/cpuid.h +451 -0
  125. package/include/crc32intrin.h +100 -0
  126. package/include/cuda_wrappers/__utility/declval.h +28 -0
  127. package/include/cuda_wrappers/algorithm +116 -0
  128. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  129. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  130. package/include/cuda_wrappers/bits/c++config.h +61 -0
  131. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  132. package/include/cuda_wrappers/cmath +44 -0
  133. package/include/cuda_wrappers/complex +90 -0
  134. package/include/cuda_wrappers/new +108 -0
  135. package/include/emmintrin.h +4940 -0
  136. package/include/enqcmdintrin.h +63 -0
  137. package/include/f16cintrin.h +176 -0
  138. package/include/float.h +48 -0
  139. package/include/fma4intrin.h +220 -0
  140. package/include/fmaintrin.h +826 -0
  141. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  142. package/include/fxsrintrin.h +91 -0
  143. package/include/gfniintrin.h +238 -0
  144. package/include/gpuintrin.h +330 -0
  145. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  146. package/include/hexagon_protos.h +8439 -0
  147. package/include/hexagon_types.h +2628 -0
  148. package/include/hresetintrin.h +49 -0
  149. package/include/htmintrin.h +212 -0
  150. package/include/htmxlintrin.h +345 -0
  151. package/include/hvx_hexagon_protos.h +5399 -0
  152. package/include/ia32intrin.h +863 -0
  153. package/include/immintrin.h +595 -0
  154. package/include/intrin.h +491 -0
  155. package/include/intrin0.h +256 -0
  156. package/include/inttypes.h +101 -0
  157. package/include/invpcidintrin.h +23 -0
  158. package/include/iso646.h +31 -0
  159. package/include/keylockerintrin.h +518 -0
  160. package/include/larchintrin.h +260 -0
  161. package/include/lasxintrin.h +3999 -0
  162. package/include/limits.h +133 -0
  163. package/include/llvm_libc_wrappers/assert.h +32 -0
  164. package/include/llvm_libc_wrappers/ctype.h +28 -0
  165. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  166. package/include/llvm_libc_wrappers/stdio.h +52 -0
  167. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  168. package/include/llvm_libc_wrappers/string.h +28 -0
  169. package/include/llvm_libc_wrappers/time.h +28 -0
  170. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  171. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  172. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  173. package/include/lsxintrin.h +3752 -0
  174. package/include/lwpintrin.h +136 -0
  175. package/include/lzcntintrin.h +109 -0
  176. package/include/mm3dnow.h +22 -0
  177. package/include/mm_malloc.h +67 -0
  178. package/include/mmintrin.h +1541 -0
  179. package/include/module.modulemap +360 -0
  180. package/include/movdirintrin.h +49 -0
  181. package/include/movrs_avx10_2_512intrin.h +98 -0
  182. package/include/movrs_avx10_2intrin.h +174 -0
  183. package/include/movrsintrin.h +59 -0
  184. package/include/msa.h +573 -0
  185. package/include/mwaitxintrin.h +62 -0
  186. package/include/nmmintrin.h +20 -0
  187. package/include/nvptxintrin.h +219 -0
  188. package/include/opencl-c-base.h +758 -0
  189. package/include/opencl-c.h +18676 -0
  190. package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
  191. package/include/openmp_wrappers/cmath +132 -0
  192. package/include/openmp_wrappers/complex +55 -0
  193. package/include/openmp_wrappers/complex.h +35 -0
  194. package/include/openmp_wrappers/complex_cmath.h +393 -0
  195. package/include/openmp_wrappers/math.h +61 -0
  196. package/include/openmp_wrappers/new +48 -0
  197. package/include/pconfigintrin.h +40 -0
  198. package/include/pkuintrin.h +34 -0
  199. package/include/pmmintrin.h +302 -0
  200. package/include/popcntintrin.h +59 -0
  201. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  202. package/include/ppc_wrappers/bmiintrin.h +165 -0
  203. package/include/ppc_wrappers/emmintrin.h +2269 -0
  204. package/include/ppc_wrappers/immintrin.h +27 -0
  205. package/include/ppc_wrappers/mm_malloc.h +45 -0
  206. package/include/ppc_wrappers/mmintrin.h +1453 -0
  207. package/include/ppc_wrappers/nmmintrin.h +26 -0
  208. package/include/ppc_wrappers/pmmintrin.h +145 -0
  209. package/include/ppc_wrappers/smmintrin.h +683 -0
  210. package/include/ppc_wrappers/tmmintrin.h +453 -0
  211. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  212. package/include/ppc_wrappers/x86intrin.h +28 -0
  213. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  214. package/include/prfchiintrin.h +61 -0
  215. package/include/prfchwintrin.h +57 -0
  216. package/include/profile/InstrProfData.inc +1001 -0
  217. package/include/profile/instr_prof_interface.h +88 -0
  218. package/include/ptrauth.h +407 -0
  219. package/include/ptwriteintrin.h +37 -0
  220. package/include/raointintrin.h +203 -0
  221. package/include/rdpruintrin.h +57 -0
  222. package/include/rdseedintrin.h +105 -0
  223. package/include/riscv_bitmanip.h +195 -0
  224. package/include/riscv_corev_alu.h +128 -0
  225. package/include/riscv_crypto.h +170 -0
  226. package/include/riscv_mips.h +34 -0
  227. package/include/riscv_nds.h +89 -0
  228. package/include/riscv_ntlh.h +26 -0
  229. package/include/riscv_vector.h +422 -0
  230. package/include/rtmintrin.h +45 -0
  231. package/include/s390intrin.h +25 -0
  232. package/include/sanitizer/allocator_interface.h +106 -0
  233. package/include/sanitizer/asan_interface.h +348 -0
  234. package/include/sanitizer/common_interface_defs.h +544 -0
  235. package/include/sanitizer/coverage_interface.h +36 -0
  236. package/include/sanitizer/dfsan_interface.h +220 -0
  237. package/include/sanitizer/hwasan_interface.h +109 -0
  238. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  239. package/include/sanitizer/lsan_interface.h +89 -0
  240. package/include/sanitizer/msan_interface.h +135 -0
  241. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  242. package/include/sanitizer/rtsan_interface.h +75 -0
  243. package/include/sanitizer/scudo_interface.h +38 -0
  244. package/include/sanitizer/tsan_interface.h +316 -0
  245. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  246. package/include/sanitizer/ubsan_interface.h +34 -0
  247. package/include/serializeintrin.h +30 -0
  248. package/include/sgxintrin.h +60 -0
  249. package/include/sha512intrin.h +200 -0
  250. package/include/shaintrin.h +190 -0
  251. package/include/sifive_vector.h +174 -0
  252. package/include/sm3intrin.h +238 -0
  253. package/include/sm4evexintrin.h +32 -0
  254. package/include/sm4intrin.h +269 -0
  255. package/include/smmintrin.h +2352 -0
  256. package/include/spirvintrin.h +194 -0
  257. package/include/stdalign.h +24 -0
  258. package/include/stdarg.h +75 -0
  259. package/include/stdatomic.h +204 -0
  260. package/include/stdbool.h +39 -0
  261. package/include/stdckdint.h +42 -0
  262. package/include/stdcountof.h +15 -0
  263. package/include/stddef.h +139 -0
  264. package/include/stddefer.h +19 -0
  265. package/include/stdint.h +844 -0
  266. package/include/stdnoreturn.h +35 -0
  267. package/include/tbmintrin.h +128 -0
  268. package/include/tgmath.h +1368 -0
  269. package/include/tmmintrin.h +779 -0
  270. package/include/tsxldtrkintrin.h +56 -0
  271. package/include/uintrintrin.h +157 -0
  272. package/include/unwind.h +332 -0
  273. package/include/usermsrintrin.h +51 -0
  274. package/include/vadefs.h +51 -0
  275. package/include/vaesintrin.h +86 -0
  276. package/include/varargs.h +16 -0
  277. package/include/vecintrin.h +12868 -0
  278. package/include/velintrin.h +71 -0
  279. package/include/velintrin_approx.h +120 -0
  280. package/include/velintrin_gen.h +1257 -0
  281. package/include/vpclmulqdqintrin.h +30 -0
  282. package/include/waitpkgintrin.h +42 -0
  283. package/include/wasm_simd128.h +2143 -0
  284. package/include/wbnoinvdintrin.h +24 -0
  285. package/include/wmmintrin.h +23 -0
  286. package/include/x86gprintrin.h +49 -0
  287. package/include/x86intrin.h +35 -0
  288. package/include/xmmintrin.h +3175 -0
  289. package/include/xopintrin.h +780 -0
  290. package/include/xsavecintrin.h +84 -0
  291. package/include/xsaveintrin.h +63 -0
  292. package/include/xsaveoptintrin.h +34 -0
  293. package/include/xsavesintrin.h +44 -0
  294. package/include/xtestintrin.h +27 -0
  295. package/include/yvals_core.h +25 -0
  296. package/include/zos_wrappers/builtins.h +18 -0
  297. package/index.js +5 -0
  298. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  299. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  300. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  301. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  302. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  303. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  304. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  305. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  306. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  307. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  308. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  309. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  310. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  311. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  312. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  313. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  314. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  315. package/lib/darwin/libclang_rt.ios.a +0 -0
  316. package/lib/darwin/libclang_rt.iossim.a +0 -0
  317. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  318. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  319. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  320. package/lib/darwin/libclang_rt.osx.a +0 -0
  321. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  322. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  323. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  324. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  327. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  329. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  330. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  331. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  332. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  333. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  334. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  335. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  336. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  337. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  338. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  339. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  342. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  343. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  344. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  345. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  348. package/package.json +40 -1
  349. package/share/asan_ignorelist.txt +14 -0
  350. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,1156 @@
1
+ /*===---- avx512vldqintrin.h - AVX512VL and AVX512DQ intrinsics ------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __IMMINTRIN_H
11
+ #error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVX512VLDQINTRIN_H
15
+ #define __AVX512VLDQINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS128 \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx512vl,avx512dq"), __min_vector_width__(128)))
21
+ #define __DEFAULT_FN_ATTRS256 \
22
+ __attribute__((__always_inline__, __nodebug__, \
23
+ __target__("avx512vl,avx512dq"), __min_vector_width__(256)))
24
+
25
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
26
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
27
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
28
+ #else
29
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
30
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
31
+ #endif
32
+
33
+ static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
34
+ _mm256_mullo_epi64(__m256i __A, __m256i __B) {
35
+ return (__m256i) ((__v4du) __A * (__v4du) __B);
36
+ }
37
+
38
+ static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
39
+ _mm256_mask_mullo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
40
+ return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
41
+ (__v4di)_mm256_mullo_epi64(__A, __B),
42
+ (__v4di)__W);
43
+ }
44
+
45
+ static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
46
+ _mm256_maskz_mullo_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
47
+ return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
48
+ (__v4di)_mm256_mullo_epi64(__A, __B),
49
+ (__v4di)_mm256_setzero_si256());
50
+ }
51
+
52
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
53
+ _mm_mullo_epi64(__m128i __A, __m128i __B) {
54
+ return (__m128i) ((__v2du) __A * (__v2du) __B);
55
+ }
56
+
57
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
58
+ _mm_mask_mullo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
59
+ return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
60
+ (__v2di)_mm_mullo_epi64(__A, __B),
61
+ (__v2di)__W);
62
+ }
63
+
64
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
65
+ _mm_maskz_mullo_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
66
+ return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
67
+ (__v2di)_mm_mullo_epi64(__A, __B),
68
+ (__v2di)_mm_setzero_si128());
69
+ }
70
+
71
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
72
+ _mm256_mask_andnot_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
73
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
74
+ (__v4df)_mm256_andnot_pd(__A, __B),
75
+ (__v4df)__W);
76
+ }
77
+
78
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
79
+ _mm256_maskz_andnot_pd(__mmask8 __U, __m256d __A, __m256d __B) {
80
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
81
+ (__v4df)_mm256_andnot_pd(__A, __B),
82
+ (__v4df)_mm256_setzero_pd());
83
+ }
84
+
85
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
86
+ _mm_mask_andnot_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
87
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
88
+ (__v2df)_mm_andnot_pd(__A, __B),
89
+ (__v2df)__W);
90
+ }
91
+
92
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
93
+ _mm_maskz_andnot_pd(__mmask8 __U, __m128d __A, __m128d __B) {
94
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
95
+ (__v2df)_mm_andnot_pd(__A, __B),
96
+ (__v2df)_mm_setzero_pd());
97
+ }
98
+
99
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
100
+ _mm256_mask_andnot_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
101
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
102
+ (__v8sf)_mm256_andnot_ps(__A, __B),
103
+ (__v8sf)__W);
104
+ }
105
+
106
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
107
+ _mm256_maskz_andnot_ps(__mmask8 __U, __m256 __A, __m256 __B) {
108
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
109
+ (__v8sf)_mm256_andnot_ps(__A, __B),
110
+ (__v8sf)_mm256_setzero_ps());
111
+ }
112
+
113
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
114
+ _mm_mask_andnot_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
115
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
116
+ (__v4sf)_mm_andnot_ps(__A, __B),
117
+ (__v4sf)__W);
118
+ }
119
+
120
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
121
+ _mm_maskz_andnot_ps(__mmask8 __U, __m128 __A, __m128 __B) {
122
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
123
+ (__v4sf)_mm_andnot_ps(__A, __B),
124
+ (__v4sf)_mm_setzero_ps());
125
+ }
126
+
127
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
128
+ _mm256_mask_and_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
129
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
130
+ (__v4df)_mm256_and_pd(__A, __B),
131
+ (__v4df)__W);
132
+ }
133
+
134
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
135
+ _mm256_maskz_and_pd(__mmask8 __U, __m256d __A, __m256d __B) {
136
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
137
+ (__v4df)_mm256_and_pd(__A, __B),
138
+ (__v4df)_mm256_setzero_pd());
139
+ }
140
+
141
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
142
+ _mm_mask_and_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
143
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
144
+ (__v2df)_mm_and_pd(__A, __B),
145
+ (__v2df)__W);
146
+ }
147
+
148
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
149
+ _mm_maskz_and_pd(__mmask8 __U, __m128d __A, __m128d __B) {
150
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
151
+ (__v2df)_mm_and_pd(__A, __B),
152
+ (__v2df)_mm_setzero_pd());
153
+ }
154
+
155
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
156
+ _mm256_mask_and_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
157
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
158
+ (__v8sf)_mm256_and_ps(__A, __B),
159
+ (__v8sf)__W);
160
+ }
161
+
162
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
163
+ _mm256_maskz_and_ps(__mmask8 __U, __m256 __A, __m256 __B) {
164
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
165
+ (__v8sf)_mm256_and_ps(__A, __B),
166
+ (__v8sf)_mm256_setzero_ps());
167
+ }
168
+
169
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
170
+ _mm_mask_and_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
171
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
172
+ (__v4sf)_mm_and_ps(__A, __B),
173
+ (__v4sf)__W);
174
+ }
175
+
176
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
177
+ _mm_maskz_and_ps(__mmask8 __U, __m128 __A, __m128 __B) {
178
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
179
+ (__v4sf)_mm_and_ps(__A, __B),
180
+ (__v4sf)_mm_setzero_ps());
181
+ }
182
+
183
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
184
+ _mm256_mask_xor_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
185
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
186
+ (__v4df)_mm256_xor_pd(__A, __B),
187
+ (__v4df)__W);
188
+ }
189
+
190
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
191
+ _mm256_maskz_xor_pd(__mmask8 __U, __m256d __A, __m256d __B) {
192
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
193
+ (__v4df)_mm256_xor_pd(__A, __B),
194
+ (__v4df)_mm256_setzero_pd());
195
+ }
196
+
197
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
198
+ _mm_mask_xor_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
199
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
200
+ (__v2df)_mm_xor_pd(__A, __B),
201
+ (__v2df)__W);
202
+ }
203
+
204
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
205
+ _mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) {
206
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
207
+ (__v2df)_mm_xor_pd(__A, __B),
208
+ (__v2df)_mm_setzero_pd());
209
+ }
210
+
211
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
212
+ _mm256_mask_xor_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
213
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
214
+ (__v8sf)_mm256_xor_ps(__A, __B),
215
+ (__v8sf)__W);
216
+ }
217
+
218
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
219
+ _mm256_maskz_xor_ps(__mmask8 __U, __m256 __A, __m256 __B) {
220
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
221
+ (__v8sf)_mm256_xor_ps(__A, __B),
222
+ (__v8sf)_mm256_setzero_ps());
223
+ }
224
+
225
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
226
+ _mm_mask_xor_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
227
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
228
+ (__v4sf)_mm_xor_ps(__A, __B),
229
+ (__v4sf)__W);
230
+ }
231
+
232
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
233
+ _mm_maskz_xor_ps(__mmask8 __U, __m128 __A, __m128 __B) {
234
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
235
+ (__v4sf)_mm_xor_ps(__A, __B),
236
+ (__v4sf)_mm_setzero_ps());
237
+ }
238
+
239
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
240
+ _mm256_mask_or_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
241
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
242
+ (__v4df)_mm256_or_pd(__A, __B),
243
+ (__v4df)__W);
244
+ }
245
+
246
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
247
+ _mm256_maskz_or_pd(__mmask8 __U, __m256d __A, __m256d __B) {
248
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
249
+ (__v4df)_mm256_or_pd(__A, __B),
250
+ (__v4df)_mm256_setzero_pd());
251
+ }
252
+
253
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
254
+ _mm_mask_or_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
255
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
256
+ (__v2df)_mm_or_pd(__A, __B),
257
+ (__v2df)__W);
258
+ }
259
+
260
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
261
+ _mm_maskz_or_pd(__mmask8 __U, __m128d __A, __m128d __B) {
262
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
263
+ (__v2df)_mm_or_pd(__A, __B),
264
+ (__v2df)_mm_setzero_pd());
265
+ }
266
+
267
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
268
+ _mm256_mask_or_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
269
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
270
+ (__v8sf)_mm256_or_ps(__A, __B),
271
+ (__v8sf)__W);
272
+ }
273
+
274
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
275
+ _mm256_maskz_or_ps(__mmask8 __U, __m256 __A, __m256 __B) {
276
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
277
+ (__v8sf)_mm256_or_ps(__A, __B),
278
+ (__v8sf)_mm256_setzero_ps());
279
+ }
280
+
281
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
282
+ _mm_mask_or_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
283
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
284
+ (__v4sf)_mm_or_ps(__A, __B),
285
+ (__v4sf)__W);
286
+ }
287
+
288
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
289
+ _mm_maskz_or_ps(__mmask8 __U, __m128 __A, __m128 __B) {
290
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
291
+ (__v4sf)_mm_or_ps(__A, __B),
292
+ (__v4sf)_mm_setzero_ps());
293
+ }
294
+
295
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
296
+ _mm_cvtpd_epi64 (__m128d __A) {
297
+ return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
298
+ (__v2di) _mm_setzero_si128(),
299
+ (__mmask8) -1);
300
+ }
301
+
302
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
303
+ _mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
304
+ return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
305
+ (__v2di) __W,
306
+ (__mmask8) __U);
307
+ }
308
+
309
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
310
+ _mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) {
311
+ return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
312
+ (__v2di) _mm_setzero_si128(),
313
+ (__mmask8) __U);
314
+ }
315
+
316
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
317
+ _mm256_cvtpd_epi64 (__m256d __A) {
318
+ return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
319
+ (__v4di) _mm256_setzero_si256(),
320
+ (__mmask8) -1);
321
+ }
322
+
323
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
324
+ _mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
325
+ return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
326
+ (__v4di) __W,
327
+ (__mmask8) __U);
328
+ }
329
+
330
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
331
+ _mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) {
332
+ return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
333
+ (__v4di) _mm256_setzero_si256(),
334
+ (__mmask8) __U);
335
+ }
336
+
337
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
338
+ _mm_cvtpd_epu64 (__m128d __A) {
339
+ return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
340
+ (__v2di) _mm_setzero_si128(),
341
+ (__mmask8) -1);
342
+ }
343
+
344
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
345
+ _mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
346
+ return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
347
+ (__v2di) __W,
348
+ (__mmask8) __U);
349
+ }
350
+
351
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
352
+ _mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) {
353
+ return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
354
+ (__v2di) _mm_setzero_si128(),
355
+ (__mmask8) __U);
356
+ }
357
+
358
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
359
+ _mm256_cvtpd_epu64 (__m256d __A) {
360
+ return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
361
+ (__v4di) _mm256_setzero_si256(),
362
+ (__mmask8) -1);
363
+ }
364
+
365
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
366
+ _mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
367
+ return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
368
+ (__v4di) __W,
369
+ (__mmask8) __U);
370
+ }
371
+
372
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
373
+ _mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) {
374
+ return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
375
+ (__v4di) _mm256_setzero_si256(),
376
+ (__mmask8) __U);
377
+ }
378
+
379
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
380
+ _mm_cvtps_epi64 (__m128 __A) {
381
+ return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
382
+ (__v2di) _mm_setzero_si128(),
383
+ (__mmask8) -1);
384
+ }
385
+
386
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
387
+ _mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
388
+ return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
389
+ (__v2di) __W,
390
+ (__mmask8) __U);
391
+ }
392
+
393
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
394
+ _mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
395
+ return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
396
+ (__v2di) _mm_setzero_si128(),
397
+ (__mmask8) __U);
398
+ }
399
+
400
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
401
+ _mm256_cvtps_epi64 (__m128 __A) {
402
+ return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
403
+ (__v4di) _mm256_setzero_si256(),
404
+ (__mmask8) -1);
405
+ }
406
+
407
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
408
+ _mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
409
+ return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
410
+ (__v4di) __W,
411
+ (__mmask8) __U);
412
+ }
413
+
414
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
415
+ _mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
416
+ return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
417
+ (__v4di) _mm256_setzero_si256(),
418
+ (__mmask8) __U);
419
+ }
420
+
421
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
422
+ _mm_cvtps_epu64 (__m128 __A) {
423
+ return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
424
+ (__v2di) _mm_setzero_si128(),
425
+ (__mmask8) -1);
426
+ }
427
+
428
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
429
+ _mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
430
+ return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
431
+ (__v2di) __W,
432
+ (__mmask8) __U);
433
+ }
434
+
435
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
436
+ _mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
437
+ return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
438
+ (__v2di) _mm_setzero_si128(),
439
+ (__mmask8) __U);
440
+ }
441
+
442
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
443
+ _mm256_cvtps_epu64 (__m128 __A) {
444
+ return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
445
+ (__v4di) _mm256_setzero_si256(),
446
+ (__mmask8) -1);
447
+ }
448
+
449
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
450
+ _mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
451
+ return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
452
+ (__v4di) __W,
453
+ (__mmask8) __U);
454
+ }
455
+
456
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
457
+ _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
458
+ return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
459
+ (__v4di) _mm256_setzero_si256(),
460
+ (__mmask8) __U);
461
+ }
462
+
463
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
464
+ _mm_cvtepi64_pd(__m128i __A) {
465
+ return (__m128d)__builtin_convertvector((__v2di)__A, __v2df);
466
+ }
467
+
468
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
469
+ _mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
470
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
471
+ (__v2df)_mm_cvtepi64_pd(__A),
472
+ (__v2df)__W);
473
+ }
474
+
475
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
476
+ _mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i __A) {
477
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
478
+ (__v2df)_mm_cvtepi64_pd(__A),
479
+ (__v2df)_mm_setzero_pd());
480
+ }
481
+
482
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
483
+ _mm256_cvtepi64_pd(__m256i __A) {
484
+ return (__m256d)__builtin_convertvector((__v4di)__A, __v4df);
485
+ }
486
+
487
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
488
+ _mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
489
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
490
+ (__v4df)_mm256_cvtepi64_pd(__A),
491
+ (__v4df)__W);
492
+ }
493
+
494
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
495
+ _mm256_maskz_cvtepi64_pd(__mmask8 __U, __m256i __A) {
496
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
497
+ (__v4df)_mm256_cvtepi64_pd(__A),
498
+ (__v4df)_mm256_setzero_pd());
499
+ }
500
+
501
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
502
+ _mm_cvtepi64_ps (__m128i __A) {
503
+ return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
504
+ (__v4sf) _mm_setzero_ps(),
505
+ (__mmask8) -1);
506
+ }
507
+
508
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
509
+ _mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
510
+ return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
511
+ (__v4sf) __W,
512
+ (__mmask8) __U);
513
+ }
514
+
515
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
516
+ _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
517
+ return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
518
+ (__v4sf) _mm_setzero_ps(),
519
+ (__mmask8) __U);
520
+ }
521
+
522
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
523
+ _mm256_cvtepi64_ps(__m256i __A) {
524
+ return (__m128)__builtin_convertvector((__v4di)__A, __v4sf);
525
+ }
526
+
527
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
528
+ _mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
529
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
530
+ (__v4sf)_mm256_cvtepi64_ps(__A),
531
+ (__v4sf)__W);
532
+ }
533
+
534
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
535
+ _mm256_maskz_cvtepi64_ps(__mmask8 __U, __m256i __A) {
536
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
537
+ (__v4sf)_mm256_cvtepi64_ps(__A),
538
+ (__v4sf)_mm_setzero_ps());
539
+ }
540
+
541
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
542
+ _mm_cvttpd_epi64 (__m128d __A) {
543
+ return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
544
+ (__v2di) _mm_setzero_si128(),
545
+ (__mmask8) -1);
546
+ }
547
+
548
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
549
+ _mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
550
+ return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
551
+ (__v2di) __W,
552
+ (__mmask8) __U);
553
+ }
554
+
555
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
556
+ _mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) {
557
+ return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
558
+ (__v2di) _mm_setzero_si128(),
559
+ (__mmask8) __U);
560
+ }
561
+
562
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
563
+ _mm256_cvttpd_epi64 (__m256d __A) {
564
+ return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
565
+ (__v4di) _mm256_setzero_si256(),
566
+ (__mmask8) -1);
567
+ }
568
+
569
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
570
+ _mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
571
+ return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
572
+ (__v4di) __W,
573
+ (__mmask8) __U);
574
+ }
575
+
576
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
577
+ _mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) {
578
+ return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
579
+ (__v4di) _mm256_setzero_si256(),
580
+ (__mmask8) __U);
581
+ }
582
+
583
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
584
+ _mm_cvttpd_epu64 (__m128d __A) {
585
+ return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
586
+ (__v2di) _mm_setzero_si128(),
587
+ (__mmask8) -1);
588
+ }
589
+
590
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
591
+ _mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
592
+ return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
593
+ (__v2di) __W,
594
+ (__mmask8) __U);
595
+ }
596
+
597
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
598
+ _mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) {
599
+ return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
600
+ (__v2di) _mm_setzero_si128(),
601
+ (__mmask8) __U);
602
+ }
603
+
604
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
605
+ _mm256_cvttpd_epu64 (__m256d __A) {
606
+ return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
607
+ (__v4di) _mm256_setzero_si256(),
608
+ (__mmask8) -1);
609
+ }
610
+
611
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
612
+ _mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
613
+ return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
614
+ (__v4di) __W,
615
+ (__mmask8) __U);
616
+ }
617
+
618
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
619
+ _mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) {
620
+ return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
621
+ (__v4di) _mm256_setzero_si256(),
622
+ (__mmask8) __U);
623
+ }
624
+
625
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
626
+ _mm_cvttps_epi64 (__m128 __A) {
627
+ return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
628
+ (__v2di) _mm_setzero_si128(),
629
+ (__mmask8) -1);
630
+ }
631
+
632
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
633
+ _mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
634
+ return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
635
+ (__v2di) __W,
636
+ (__mmask8) __U);
637
+ }
638
+
639
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
640
+ _mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
641
+ return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
642
+ (__v2di) _mm_setzero_si128(),
643
+ (__mmask8) __U);
644
+ }
645
+
646
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
647
+ _mm256_cvttps_epi64 (__m128 __A) {
648
+ return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
649
+ (__v4di) _mm256_setzero_si256(),
650
+ (__mmask8) -1);
651
+ }
652
+
653
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
654
+ _mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
655
+ return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
656
+ (__v4di) __W,
657
+ (__mmask8) __U);
658
+ }
659
+
660
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
661
+ _mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
662
+ return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
663
+ (__v4di) _mm256_setzero_si256(),
664
+ (__mmask8) __U);
665
+ }
666
+
667
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
668
+ _mm_cvttps_epu64 (__m128 __A) {
669
+ return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
670
+ (__v2di) _mm_setzero_si128(),
671
+ (__mmask8) -1);
672
+ }
673
+
674
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
675
+ _mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
676
+ return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
677
+ (__v2di) __W,
678
+ (__mmask8) __U);
679
+ }
680
+
681
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
682
+ _mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
683
+ return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
684
+ (__v2di) _mm_setzero_si128(),
685
+ (__mmask8) __U);
686
+ }
687
+
688
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
689
+ _mm256_cvttps_epu64 (__m128 __A) {
690
+ return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
691
+ (__v4di) _mm256_setzero_si256(),
692
+ (__mmask8) -1);
693
+ }
694
+
695
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
696
+ _mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
697
+ return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
698
+ (__v4di) __W,
699
+ (__mmask8) __U);
700
+ }
701
+
702
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
703
+ _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
704
+ return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
705
+ (__v4di) _mm256_setzero_si256(),
706
+ (__mmask8) __U);
707
+ }
708
+
709
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
710
+ _mm_cvtepu64_pd(__m128i __A) {
711
+ return (__m128d)__builtin_convertvector((__v2du)__A, __v2df);
712
+ }
713
+
714
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
715
+ _mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
716
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
717
+ (__v2df)_mm_cvtepu64_pd(__A),
718
+ (__v2df)__W);
719
+ }
720
+
721
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
722
+ _mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i __A) {
723
+ return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
724
+ (__v2df)_mm_cvtepu64_pd(__A),
725
+ (__v2df)_mm_setzero_pd());
726
+ }
727
+
728
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
729
+ _mm256_cvtepu64_pd(__m256i __A) {
730
+ return (__m256d)__builtin_convertvector((__v4du)__A, __v4df);
731
+ }
732
+
733
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
734
+ _mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
735
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
736
+ (__v4df)_mm256_cvtepu64_pd(__A),
737
+ (__v4df)__W);
738
+ }
739
+
740
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
741
+ _mm256_maskz_cvtepu64_pd(__mmask8 __U, __m256i __A) {
742
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
743
+ (__v4df)_mm256_cvtepu64_pd(__A),
744
+ (__v4df)_mm256_setzero_pd());
745
+ }
746
+
747
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
748
+ _mm_cvtepu64_ps (__m128i __A) {
749
+ return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
750
+ (__v4sf) _mm_setzero_ps(),
751
+ (__mmask8) -1);
752
+ }
753
+
754
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
755
+ _mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
756
+ return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
757
+ (__v4sf) __W,
758
+ (__mmask8) __U);
759
+ }
760
+
761
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
762
+ _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
763
+ return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
764
+ (__v4sf) _mm_setzero_ps(),
765
+ (__mmask8) __U);
766
+ }
767
+
768
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
769
+ _mm256_cvtepu64_ps(__m256i __A) {
770
+ return (__m128)__builtin_convertvector((__v4du)__A, __v4sf);
771
+ }
772
+
773
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
774
+ _mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
775
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
776
+ (__v4sf)_mm256_cvtepu64_ps(__A),
777
+ (__v4sf)__W);
778
+ }
779
+
780
+ static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
781
+ _mm256_maskz_cvtepu64_ps(__mmask8 __U, __m256i __A) {
782
+ return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
783
+ (__v4sf)_mm256_cvtepu64_ps(__A),
784
+ (__v4sf)_mm_setzero_ps());
785
+ }
786
+
787
+ #define _mm_range_pd(A, B, C) \
788
+ ((__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
789
+ (__v2df)(__m128d)(B), (int)(C), \
790
+ (__v2df)_mm_setzero_pd(), \
791
+ (__mmask8)-1))
792
+
793
+ #define _mm_mask_range_pd(W, U, A, B, C) \
794
+ ((__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
795
+ (__v2df)(__m128d)(B), (int)(C), \
796
+ (__v2df)(__m128d)(W), \
797
+ (__mmask8)(U)))
798
+
799
+ #define _mm_maskz_range_pd(U, A, B, C) \
800
+ ((__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
801
+ (__v2df)(__m128d)(B), (int)(C), \
802
+ (__v2df)_mm_setzero_pd(), \
803
+ (__mmask8)(U)))
804
+
805
+ #define _mm256_range_pd(A, B, C) \
806
+ ((__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
807
+ (__v4df)(__m256d)(B), (int)(C), \
808
+ (__v4df)_mm256_setzero_pd(), \
809
+ (__mmask8)-1))
810
+
811
+ #define _mm256_mask_range_pd(W, U, A, B, C) \
812
+ ((__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
813
+ (__v4df)(__m256d)(B), (int)(C), \
814
+ (__v4df)(__m256d)(W), \
815
+ (__mmask8)(U)))
816
+
817
+ #define _mm256_maskz_range_pd(U, A, B, C) \
818
+ ((__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
819
+ (__v4df)(__m256d)(B), (int)(C), \
820
+ (__v4df)_mm256_setzero_pd(), \
821
+ (__mmask8)(U)))
822
+
823
+ #define _mm_range_ps(A, B, C) \
824
+ ((__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
825
+ (__v4sf)(__m128)(B), (int)(C), \
826
+ (__v4sf)_mm_setzero_ps(), \
827
+ (__mmask8)-1))
828
+
829
+ #define _mm_mask_range_ps(W, U, A, B, C) \
830
+ ((__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
831
+ (__v4sf)(__m128)(B), (int)(C), \
832
+ (__v4sf)(__m128)(W), (__mmask8)(U)))
833
+
834
+ #define _mm_maskz_range_ps(U, A, B, C) \
835
+ ((__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
836
+ (__v4sf)(__m128)(B), (int)(C), \
837
+ (__v4sf)_mm_setzero_ps(), \
838
+ (__mmask8)(U)))
839
+
840
+ #define _mm256_range_ps(A, B, C) \
841
+ ((__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
842
+ (__v8sf)(__m256)(B), (int)(C), \
843
+ (__v8sf)_mm256_setzero_ps(), \
844
+ (__mmask8)-1))
845
+
846
+ #define _mm256_mask_range_ps(W, U, A, B, C) \
847
+ ((__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
848
+ (__v8sf)(__m256)(B), (int)(C), \
849
+ (__v8sf)(__m256)(W), (__mmask8)(U)))
850
+
851
+ #define _mm256_maskz_range_ps(U, A, B, C) \
852
+ ((__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
853
+ (__v8sf)(__m256)(B), (int)(C), \
854
+ (__v8sf)_mm256_setzero_ps(), \
855
+ (__mmask8)(U)))
856
+
857
+ #define _mm_reduce_pd(A, B) \
858
+ ((__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
859
+ (__v2df)_mm_setzero_pd(), \
860
+ (__mmask8)-1))
861
+
862
+ #define _mm_mask_reduce_pd(W, U, A, B) \
863
+ ((__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
864
+ (__v2df)(__m128d)(W), \
865
+ (__mmask8)(U)))
866
+
867
+ #define _mm_maskz_reduce_pd(U, A, B) \
868
+ ((__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
869
+ (__v2df)_mm_setzero_pd(), \
870
+ (__mmask8)(U)))
871
+
872
+ #define _mm256_reduce_pd(A, B) \
873
+ ((__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
874
+ (__v4df)_mm256_setzero_pd(), \
875
+ (__mmask8)-1))
876
+
877
+ #define _mm256_mask_reduce_pd(W, U, A, B) \
878
+ ((__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
879
+ (__v4df)(__m256d)(W), \
880
+ (__mmask8)(U)))
881
+
882
+ #define _mm256_maskz_reduce_pd(U, A, B) \
883
+ ((__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
884
+ (__v4df)_mm256_setzero_pd(), \
885
+ (__mmask8)(U)))
886
+
887
+ #define _mm_reduce_ps(A, B) \
888
+ ((__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
889
+ (__v4sf)_mm_setzero_ps(), \
890
+ (__mmask8)-1))
891
+
892
+ #define _mm_mask_reduce_ps(W, U, A, B) \
893
+ ((__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
894
+ (__v4sf)(__m128)(W), \
895
+ (__mmask8)(U)))
896
+
897
+ #define _mm_maskz_reduce_ps(U, A, B) \
898
+ ((__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
899
+ (__v4sf)_mm_setzero_ps(), \
900
+ (__mmask8)(U)))
901
+
902
+ #define _mm256_reduce_ps(A, B) \
903
+ ((__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
904
+ (__v8sf)_mm256_setzero_ps(), \
905
+ (__mmask8)-1))
906
+
907
+ #define _mm256_mask_reduce_ps(W, U, A, B) \
908
+ ((__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
909
+ (__v8sf)(__m256)(W), \
910
+ (__mmask8)(U)))
911
+
912
+ #define _mm256_maskz_reduce_ps(U, A, B) \
913
+ ((__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
914
+ (__v8sf)_mm256_setzero_ps(), \
915
+ (__mmask8)(U)))
916
+
917
+ static __inline__ __mmask8
918
+ __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_movepi32_mask(__m128i __A) {
919
+ return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A);
920
+ }
921
+
922
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS256_CONSTEXPR
923
+ _mm256_movepi32_mask(__m256i __A) {
924
+ return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A);
925
+ }
926
+
927
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
928
+ _mm_movm_epi32(__mmask8 __A) {
929
+ return (__m128i) __builtin_ia32_cvtmask2d128 (__A);
930
+ }
931
+
932
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
933
+ _mm256_movm_epi32(__mmask8 __A) {
934
+ return (__m256i) __builtin_ia32_cvtmask2d256 (__A);
935
+ }
936
+
937
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
938
+ _mm_movm_epi64(__mmask8 __A) {
939
+ return (__m128i) __builtin_ia32_cvtmask2q128 (__A);
940
+ }
941
+
942
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
943
+ _mm256_movm_epi64(__mmask8 __A) {
944
+ return (__m256i) __builtin_ia32_cvtmask2q256 (__A);
945
+ }
946
+
947
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS128_CONSTEXPR
948
+ _mm_movepi64_mask(__m128i __A) {
949
+ return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A);
950
+ }
951
+
952
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS256_CONSTEXPR
953
+ _mm256_movepi64_mask(__m256i __A) {
954
+ return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A);
955
+ }
956
+
957
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
958
+ _mm256_broadcast_f32x2(__m128 __A) {
959
+ return (__m256)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
960
+ 0, 1, 0, 1, 0, 1, 0, 1);
961
+ }
962
+
963
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
964
+ _mm256_mask_broadcast_f32x2(__m256 __O, __mmask8 __M, __m128 __A) {
965
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
966
+ (__v8sf)_mm256_broadcast_f32x2(__A),
967
+ (__v8sf)__O);
968
+ }
969
+
970
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
971
+ _mm256_maskz_broadcast_f32x2(__mmask8 __M, __m128 __A) {
972
+ return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
973
+ (__v8sf)_mm256_broadcast_f32x2(__A),
974
+ (__v8sf)_mm256_setzero_ps());
975
+ }
976
+
977
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
978
+ _mm256_broadcast_f64x2(__m128d __A) {
979
+ return (__m256d)__builtin_shufflevector((__v2df)__A, (__v2df)__A,
980
+ 0, 1, 0, 1);
981
+ }
982
+
983
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
984
+ _mm256_mask_broadcast_f64x2(__m256d __O, __mmask8 __M, __m128d __A) {
985
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__M,
986
+ (__v4df)_mm256_broadcast_f64x2(__A),
987
+ (__v4df)__O);
988
+ }
989
+
990
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
991
+ _mm256_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
992
+ return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__M,
993
+ (__v4df)_mm256_broadcast_f64x2(__A),
994
+ (__v4df)_mm256_setzero_pd());
995
+ }
996
+
997
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
998
+ _mm_broadcast_i32x2(__m128i __A) {
999
+ return (__m128i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
1000
+ 0, 1, 0, 1);
1001
+ }
1002
+
1003
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1004
+ _mm_mask_broadcast_i32x2(__m128i __O, __mmask8 __M, __m128i __A) {
1005
+ return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
1006
+ (__v4si)_mm_broadcast_i32x2(__A),
1007
+ (__v4si)__O);
1008
+ }
1009
+
1010
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1011
+ _mm_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
1012
+ return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
1013
+ (__v4si)_mm_broadcast_i32x2(__A),
1014
+ (__v4si)_mm_setzero_si128());
1015
+ }
1016
+
1017
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1018
+ _mm256_broadcast_i32x2(__m128i __A) {
1019
+ return (__m256i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
1020
+ 0, 1, 0, 1, 0, 1, 0, 1);
1021
+ }
1022
+
1023
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1024
+ _mm256_mask_broadcast_i32x2(__m256i __O, __mmask8 __M, __m128i __A) {
1025
+ return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
1026
+ (__v8si)_mm256_broadcast_i32x2(__A),
1027
+ (__v8si)__O);
1028
+ }
1029
+
1030
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1031
+ _mm256_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
1032
+ return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
1033
+ (__v8si)_mm256_broadcast_i32x2(__A),
1034
+ (__v8si)_mm256_setzero_si256());
1035
+ }
1036
+
1037
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1038
+ _mm256_broadcast_i64x2(__m128i __A) {
1039
+ return (__m256i)__builtin_shufflevector((__v2di)__A, (__v2di)__A,
1040
+ 0, 1, 0, 1);
1041
+ }
1042
+
1043
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1044
+ _mm256_mask_broadcast_i64x2(__m256i __O, __mmask8 __M, __m128i __A) {
1045
+ return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
1046
+ (__v4di)_mm256_broadcast_i64x2(__A),
1047
+ (__v4di)__O);
1048
+ }
1049
+
1050
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1051
+ _mm256_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
1052
+ return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
1053
+ (__v4di)_mm256_broadcast_i64x2(__A),
1054
+ (__v4di)_mm256_setzero_si256());
1055
+ }
1056
+
1057
+ #define _mm256_extractf64x2_pd(A, imm) \
1058
+ ((__m128d)__builtin_ia32_extractf64x2_256_mask( \
1059
+ (__v4df)(__m256d)(A), (int)(imm), (__v2df)_mm_setzero_pd(), \
1060
+ (__mmask8) - 1))
1061
+
1062
+ #define _mm256_mask_extractf64x2_pd(W, U, A, imm) \
1063
+ ((__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1064
+ (int)(imm), \
1065
+ (__v2df)(__m128d)(W), \
1066
+ (__mmask8)(U)))
1067
+
1068
+ #define _mm256_maskz_extractf64x2_pd(U, A, imm) \
1069
+ ((__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1070
+ (int)(imm), \
1071
+ (__v2df)_mm_setzero_pd(), \
1072
+ (__mmask8)(U)))
1073
+
1074
+ #define _mm256_extracti64x2_epi64(A, imm) \
1075
+ ((__m128i)__builtin_ia32_extracti64x2_256_mask( \
1076
+ (__v4di)(__m256i)(A), (int)(imm), (__v2di)_mm_setzero_si128(), \
1077
+ (__mmask8) - 1))
1078
+
1079
+ #define _mm256_mask_extracti64x2_epi64(W, U, A, imm) \
1080
+ ((__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1081
+ (int)(imm), \
1082
+ (__v2di)(__m128i)(W), \
1083
+ (__mmask8)(U)))
1084
+
1085
+ #define _mm256_maskz_extracti64x2_epi64(U, A, imm) \
1086
+ ((__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1087
+ (int)(imm), \
1088
+ (__v2di)_mm_setzero_si128(), \
1089
+ (__mmask8)(U)))
1090
+
1091
+ #define _mm256_insertf64x2(A, B, imm) \
1092
+ ((__m256d)__builtin_ia32_insertf64x2_256((__v4df)(__m256d)(A), \
1093
+ (__v2df)(__m128d)(B), (int)(imm)))
1094
+
1095
+ #define _mm256_mask_insertf64x2(W, U, A, B, imm) \
1096
+ ((__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
1097
+ (__v4df)_mm256_insertf64x2((A), (B), (imm)), \
1098
+ (__v4df)(__m256d)(W)))
1099
+
1100
+ #define _mm256_maskz_insertf64x2(U, A, B, imm) \
1101
+ ((__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
1102
+ (__v4df)_mm256_insertf64x2((A), (B), (imm)), \
1103
+ (__v4df)_mm256_setzero_pd()))
1104
+
1105
+ #define _mm256_inserti64x2(A, B, imm) \
1106
+ ((__m256i)__builtin_ia32_inserti64x2_256((__v4di)(__m256i)(A), \
1107
+ (__v2di)(__m128i)(B), (int)(imm)))
1108
+
1109
+ #define _mm256_mask_inserti64x2(W, U, A, B, imm) \
1110
+ ((__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
1111
+ (__v4di)_mm256_inserti64x2((A), (B), (imm)), \
1112
+ (__v4di)(__m256i)(W)))
1113
+
1114
+ #define _mm256_maskz_inserti64x2(U, A, B, imm) \
1115
+ ((__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
1116
+ (__v4di)_mm256_inserti64x2((A), (B), (imm)), \
1117
+ (__v4di)_mm256_setzero_si256()))
1118
+
1119
+ #define _mm_mask_fpclass_pd_mask(U, A, imm) \
1120
+ ((__mmask8)__builtin_ia32_fpclasspd128_mask((__v2df)(__m128d)(A), (int)(imm), \
1121
+ (__mmask8)(U)))
1122
+
1123
+ #define _mm_fpclass_pd_mask(A, imm) \
1124
+ ((__mmask8)__builtin_ia32_fpclasspd128_mask((__v2df)(__m128d)(A), (int)(imm), \
1125
+ (__mmask8)-1))
1126
+
1127
+ #define _mm256_mask_fpclass_pd_mask(U, A, imm) \
1128
+ ((__mmask8)__builtin_ia32_fpclasspd256_mask((__v4df)(__m256d)(A), (int)(imm), \
1129
+ (__mmask8)(U)))
1130
+
1131
+ #define _mm256_fpclass_pd_mask(A, imm) \
1132
+ ((__mmask8)__builtin_ia32_fpclasspd256_mask((__v4df)(__m256d)(A), (int)(imm), \
1133
+ (__mmask8)-1))
1134
+
1135
+ #define _mm_mask_fpclass_ps_mask(U, A, imm) \
1136
+ ((__mmask8)__builtin_ia32_fpclassps128_mask((__v4sf)(__m128)(A), (int)(imm), \
1137
+ (__mmask8)(U)))
1138
+
1139
+ #define _mm_fpclass_ps_mask(A, imm) \
1140
+ ((__mmask8)__builtin_ia32_fpclassps128_mask((__v4sf)(__m128)(A), (int)(imm), \
1141
+ (__mmask8)-1))
1142
+
1143
+ #define _mm256_mask_fpclass_ps_mask(U, A, imm) \
1144
+ ((__mmask8)__builtin_ia32_fpclassps256_mask((__v8sf)(__m256)(A), (int)(imm), \
1145
+ (__mmask8)(U)))
1146
+
1147
+ #define _mm256_fpclass_ps_mask(A, imm) \
1148
+ ((__mmask8)__builtin_ia32_fpclassps256_mask((__v8sf)(__m256)(A), (int)(imm), \
1149
+ (__mmask8)-1))
1150
+
1151
+ #undef __DEFAULT_FN_ATTRS128
1152
+ #undef __DEFAULT_FN_ATTRS256
1153
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
1154
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
1155
+
1156
+ #endif