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,780 @@
1
+ /*===---- xopintrin.h - XOP 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 __X86INTRIN_H
11
+ #error "Never use <xopintrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __XOPINTRIN_H
15
+ #define __XOPINTRIN_H
16
+
17
+ #include <fma4intrin.h>
18
+
19
+ /* Define the default attributes for the functions in this file. */
20
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("xop"), __min_vector_width__(128)))
21
+ #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("xop"), __min_vector_width__(256)))
22
+
23
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
24
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
25
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
26
+ #else
27
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
28
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
29
+ #endif
30
+
31
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
32
+ _mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
33
+ {
34
+ return (__m128i)__builtin_ia32_vpmacssww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
35
+ }
36
+
37
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
38
+ _mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
39
+ {
40
+ return (__m128i)__builtin_ia32_vpmacsww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
41
+ }
42
+
43
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
44
+ _mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
45
+ {
46
+ return (__m128i)__builtin_ia32_vpmacsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
47
+ }
48
+
49
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
50
+ _mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
51
+ {
52
+ return (__m128i)__builtin_ia32_vpmacswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
53
+ }
54
+
55
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
56
+ _mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
57
+ {
58
+ return (__m128i)__builtin_ia32_vpmacssdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
59
+ }
60
+
61
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
62
+ _mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
63
+ {
64
+ return (__m128i)__builtin_ia32_vpmacsdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
65
+ }
66
+
67
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
68
+ _mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
69
+ {
70
+ return (__m128i)__builtin_ia32_vpmacssdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
71
+ }
72
+
73
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
74
+ _mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
75
+ {
76
+ return (__m128i)__builtin_ia32_vpmacsdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
77
+ }
78
+
79
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
80
+ _mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
81
+ {
82
+ return (__m128i)__builtin_ia32_vpmacssdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
83
+ }
84
+
85
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
86
+ _mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
87
+ {
88
+ return (__m128i)__builtin_ia32_vpmacsdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
89
+ }
90
+
91
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
92
+ _mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
93
+ {
94
+ return (__m128i)__builtin_ia32_vpmadcsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
95
+ }
96
+
97
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
98
+ _mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
99
+ {
100
+ return (__m128i)__builtin_ia32_vpmadcswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
101
+ }
102
+
103
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
104
+ _mm_haddw_epi8(__m128i __A)
105
+ {
106
+ return (__m128i)__builtin_ia32_vphaddbw((__v16qi)__A);
107
+ }
108
+
109
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
110
+ _mm_haddd_epi8(__m128i __A)
111
+ {
112
+ return (__m128i)__builtin_ia32_vphaddbd((__v16qi)__A);
113
+ }
114
+
115
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
116
+ _mm_haddq_epi8(__m128i __A)
117
+ {
118
+ return (__m128i)__builtin_ia32_vphaddbq((__v16qi)__A);
119
+ }
120
+
121
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
122
+ _mm_haddd_epi16(__m128i __A)
123
+ {
124
+ return (__m128i)__builtin_ia32_vphaddwd((__v8hi)__A);
125
+ }
126
+
127
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
128
+ _mm_haddq_epi16(__m128i __A)
129
+ {
130
+ return (__m128i)__builtin_ia32_vphaddwq((__v8hi)__A);
131
+ }
132
+
133
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
134
+ _mm_haddq_epi32(__m128i __A)
135
+ {
136
+ return (__m128i)__builtin_ia32_vphadddq((__v4si)__A);
137
+ }
138
+
139
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
140
+ _mm_haddw_epu8(__m128i __A)
141
+ {
142
+ return (__m128i)__builtin_ia32_vphaddubw((__v16qi)__A);
143
+ }
144
+
145
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
146
+ _mm_haddd_epu8(__m128i __A)
147
+ {
148
+ return (__m128i)__builtin_ia32_vphaddubd((__v16qi)__A);
149
+ }
150
+
151
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
152
+ _mm_haddq_epu8(__m128i __A)
153
+ {
154
+ return (__m128i)__builtin_ia32_vphaddubq((__v16qi)__A);
155
+ }
156
+
157
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
158
+ _mm_haddd_epu16(__m128i __A)
159
+ {
160
+ return (__m128i)__builtin_ia32_vphadduwd((__v8hi)__A);
161
+ }
162
+
163
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
164
+ _mm_haddq_epu16(__m128i __A)
165
+ {
166
+ return (__m128i)__builtin_ia32_vphadduwq((__v8hi)__A);
167
+ }
168
+
169
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
170
+ _mm_haddq_epu32(__m128i __A)
171
+ {
172
+ return (__m128i)__builtin_ia32_vphaddudq((__v4si)__A);
173
+ }
174
+
175
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
176
+ _mm_hsubw_epi8(__m128i __A)
177
+ {
178
+ return (__m128i)__builtin_ia32_vphsubbw((__v16qi)__A);
179
+ }
180
+
181
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
182
+ _mm_hsubd_epi16(__m128i __A)
183
+ {
184
+ return (__m128i)__builtin_ia32_vphsubwd((__v8hi)__A);
185
+ }
186
+
187
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
188
+ _mm_hsubq_epi32(__m128i __A)
189
+ {
190
+ return (__m128i)__builtin_ia32_vphsubdq((__v4si)__A);
191
+ }
192
+
193
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
194
+ _mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
195
+ {
196
+ return (__m128i)(((__v2du)__A & (__v2du)__C) | ((__v2du)__B & ~(__v2du)__C));
197
+ }
198
+
199
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
200
+ _mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
201
+ {
202
+ return (__m256i)(((__v4du)__A & (__v4du)__C) | ((__v4du)__B & ~(__v4du)__C));
203
+ }
204
+
205
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
206
+ _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
207
+ {
208
+ return (__m128i)__builtin_ia32_vpperm((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
209
+ }
210
+
211
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
212
+ _mm_rot_epi8(__m128i __A, __m128i __B)
213
+ {
214
+ return (__m128i)__builtin_elementwise_fshl((__v16qu)__A, (__v16qu)__A, (__v16qu)__B);
215
+ }
216
+
217
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
218
+ _mm_rot_epi16(__m128i __A, __m128i __B)
219
+ {
220
+ return (__m128i)__builtin_elementwise_fshl((__v8hu)__A, (__v8hu)__A, (__v8hu)__B);
221
+ }
222
+
223
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
224
+ _mm_rot_epi32(__m128i __A, __m128i __B)
225
+ {
226
+ return (__m128i)__builtin_elementwise_fshl((__v4su)__A, (__v4su)__A, (__v4su)__B);
227
+ }
228
+
229
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
230
+ _mm_rot_epi64(__m128i __A, __m128i __B)
231
+ {
232
+ return (__m128i)__builtin_elementwise_fshl((__v2du)__A, (__v2du)__A, (__v2du)__B);
233
+ }
234
+
235
+ #define _mm_roti_epi8(A, N) \
236
+ ((__m128i)__builtin_ia32_vprotbi((__v16qi)(__m128i)(A), (N)))
237
+
238
+ #define _mm_roti_epi16(A, N) \
239
+ ((__m128i)__builtin_ia32_vprotwi((__v8hi)(__m128i)(A), (N)))
240
+
241
+ #define _mm_roti_epi32(A, N) \
242
+ ((__m128i)__builtin_ia32_vprotdi((__v4si)(__m128i)(A), (N)))
243
+
244
+ #define _mm_roti_epi64(A, N) \
245
+ ((__m128i)__builtin_ia32_vprotqi((__v2di)(__m128i)(A), (N)))
246
+
247
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
248
+ _mm_shl_epi8(__m128i __A, __m128i __B)
249
+ {
250
+ return (__m128i)__builtin_ia32_vpshlb((__v16qi)__A, (__v16qi)__B);
251
+ }
252
+
253
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
254
+ _mm_shl_epi16(__m128i __A, __m128i __B)
255
+ {
256
+ return (__m128i)__builtin_ia32_vpshlw((__v8hi)__A, (__v8hi)__B);
257
+ }
258
+
259
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
260
+ _mm_shl_epi32(__m128i __A, __m128i __B)
261
+ {
262
+ return (__m128i)__builtin_ia32_vpshld((__v4si)__A, (__v4si)__B);
263
+ }
264
+
265
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
266
+ _mm_shl_epi64(__m128i __A, __m128i __B)
267
+ {
268
+ return (__m128i)__builtin_ia32_vpshlq((__v2di)__A, (__v2di)__B);
269
+ }
270
+
271
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
272
+ _mm_sha_epi8(__m128i __A, __m128i __B)
273
+ {
274
+ return (__m128i)__builtin_ia32_vpshab((__v16qi)__A, (__v16qi)__B);
275
+ }
276
+
277
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
278
+ _mm_sha_epi16(__m128i __A, __m128i __B)
279
+ {
280
+ return (__m128i)__builtin_ia32_vpshaw((__v8hi)__A, (__v8hi)__B);
281
+ }
282
+
283
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
284
+ _mm_sha_epi32(__m128i __A, __m128i __B)
285
+ {
286
+ return (__m128i)__builtin_ia32_vpshad((__v4si)__A, (__v4si)__B);
287
+ }
288
+
289
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
290
+ _mm_sha_epi64(__m128i __A, __m128i __B)
291
+ {
292
+ return (__m128i)__builtin_ia32_vpshaq((__v2di)__A, (__v2di)__B);
293
+ }
294
+
295
+ #define _mm_com_epu8(A, B, N) \
296
+ ((__m128i)__builtin_ia32_vpcomub((__v16qi)(__m128i)(A), \
297
+ (__v16qi)(__m128i)(B), (N)))
298
+
299
+ #define _mm_com_epu16(A, B, N) \
300
+ ((__m128i)__builtin_ia32_vpcomuw((__v8hi)(__m128i)(A), \
301
+ (__v8hi)(__m128i)(B), (N)))
302
+
303
+ #define _mm_com_epu32(A, B, N) \
304
+ ((__m128i)__builtin_ia32_vpcomud((__v4si)(__m128i)(A), \
305
+ (__v4si)(__m128i)(B), (N)))
306
+
307
+ #define _mm_com_epu64(A, B, N) \
308
+ ((__m128i)__builtin_ia32_vpcomuq((__v2di)(__m128i)(A), \
309
+ (__v2di)(__m128i)(B), (N)))
310
+
311
+ #define _mm_com_epi8(A, B, N) \
312
+ ((__m128i)__builtin_ia32_vpcomb((__v16qi)(__m128i)(A), \
313
+ (__v16qi)(__m128i)(B), (N)))
314
+
315
+ #define _mm_com_epi16(A, B, N) \
316
+ ((__m128i)__builtin_ia32_vpcomw((__v8hi)(__m128i)(A), \
317
+ (__v8hi)(__m128i)(B), (N)))
318
+
319
+ #define _mm_com_epi32(A, B, N) \
320
+ ((__m128i)__builtin_ia32_vpcomd((__v4si)(__m128i)(A), \
321
+ (__v4si)(__m128i)(B), (N)))
322
+
323
+ #define _mm_com_epi64(A, B, N) \
324
+ ((__m128i)__builtin_ia32_vpcomq((__v2di)(__m128i)(A), \
325
+ (__v2di)(__m128i)(B), (N)))
326
+
327
+ #define _MM_PCOMCTRL_LT 0
328
+ #define _MM_PCOMCTRL_LE 1
329
+ #define _MM_PCOMCTRL_GT 2
330
+ #define _MM_PCOMCTRL_GE 3
331
+ #define _MM_PCOMCTRL_EQ 4
332
+ #define _MM_PCOMCTRL_NEQ 5
333
+ #define _MM_PCOMCTRL_FALSE 6
334
+ #define _MM_PCOMCTRL_TRUE 7
335
+
336
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
337
+ _mm_comlt_epu8(__m128i __A, __m128i __B)
338
+ {
339
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LT);
340
+ }
341
+
342
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
343
+ _mm_comle_epu8(__m128i __A, __m128i __B)
344
+ {
345
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LE);
346
+ }
347
+
348
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
349
+ _mm_comgt_epu8(__m128i __A, __m128i __B)
350
+ {
351
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GT);
352
+ }
353
+
354
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
355
+ _mm_comge_epu8(__m128i __A, __m128i __B)
356
+ {
357
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GE);
358
+ }
359
+
360
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
361
+ _mm_comeq_epu8(__m128i __A, __m128i __B)
362
+ {
363
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_EQ);
364
+ }
365
+
366
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
367
+ _mm_comneq_epu8(__m128i __A, __m128i __B)
368
+ {
369
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_NEQ);
370
+ }
371
+
372
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
373
+ _mm_comfalse_epu8(__m128i __A, __m128i __B)
374
+ {
375
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_FALSE);
376
+ }
377
+
378
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
379
+ _mm_comtrue_epu8(__m128i __A, __m128i __B)
380
+ {
381
+ return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_TRUE);
382
+ }
383
+
384
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
385
+ _mm_comlt_epu16(__m128i __A, __m128i __B)
386
+ {
387
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LT);
388
+ }
389
+
390
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
391
+ _mm_comle_epu16(__m128i __A, __m128i __B)
392
+ {
393
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LE);
394
+ }
395
+
396
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
397
+ _mm_comgt_epu16(__m128i __A, __m128i __B)
398
+ {
399
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GT);
400
+ }
401
+
402
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
403
+ _mm_comge_epu16(__m128i __A, __m128i __B)
404
+ {
405
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GE);
406
+ }
407
+
408
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
409
+ _mm_comeq_epu16(__m128i __A, __m128i __B)
410
+ {
411
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_EQ);
412
+ }
413
+
414
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
415
+ _mm_comneq_epu16(__m128i __A, __m128i __B)
416
+ {
417
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_NEQ);
418
+ }
419
+
420
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
421
+ _mm_comfalse_epu16(__m128i __A, __m128i __B)
422
+ {
423
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_FALSE);
424
+ }
425
+
426
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
427
+ _mm_comtrue_epu16(__m128i __A, __m128i __B)
428
+ {
429
+ return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_TRUE);
430
+ }
431
+
432
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
433
+ _mm_comlt_epu32(__m128i __A, __m128i __B)
434
+ {
435
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LT);
436
+ }
437
+
438
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
439
+ _mm_comle_epu32(__m128i __A, __m128i __B)
440
+ {
441
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LE);
442
+ }
443
+
444
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
445
+ _mm_comgt_epu32(__m128i __A, __m128i __B)
446
+ {
447
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GT);
448
+ }
449
+
450
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
451
+ _mm_comge_epu32(__m128i __A, __m128i __B)
452
+ {
453
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GE);
454
+ }
455
+
456
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
457
+ _mm_comeq_epu32(__m128i __A, __m128i __B)
458
+ {
459
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_EQ);
460
+ }
461
+
462
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
463
+ _mm_comneq_epu32(__m128i __A, __m128i __B)
464
+ {
465
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_NEQ);
466
+ }
467
+
468
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
469
+ _mm_comfalse_epu32(__m128i __A, __m128i __B)
470
+ {
471
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_FALSE);
472
+ }
473
+
474
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
475
+ _mm_comtrue_epu32(__m128i __A, __m128i __B)
476
+ {
477
+ return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_TRUE);
478
+ }
479
+
480
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
481
+ _mm_comlt_epu64(__m128i __A, __m128i __B)
482
+ {
483
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LT);
484
+ }
485
+
486
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
487
+ _mm_comle_epu64(__m128i __A, __m128i __B)
488
+ {
489
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LE);
490
+ }
491
+
492
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
493
+ _mm_comgt_epu64(__m128i __A, __m128i __B)
494
+ {
495
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GT);
496
+ }
497
+
498
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
499
+ _mm_comge_epu64(__m128i __A, __m128i __B)
500
+ {
501
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GE);
502
+ }
503
+
504
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
505
+ _mm_comeq_epu64(__m128i __A, __m128i __B)
506
+ {
507
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_EQ);
508
+ }
509
+
510
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
511
+ _mm_comneq_epu64(__m128i __A, __m128i __B)
512
+ {
513
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_NEQ);
514
+ }
515
+
516
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
517
+ _mm_comfalse_epu64(__m128i __A, __m128i __B)
518
+ {
519
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_FALSE);
520
+ }
521
+
522
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
523
+ _mm_comtrue_epu64(__m128i __A, __m128i __B)
524
+ {
525
+ return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_TRUE);
526
+ }
527
+
528
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
529
+ _mm_comlt_epi8(__m128i __A, __m128i __B)
530
+ {
531
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LT);
532
+ }
533
+
534
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
535
+ _mm_comle_epi8(__m128i __A, __m128i __B)
536
+ {
537
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LE);
538
+ }
539
+
540
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
541
+ _mm_comgt_epi8(__m128i __A, __m128i __B)
542
+ {
543
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GT);
544
+ }
545
+
546
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
547
+ _mm_comge_epi8(__m128i __A, __m128i __B)
548
+ {
549
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GE);
550
+ }
551
+
552
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
553
+ _mm_comeq_epi8(__m128i __A, __m128i __B)
554
+ {
555
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_EQ);
556
+ }
557
+
558
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
559
+ _mm_comneq_epi8(__m128i __A, __m128i __B)
560
+ {
561
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_NEQ);
562
+ }
563
+
564
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
565
+ _mm_comfalse_epi8(__m128i __A, __m128i __B)
566
+ {
567
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_FALSE);
568
+ }
569
+
570
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
571
+ _mm_comtrue_epi8(__m128i __A, __m128i __B)
572
+ {
573
+ return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_TRUE);
574
+ }
575
+
576
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
577
+ _mm_comlt_epi16(__m128i __A, __m128i __B)
578
+ {
579
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LT);
580
+ }
581
+
582
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
583
+ _mm_comle_epi16(__m128i __A, __m128i __B)
584
+ {
585
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LE);
586
+ }
587
+
588
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
589
+ _mm_comgt_epi16(__m128i __A, __m128i __B)
590
+ {
591
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GT);
592
+ }
593
+
594
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
595
+ _mm_comge_epi16(__m128i __A, __m128i __B)
596
+ {
597
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GE);
598
+ }
599
+
600
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
601
+ _mm_comeq_epi16(__m128i __A, __m128i __B)
602
+ {
603
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_EQ);
604
+ }
605
+
606
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
607
+ _mm_comneq_epi16(__m128i __A, __m128i __B)
608
+ {
609
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_NEQ);
610
+ }
611
+
612
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
613
+ _mm_comfalse_epi16(__m128i __A, __m128i __B)
614
+ {
615
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_FALSE);
616
+ }
617
+
618
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
619
+ _mm_comtrue_epi16(__m128i __A, __m128i __B)
620
+ {
621
+ return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_TRUE);
622
+ }
623
+
624
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
625
+ _mm_comlt_epi32(__m128i __A, __m128i __B)
626
+ {
627
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LT);
628
+ }
629
+
630
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
631
+ _mm_comle_epi32(__m128i __A, __m128i __B)
632
+ {
633
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LE);
634
+ }
635
+
636
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
637
+ _mm_comgt_epi32(__m128i __A, __m128i __B)
638
+ {
639
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GT);
640
+ }
641
+
642
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
643
+ _mm_comge_epi32(__m128i __A, __m128i __B)
644
+ {
645
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GE);
646
+ }
647
+
648
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
649
+ _mm_comeq_epi32(__m128i __A, __m128i __B)
650
+ {
651
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_EQ);
652
+ }
653
+
654
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
655
+ _mm_comneq_epi32(__m128i __A, __m128i __B)
656
+ {
657
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_NEQ);
658
+ }
659
+
660
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
661
+ _mm_comfalse_epi32(__m128i __A, __m128i __B)
662
+ {
663
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_FALSE);
664
+ }
665
+
666
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
667
+ _mm_comtrue_epi32(__m128i __A, __m128i __B)
668
+ {
669
+ return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_TRUE);
670
+ }
671
+
672
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
673
+ _mm_comlt_epi64(__m128i __A, __m128i __B)
674
+ {
675
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LT);
676
+ }
677
+
678
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
679
+ _mm_comle_epi64(__m128i __A, __m128i __B)
680
+ {
681
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LE);
682
+ }
683
+
684
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
685
+ _mm_comgt_epi64(__m128i __A, __m128i __B)
686
+ {
687
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GT);
688
+ }
689
+
690
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
691
+ _mm_comge_epi64(__m128i __A, __m128i __B)
692
+ {
693
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GE);
694
+ }
695
+
696
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
697
+ _mm_comeq_epi64(__m128i __A, __m128i __B)
698
+ {
699
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_EQ);
700
+ }
701
+
702
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
703
+ _mm_comneq_epi64(__m128i __A, __m128i __B)
704
+ {
705
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_NEQ);
706
+ }
707
+
708
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
709
+ _mm_comfalse_epi64(__m128i __A, __m128i __B)
710
+ {
711
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_FALSE);
712
+ }
713
+
714
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
715
+ _mm_comtrue_epi64(__m128i __A, __m128i __B)
716
+ {
717
+ return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_TRUE);
718
+ }
719
+
720
+ #define _mm_permute2_pd(X, Y, C, I) \
721
+ ((__m128d)__builtin_ia32_vpermil2pd((__v2df)(__m128d)(X), \
722
+ (__v2df)(__m128d)(Y), \
723
+ (__v2di)(__m128i)(C), (I)))
724
+
725
+ #define _mm256_permute2_pd(X, Y, C, I) \
726
+ ((__m256d)__builtin_ia32_vpermil2pd256((__v4df)(__m256d)(X), \
727
+ (__v4df)(__m256d)(Y), \
728
+ (__v4di)(__m256i)(C), (I)))
729
+
730
+ #define _mm_permute2_ps(X, Y, C, I) \
731
+ ((__m128)__builtin_ia32_vpermil2ps((__v4sf)(__m128)(X), (__v4sf)(__m128)(Y), \
732
+ (__v4si)(__m128i)(C), (I)))
733
+
734
+ #define _mm256_permute2_ps(X, Y, C, I) \
735
+ ((__m256)__builtin_ia32_vpermil2ps256((__v8sf)(__m256)(X), \
736
+ (__v8sf)(__m256)(Y), \
737
+ (__v8si)(__m256i)(C), (I)))
738
+
739
+ static __inline__ __m128 __DEFAULT_FN_ATTRS
740
+ _mm_frcz_ss(__m128 __A)
741
+ {
742
+ return (__m128)__builtin_ia32_vfrczss((__v4sf)__A);
743
+ }
744
+
745
+ static __inline__ __m128d __DEFAULT_FN_ATTRS
746
+ _mm_frcz_sd(__m128d __A)
747
+ {
748
+ return (__m128d)__builtin_ia32_vfrczsd((__v2df)__A);
749
+ }
750
+
751
+ static __inline__ __m128 __DEFAULT_FN_ATTRS
752
+ _mm_frcz_ps(__m128 __A)
753
+ {
754
+ return (__m128)__builtin_ia32_vfrczps((__v4sf)__A);
755
+ }
756
+
757
+ static __inline__ __m128d __DEFAULT_FN_ATTRS
758
+ _mm_frcz_pd(__m128d __A)
759
+ {
760
+ return (__m128d)__builtin_ia32_vfrczpd((__v2df)__A);
761
+ }
762
+
763
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
764
+ _mm256_frcz_ps(__m256 __A)
765
+ {
766
+ return (__m256)__builtin_ia32_vfrczps256((__v8sf)__A);
767
+ }
768
+
769
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
770
+ _mm256_frcz_pd(__m256d __A)
771
+ {
772
+ return (__m256d)__builtin_ia32_vfrczpd256((__v4df)__A);
773
+ }
774
+
775
+ #undef __DEFAULT_FN_ATTRS
776
+ #undef __DEFAULT_FN_ATTRS256
777
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
778
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
779
+
780
+ #endif /* __XOPINTRIN_H */