@nativescript/linux 0.0.0-stage → 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/framework/App_Resources/Linux/app.desktop +8 -0
  2. package/framework/App_Resources/Linux/app.metainfo.xml +15 -0
  3. package/framework/App_Resources/Linux/icon.png +0 -0
  4. package/framework/App_Resources/Linux/images/.gitkeep +0 -0
  5. package/framework/__PROJECT_NAME__/app/.gitkeep +0 -0
  6. package/framework/runtime/x64/metadata-x86_64.bin +0 -0
  7. package/framework/runtime/x64/ns-linux +4 -0
  8. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_builtin_vars.h +121 -0
  9. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_cmath.h +512 -0
  10. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_complex_builtins.h +285 -0
  11. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_device_functions.h +1558 -0
  12. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_intrinsics.h +709 -0
  13. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_libdevice_declares.h +468 -0
  14. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_math.h +348 -0
  15. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_math_forward_declares.h +284 -0
  16. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_runtime_wrapper.h +503 -0
  17. package/framework/tools/x64/lib/clang/17/include/__clang_cuda_texture_intrinsics.h +742 -0
  18. package/framework/tools/x64/lib/clang/17/include/__clang_hip_cmath.h +842 -0
  19. package/framework/tools/x64/lib/clang/17/include/__clang_hip_libdevice_declares.h +353 -0
  20. package/framework/tools/x64/lib/clang/17/include/__clang_hip_math.h +1303 -0
  21. package/framework/tools/x64/lib/clang/17/include/__clang_hip_runtime_wrapper.h +151 -0
  22. package/framework/tools/x64/lib/clang/17/include/__clang_hip_stdlib.h +43 -0
  23. package/framework/tools/x64/lib/clang/17/include/__stddef_max_align_t.h +27 -0
  24. package/framework/tools/x64/lib/clang/17/include/__wmmintrin_aes.h +140 -0
  25. package/framework/tools/x64/lib/clang/17/include/__wmmintrin_pclmul.h +48 -0
  26. package/framework/tools/x64/lib/clang/17/include/adxintrin.h +227 -0
  27. package/framework/tools/x64/lib/clang/17/include/altivec.h +19342 -0
  28. package/framework/tools/x64/lib/clang/17/include/ammintrin.h +183 -0
  29. package/framework/tools/x64/lib/clang/17/include/amxcomplexintrin.h +169 -0
  30. package/framework/tools/x64/lib/clang/17/include/amxfp16intrin.h +58 -0
  31. package/framework/tools/x64/lib/clang/17/include/amxintrin.h +524 -0
  32. package/framework/tools/x64/lib/clang/17/include/arm64intr.h +35 -0
  33. package/framework/tools/x64/lib/clang/17/include/arm_acle.h +782 -0
  34. package/framework/tools/x64/lib/clang/17/include/arm_bf16.h +20 -0
  35. package/framework/tools/x64/lib/clang/17/include/arm_cde.h +410 -0
  36. package/framework/tools/x64/lib/clang/17/include/arm_cmse.h +217 -0
  37. package/framework/tools/x64/lib/clang/17/include/arm_fp16.h +596 -0
  38. package/framework/tools/x64/lib/clang/17/include/arm_mve.h +19187 -0
  39. package/framework/tools/x64/lib/clang/17/include/arm_neon.h +69885 -0
  40. package/framework/tools/x64/lib/clang/17/include/arm_neon_sve_bridge.h +182 -0
  41. package/framework/tools/x64/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
  42. package/framework/tools/x64/lib/clang/17/include/arm_sve.h +23950 -0
  43. package/framework/tools/x64/lib/clang/17/include/armintr.h +31 -0
  44. package/framework/tools/x64/lib/clang/17/include/avx2intrin.h +5263 -0
  45. package/framework/tools/x64/lib/clang/17/include/avx512bf16intrin.h +282 -0
  46. package/framework/tools/x64/lib/clang/17/include/avx512bitalgintrin.h +83 -0
  47. package/framework/tools/x64/lib/clang/17/include/avx512bwintrin.h +2024 -0
  48. package/framework/tools/x64/lib/clang/17/include/avx512cdintrin.h +123 -0
  49. package/framework/tools/x64/lib/clang/17/include/avx512dqintrin.h +1377 -0
  50. package/framework/tools/x64/lib/clang/17/include/avx512erintrin.h +271 -0
  51. package/framework/tools/x64/lib/clang/17/include/avx512fintrin.h +9775 -0
  52. package/framework/tools/x64/lib/clang/17/include/avx512fp16intrin.h +3350 -0
  53. package/framework/tools/x64/lib/clang/17/include/avx512ifmaintrin.h +68 -0
  54. package/framework/tools/x64/lib/clang/17/include/avx512ifmavlintrin.h +105 -0
  55. package/framework/tools/x64/lib/clang/17/include/avx512pfintrin.h +97 -0
  56. package/framework/tools/x64/lib/clang/17/include/avx512vbmi2intrin.h +357 -0
  57. package/framework/tools/x64/lib/clang/17/include/avx512vbmiintrin.h +105 -0
  58. package/framework/tools/x64/lib/clang/17/include/avx512vbmivlintrin.h +188 -0
  59. package/framework/tools/x64/lib/clang/17/include/avx512vlbf16intrin.h +515 -0
  60. package/framework/tools/x64/lib/clang/17/include/avx512vlbitalgintrin.h +145 -0
  61. package/framework/tools/x64/lib/clang/17/include/avx512vlbwintrin.h +3161 -0
  62. package/framework/tools/x64/lib/clang/17/include/avx512vlcdintrin.h +225 -0
  63. package/framework/tools/x64/lib/clang/17/include/avx512vldqintrin.h +1167 -0
  64. package/framework/tools/x64/lib/clang/17/include/avx512vlfp16intrin.h +2071 -0
  65. package/framework/tools/x64/lib/clang/17/include/avx512vlintrin.h +8431 -0
  66. package/framework/tools/x64/lib/clang/17/include/avx512vlvbmi2intrin.h +689 -0
  67. package/framework/tools/x64/lib/clang/17/include/avx512vlvnniintrin.h +304 -0
  68. package/framework/tools/x64/lib/clang/17/include/avx512vlvp2intersectintrin.h +121 -0
  69. package/framework/tools/x64/lib/clang/17/include/avx512vnniintrin.h +115 -0
  70. package/framework/tools/x64/lib/clang/17/include/avx512vp2intersectintrin.h +77 -0
  71. package/framework/tools/x64/lib/clang/17/include/avx512vpopcntdqintrin.h +54 -0
  72. package/framework/tools/x64/lib/clang/17/include/avx512vpopcntdqvlintrin.h +91 -0
  73. package/framework/tools/x64/lib/clang/17/include/avxifmaintrin.h +177 -0
  74. package/framework/tools/x64/lib/clang/17/include/avxintrin.h +5108 -0
  75. package/framework/tools/x64/lib/clang/17/include/avxneconvertintrin.h +484 -0
  76. package/framework/tools/x64/lib/clang/17/include/avxvnniint16intrin.h +473 -0
  77. package/framework/tools/x64/lib/clang/17/include/avxvnniint8intrin.h +471 -0
  78. package/framework/tools/x64/lib/clang/17/include/avxvnniintrin.h +225 -0
  79. package/framework/tools/x64/lib/clang/17/include/bmi2intrin.h +255 -0
  80. package/framework/tools/x64/lib/clang/17/include/bmiintrin.h +431 -0
  81. package/framework/tools/x64/lib/clang/17/include/builtins.h +16 -0
  82. package/framework/tools/x64/lib/clang/17/include/cet.h +66 -0
  83. package/framework/tools/x64/lib/clang/17/include/cetintrin.h +115 -0
  84. package/framework/tools/x64/lib/clang/17/include/cldemoteintrin.h +36 -0
  85. package/framework/tools/x64/lib/clang/17/include/clflushoptintrin.h +36 -0
  86. package/framework/tools/x64/lib/clang/17/include/clwbintrin.h +38 -0
  87. package/framework/tools/x64/lib/clang/17/include/clzerointrin.h +38 -0
  88. package/framework/tools/x64/lib/clang/17/include/cmpccxaddintrin.h +70 -0
  89. package/framework/tools/x64/lib/clang/17/include/cpuid.h +331 -0
  90. package/framework/tools/x64/lib/clang/17/include/crc32intrin.h +100 -0
  91. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/algorithm +116 -0
  92. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
  93. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  94. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  95. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/cmath +90 -0
  96. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/complex +90 -0
  97. package/framework/tools/x64/lib/clang/17/include/cuda_wrappers/new +106 -0
  98. package/framework/tools/x64/lib/clang/17/include/emmintrin.h +4775 -0
  99. package/framework/tools/x64/lib/clang/17/include/enqcmdintrin.h +63 -0
  100. package/framework/tools/x64/lib/clang/17/include/f16cintrin.h +162 -0
  101. package/framework/tools/x64/lib/clang/17/include/float.h +168 -0
  102. package/framework/tools/x64/lib/clang/17/include/fma4intrin.h +218 -0
  103. package/framework/tools/x64/lib/clang/17/include/fmaintrin.h +780 -0
  104. package/framework/tools/x64/lib/clang/17/include/fxsrintrin.h +91 -0
  105. package/framework/tools/x64/lib/clang/17/include/gfniintrin.h +194 -0
  106. package/framework/tools/x64/lib/clang/17/include/hexagon_circ_brev_intrinsics.h +298 -0
  107. package/framework/tools/x64/lib/clang/17/include/hexagon_protos.h +8439 -0
  108. package/framework/tools/x64/lib/clang/17/include/hexagon_types.h +2621 -0
  109. package/framework/tools/x64/lib/clang/17/include/hresetintrin.h +49 -0
  110. package/framework/tools/x64/lib/clang/17/include/htmintrin.h +212 -0
  111. package/framework/tools/x64/lib/clang/17/include/htmxlintrin.h +345 -0
  112. package/framework/tools/x64/lib/clang/17/include/hvx_hexagon_protos.h +5183 -0
  113. package/framework/tools/x64/lib/clang/17/include/ia32intrin.h +441 -0
  114. package/framework/tools/x64/lib/clang/17/include/immintrin.h +758 -0
  115. package/framework/tools/x64/lib/clang/17/include/intrin.h +620 -0
  116. package/framework/tools/x64/lib/clang/17/include/inttypes.h +97 -0
  117. package/framework/tools/x64/lib/clang/17/include/invpcidintrin.h +23 -0
  118. package/framework/tools/x64/lib/clang/17/include/iso646.h +27 -0
  119. package/framework/tools/x64/lib/clang/17/include/keylockerintrin.h +530 -0
  120. package/framework/tools/x64/lib/clang/17/include/larchintrin.h +234 -0
  121. package/framework/tools/x64/lib/clang/17/include/limits.h +127 -0
  122. package/framework/tools/x64/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
  123. package/framework/tools/x64/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
  124. package/framework/tools/x64/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
  125. package/framework/tools/x64/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
  126. package/framework/tools/x64/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
  127. package/framework/tools/x64/lib/clang/17/include/lwpintrin.h +136 -0
  128. package/framework/tools/x64/lib/clang/17/include/lzcntintrin.h +104 -0
  129. package/framework/tools/x64/lib/clang/17/include/mm3dnow.h +157 -0
  130. package/framework/tools/x64/lib/clang/17/include/mm_malloc.h +67 -0
  131. package/framework/tools/x64/lib/clang/17/include/mmintrin.h +1562 -0
  132. package/framework/tools/x64/lib/clang/17/include/module.modulemap +164 -0
  133. package/framework/tools/x64/lib/clang/17/include/movdirintrin.h +49 -0
  134. package/framework/tools/x64/lib/clang/17/include/msa.h +573 -0
  135. package/framework/tools/x64/lib/clang/17/include/mwaitxintrin.h +62 -0
  136. package/framework/tools/x64/lib/clang/17/include/nmmintrin.h +20 -0
  137. package/framework/tools/x64/lib/clang/17/include/opencl-c-base.h +820 -0
  138. package/framework/tools/x64/lib/clang/17/include/opencl-c.h +18356 -0
  139. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/__clang_openmp_device_functions.h +105 -0
  140. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/cmath +132 -0
  141. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/complex +55 -0
  142. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/complex.h +35 -0
  143. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/complex_cmath.h +388 -0
  144. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/math.h +61 -0
  145. package/framework/tools/x64/lib/clang/17/include/openmp_wrappers/new +48 -0
  146. package/framework/tools/x64/lib/clang/17/include/pconfigintrin.h +40 -0
  147. package/framework/tools/x64/lib/clang/17/include/pkuintrin.h +34 -0
  148. package/framework/tools/x64/lib/clang/17/include/pmmintrin.h +300 -0
  149. package/framework/tools/x64/lib/clang/17/include/popcntintrin.h +59 -0
  150. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/bmi2intrin.h +134 -0
  151. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/bmiintrin.h +165 -0
  152. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/emmintrin.h +2269 -0
  153. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/immintrin.h +27 -0
  154. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/mm_malloc.h +45 -0
  155. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/mmintrin.h +1453 -0
  156. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/pmmintrin.h +145 -0
  157. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/smmintrin.h +663 -0
  158. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/tmmintrin.h +453 -0
  159. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/x86gprintrin.h +17 -0
  160. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/x86intrin.h +28 -0
  161. package/framework/tools/x64/lib/clang/17/include/ppc_wrappers/xmmintrin.h +1827 -0
  162. package/framework/tools/x64/lib/clang/17/include/prfchiintrin.h +61 -0
  163. package/framework/tools/x64/lib/clang/17/include/prfchwintrin.h +58 -0
  164. package/framework/tools/x64/lib/clang/17/include/ptwriteintrin.h +37 -0
  165. package/framework/tools/x64/lib/clang/17/include/raointintrin.h +203 -0
  166. package/framework/tools/x64/lib/clang/17/include/rdpruintrin.h +57 -0
  167. package/framework/tools/x64/lib/clang/17/include/rdseedintrin.h +105 -0
  168. package/framework/tools/x64/lib/clang/17/include/riscv_ntlh.h +28 -0
  169. package/framework/tools/x64/lib/clang/17/include/rtmintrin.h +45 -0
  170. package/framework/tools/x64/lib/clang/17/include/s390intrin.h +25 -0
  171. package/framework/tools/x64/lib/clang/17/include/serializeintrin.h +30 -0
  172. package/framework/tools/x64/lib/clang/17/include/sgxintrin.h +60 -0
  173. package/framework/tools/x64/lib/clang/17/include/sha512intrin.h +200 -0
  174. package/framework/tools/x64/lib/clang/17/include/shaintrin.h +189 -0
  175. package/framework/tools/x64/lib/clang/17/include/sifive_vector.h +16 -0
  176. package/framework/tools/x64/lib/clang/17/include/sm3intrin.h +238 -0
  177. package/framework/tools/x64/lib/clang/17/include/sm4intrin.h +269 -0
  178. package/framework/tools/x64/lib/clang/17/include/smmintrin.h +2328 -0
  179. package/framework/tools/x64/lib/clang/17/include/stdalign.h +26 -0
  180. package/framework/tools/x64/lib/clang/17/include/stdarg.h +51 -0
  181. package/framework/tools/x64/lib/clang/17/include/stdatomic.h +196 -0
  182. package/framework/tools/x64/lib/clang/17/include/stdbool.h +34 -0
  183. package/framework/tools/x64/lib/clang/17/include/stddef.h +133 -0
  184. package/framework/tools/x64/lib/clang/17/include/stdint.h +979 -0
  185. package/framework/tools/x64/lib/clang/17/include/stdnoreturn.h +29 -0
  186. package/framework/tools/x64/lib/clang/17/include/tbmintrin.h +140 -0
  187. package/framework/tools/x64/lib/clang/17/include/tgmath.h +1368 -0
  188. package/framework/tools/x64/lib/clang/17/include/tmmintrin.h +775 -0
  189. package/framework/tools/x64/lib/clang/17/include/tsxldtrkintrin.h +56 -0
  190. package/framework/tools/x64/lib/clang/17/include/uintrintrin.h +157 -0
  191. package/framework/tools/x64/lib/clang/17/include/unwind.h +332 -0
  192. package/framework/tools/x64/lib/clang/17/include/vadefs.h +51 -0
  193. package/framework/tools/x64/lib/clang/17/include/vaesintrin.h +85 -0
  194. package/framework/tools/x64/lib/clang/17/include/varargs.h +12 -0
  195. package/framework/tools/x64/lib/clang/17/include/vecintrin.h +11127 -0
  196. package/framework/tools/x64/lib/clang/17/include/velintrin.h +71 -0
  197. package/framework/tools/x64/lib/clang/17/include/velintrin_approx.h +120 -0
  198. package/framework/tools/x64/lib/clang/17/include/velintrin_gen.h +1257 -0
  199. package/framework/tools/x64/lib/clang/17/include/vpclmulqdqintrin.h +30 -0
  200. package/framework/tools/x64/lib/clang/17/include/waitpkgintrin.h +42 -0
  201. package/framework/tools/x64/lib/clang/17/include/wasm_simd128.h +1997 -0
  202. package/framework/tools/x64/lib/clang/17/include/wbnoinvdintrin.h +24 -0
  203. package/framework/tools/x64/lib/clang/17/include/wmmintrin.h +23 -0
  204. package/framework/tools/x64/lib/clang/17/include/x86gprintrin.h +65 -0
  205. package/framework/tools/x64/lib/clang/17/include/x86intrin.h +67 -0
  206. package/framework/tools/x64/lib/clang/17/include/xmmintrin.h +3017 -0
  207. package/framework/tools/x64/lib/clang/17/include/xopintrin.h +770 -0
  208. package/framework/tools/x64/lib/clang/17/include/xsavecintrin.h +84 -0
  209. package/framework/tools/x64/lib/clang/17/include/xsaveintrin.h +63 -0
  210. package/framework/tools/x64/lib/clang/17/include/xsaveoptintrin.h +34 -0
  211. package/framework/tools/x64/lib/clang/17/include/xsavesintrin.h +44 -0
  212. package/framework/tools/x64/lib/clang/17/include/xtestintrin.h +27 -0
  213. package/framework/tools/x64/metadata-generator +4 -0
  214. package/framework/tools/x64/ns-bundle +0 -0
  215. package/framework/tools/x64/ns-metadata-filter +0 -0
  216. package/framework/typings/c!EGL.d.ts +431 -0
  217. package/framework/typings/c!GLES.d.ts +5002 -0
  218. package/framework/typings/c!GLib.d.ts +14488 -0
  219. package/framework/typings/c!Gtk.d.ts +17630 -0
  220. package/framework/typings/c!X11.d.ts +7054 -0
  221. package/framework/typings/c!_Builtin_intrinsics.d.ts +106 -0
  222. package/framework/typings/c!_Builtin_stddef_max_align_t.d.ts +6 -0
  223. package/framework/typings/c!cairo.d.ts +1248 -0
  224. package/framework/typings/c!fontconfig.d.ts +819 -0
  225. package/framework/typings/c!freetype.d.ts +1068 -0
  226. package/framework/typings/c!gdk_pixbuf.d.ts +326 -0
  227. package/framework/typings/c!graphene.d.ts +320 -0
  228. package/framework/typings/c!harfbuzz.d.ts +1292 -0
  229. package/framework/typings/c!icu.d.ts +3330 -0
  230. package/framework/typings/c!libc.d.ts +11639 -0
  231. package/framework/typings/c!libxml2.d.ts +7029 -0
  232. package/framework/typings/c!pango.d.ts +2225 -0
  233. package/framework/typings/c!uuid.d.ts +68 -0
  234. package/framework/typings/c!zlib.d.ts +276 -0
  235. package/framework/typings/index.d.ts +10 -0
  236. package/framework/typings/linux-runtime.d.ts +90 -0
  237. package/package.json +9 -4
  238. package/README.md +0 -3
@@ -0,0 +1,63 @@
1
+ /*===------------------ enqcmdintrin.h - enqcmd 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 <enqcmdintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __ENQCMDINTRIN_H
15
+ #define __ENQCMDINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file */
18
+ #define _DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("enqcmd")))
20
+
21
+ /// Reads 64-byte command pointed by \a __src, formats 64-byte enqueue store
22
+ /// data, and performs 64-byte enqueue store to memory pointed by \a __dst.
23
+ /// This intrinsics may only be used in User mode.
24
+ ///
25
+ /// \headerfile <x86intrin.h>
26
+ ///
27
+ /// This intrinsics corresponds to the <c> ENQCMD </c> instruction.
28
+ ///
29
+ /// \param __dst
30
+ /// Pointer to the destination of the enqueue store.
31
+ /// \param __src
32
+ /// Pointer to 64-byte command data.
33
+ /// \returns If the command data is successfully written to \a __dst then 0 is
34
+ /// returned. Otherwise 1 is returned.
35
+ static __inline__ int _DEFAULT_FN_ATTRS
36
+ _enqcmd (void *__dst, const void *__src)
37
+ {
38
+ return __builtin_ia32_enqcmd(__dst, __src);
39
+ }
40
+
41
+ /// Reads 64-byte command pointed by \a __src, formats 64-byte enqueue store
42
+ /// data, and performs 64-byte enqueue store to memory pointed by \a __dst
43
+ /// This intrinsic may only be used in Privileged mode.
44
+ ///
45
+ /// \headerfile <x86intrin.h>
46
+ ///
47
+ /// This intrinsics corresponds to the <c> ENQCMDS </c> instruction.
48
+ ///
49
+ /// \param __dst
50
+ /// Pointer to the destination of the enqueue store.
51
+ /// \param __src
52
+ /// Pointer to 64-byte command data.
53
+ /// \returns If the command data is successfully written to \a __dst then 0 is
54
+ /// returned. Otherwise 1 is returned.
55
+ static __inline__ int _DEFAULT_FN_ATTRS
56
+ _enqcmds (void *__dst, const void *__src)
57
+ {
58
+ return __builtin_ia32_enqcmds(__dst, __src);
59
+ }
60
+
61
+ #undef _DEFAULT_FN_ATTRS
62
+
63
+ #endif /* __ENQCMDINTRIN_H */
@@ -0,0 +1,162 @@
1
+ /*===---- f16cintrin.h - F16C 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
+ #if !defined __IMMINTRIN_H
11
+ #error "Never use <f16cintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __F16CINTRIN_H
15
+ #define __F16CINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS128 \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("f16c"), __min_vector_width__(128)))
20
+ #define __DEFAULT_FN_ATTRS256 \
21
+ __attribute__((__always_inline__, __nodebug__, __target__("f16c"), __min_vector_width__(256)))
22
+
23
+ /* NOTE: Intel documents the 128-bit versions of these as being in emmintrin.h,
24
+ * but that's because icc can emulate these without f16c using a library call.
25
+ * Since we don't do that let's leave these in f16cintrin.h.
26
+ */
27
+
28
+ /// Converts a 16-bit half-precision float value into a 32-bit float
29
+ /// value.
30
+ ///
31
+ /// \headerfile <x86intrin.h>
32
+ ///
33
+ /// This intrinsic corresponds to the <c> VCVTPH2PS </c> instruction.
34
+ ///
35
+ /// \param __a
36
+ /// A 16-bit half-precision float value.
37
+ /// \returns The converted 32-bit float value.
38
+ static __inline float __DEFAULT_FN_ATTRS128
39
+ _cvtsh_ss(unsigned short __a)
40
+ {
41
+ __v8hi __v = {(short)__a, 0, 0, 0, 0, 0, 0, 0};
42
+ __v4sf __r = __builtin_ia32_vcvtph2ps(__v);
43
+ return __r[0];
44
+ }
45
+
46
+ /// Converts a 32-bit single-precision float value to a 16-bit
47
+ /// half-precision float value.
48
+ ///
49
+ /// \headerfile <x86intrin.h>
50
+ ///
51
+ /// \code
52
+ /// unsigned short _cvtss_sh(float a, const int imm);
53
+ /// \endcode
54
+ ///
55
+ /// This intrinsic corresponds to the <c> VCVTPS2PH </c> instruction.
56
+ ///
57
+ /// \param a
58
+ /// A 32-bit single-precision float value to be converted to a 16-bit
59
+ /// half-precision float value.
60
+ /// \param imm
61
+ /// An immediate value controlling rounding using bits [2:0]: \n
62
+ /// 000: Nearest \n
63
+ /// 001: Down \n
64
+ /// 010: Up \n
65
+ /// 011: Truncate \n
66
+ /// 1XX: Use MXCSR.RC for rounding
67
+ /// \returns The converted 16-bit half-precision float value.
68
+ #define _cvtss_sh(a, imm) __extension__ ({ \
69
+ (unsigned short)(((__v8hi)__builtin_ia32_vcvtps2ph((__v4sf){a, 0, 0, 0}, \
70
+ (imm)))[0]); })
71
+
72
+ /// Converts a 128-bit vector containing 32-bit float values into a
73
+ /// 128-bit vector containing 16-bit half-precision float values.
74
+ ///
75
+ /// \headerfile <x86intrin.h>
76
+ ///
77
+ /// \code
78
+ /// __m128i _mm_cvtps_ph(__m128 a, const int imm);
79
+ /// \endcode
80
+ ///
81
+ /// This intrinsic corresponds to the <c> VCVTPS2PH </c> instruction.
82
+ ///
83
+ /// \param a
84
+ /// A 128-bit vector containing 32-bit float values.
85
+ /// \param imm
86
+ /// An immediate value controlling rounding using bits [2:0]: \n
87
+ /// 000: Nearest \n
88
+ /// 001: Down \n
89
+ /// 010: Up \n
90
+ /// 011: Truncate \n
91
+ /// 1XX: Use MXCSR.RC for rounding
92
+ /// \returns A 128-bit vector containing converted 16-bit half-precision float
93
+ /// values. The lower 64 bits are used to store the converted 16-bit
94
+ /// half-precision floating-point values.
95
+ #define _mm_cvtps_ph(a, imm) \
96
+ ((__m128i)__builtin_ia32_vcvtps2ph((__v4sf)(__m128)(a), (imm)))
97
+
98
+ /// Converts a 128-bit vector containing 16-bit half-precision float
99
+ /// values into a 128-bit vector containing 32-bit float values.
100
+ ///
101
+ /// \headerfile <x86intrin.h>
102
+ ///
103
+ /// This intrinsic corresponds to the <c> VCVTPH2PS </c> instruction.
104
+ ///
105
+ /// \param __a
106
+ /// A 128-bit vector containing 16-bit half-precision float values. The lower
107
+ /// 64 bits are used in the conversion.
108
+ /// \returns A 128-bit vector of [4 x float] containing converted float values.
109
+ static __inline __m128 __DEFAULT_FN_ATTRS128
110
+ _mm_cvtph_ps(__m128i __a)
111
+ {
112
+ return (__m128)__builtin_ia32_vcvtph2ps((__v8hi)__a);
113
+ }
114
+
115
+ /// Converts a 256-bit vector of [8 x float] into a 128-bit vector
116
+ /// containing 16-bit half-precision float values.
117
+ ///
118
+ /// \headerfile <x86intrin.h>
119
+ ///
120
+ /// \code
121
+ /// __m128i _mm256_cvtps_ph(__m256 a, const int imm);
122
+ /// \endcode
123
+ ///
124
+ /// This intrinsic corresponds to the <c> VCVTPS2PH </c> instruction.
125
+ ///
126
+ /// \param a
127
+ /// A 256-bit vector containing 32-bit single-precision float values to be
128
+ /// converted to 16-bit half-precision float values.
129
+ /// \param imm
130
+ /// An immediate value controlling rounding using bits [2:0]: \n
131
+ /// 000: Nearest \n
132
+ /// 001: Down \n
133
+ /// 010: Up \n
134
+ /// 011: Truncate \n
135
+ /// 1XX: Use MXCSR.RC for rounding
136
+ /// \returns A 128-bit vector containing the converted 16-bit half-precision
137
+ /// float values.
138
+ #define _mm256_cvtps_ph(a, imm) \
139
+ ((__m128i)__builtin_ia32_vcvtps2ph256((__v8sf)(__m256)(a), (imm)))
140
+
141
+ /// Converts a 128-bit vector containing 16-bit half-precision float
142
+ /// values into a 256-bit vector of [8 x float].
143
+ ///
144
+ /// \headerfile <x86intrin.h>
145
+ ///
146
+ /// This intrinsic corresponds to the <c> VCVTPH2PS </c> instruction.
147
+ ///
148
+ /// \param __a
149
+ /// A 128-bit vector containing 16-bit half-precision float values to be
150
+ /// converted to 32-bit single-precision float values.
151
+ /// \returns A vector of [8 x float] containing the converted 32-bit
152
+ /// single-precision float values.
153
+ static __inline __m256 __DEFAULT_FN_ATTRS256
154
+ _mm256_cvtph_ps(__m128i __a)
155
+ {
156
+ return (__m256)__builtin_ia32_vcvtph2ps256((__v8hi)__a);
157
+ }
158
+
159
+ #undef __DEFAULT_FN_ATTRS128
160
+ #undef __DEFAULT_FN_ATTRS256
161
+
162
+ #endif /* __F16CINTRIN_H */
@@ -0,0 +1,168 @@
1
+ /*===---- float.h - Characteristics of floating point types ----------------===
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 __CLANG_FLOAT_H
11
+ #define __CLANG_FLOAT_H
12
+
13
+ /* If we're on MinGW, fall back to the system's float.h, which might have
14
+ * additional definitions provided for Windows.
15
+ * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx
16
+ *
17
+ * Also fall back on Darwin and AIX to allow additional definitions and
18
+ * implementation-defined values.
19
+ */
20
+ #if (defined(__APPLE__) || defined(__MINGW32__) || defined(_MSC_VER) || \
21
+ defined(_AIX)) && \
22
+ __STDC_HOSTED__ && __has_include_next(<float.h>)
23
+
24
+ /* Prior to Apple's 10.7 SDK, float.h SDK header used to apply an extra level
25
+ * of #include_next<float.h> to keep Metrowerks compilers happy. Avoid this
26
+ * extra indirection.
27
+ */
28
+ #ifdef __APPLE__
29
+ #define _FLOAT_H_
30
+ #endif
31
+
32
+ # include_next <float.h>
33
+
34
+ /* Undefine anything that we'll be redefining below. */
35
+ # undef FLT_EVAL_METHOD
36
+ # undef FLT_ROUNDS
37
+ # undef FLT_RADIX
38
+ # undef FLT_MANT_DIG
39
+ # undef DBL_MANT_DIG
40
+ # undef LDBL_MANT_DIG
41
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
42
+ !defined(__STRICT_ANSI__) || \
43
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
44
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
45
+ # undef DECIMAL_DIG
46
+ # endif
47
+ # undef FLT_DIG
48
+ # undef DBL_DIG
49
+ # undef LDBL_DIG
50
+ # undef FLT_MIN_EXP
51
+ # undef DBL_MIN_EXP
52
+ # undef LDBL_MIN_EXP
53
+ # undef FLT_MIN_10_EXP
54
+ # undef DBL_MIN_10_EXP
55
+ # undef LDBL_MIN_10_EXP
56
+ # undef FLT_MAX_EXP
57
+ # undef DBL_MAX_EXP
58
+ # undef LDBL_MAX_EXP
59
+ # undef FLT_MAX_10_EXP
60
+ # undef DBL_MAX_10_EXP
61
+ # undef LDBL_MAX_10_EXP
62
+ # undef FLT_MAX
63
+ # undef DBL_MAX
64
+ # undef LDBL_MAX
65
+ # undef FLT_EPSILON
66
+ # undef DBL_EPSILON
67
+ # undef LDBL_EPSILON
68
+ # undef FLT_MIN
69
+ # undef DBL_MIN
70
+ # undef LDBL_MIN
71
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
72
+ !defined(__STRICT_ANSI__) || \
73
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
74
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
75
+ # undef FLT_TRUE_MIN
76
+ # undef DBL_TRUE_MIN
77
+ # undef LDBL_TRUE_MIN
78
+ # undef FLT_DECIMAL_DIG
79
+ # undef DBL_DECIMAL_DIG
80
+ # undef LDBL_DECIMAL_DIG
81
+ # undef FLT_HAS_SUBNORM
82
+ # undef DBL_HAS_SUBNORM
83
+ # undef LDBL_HAS_SUBNORM
84
+ # endif
85
+ #endif
86
+
87
+ /* Characteristics of floating point types, C99 5.2.4.2.2 */
88
+
89
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
90
+ (defined(__cplusplus) && __cplusplus >= 201103L)
91
+ #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
92
+ #endif
93
+ #define FLT_ROUNDS (__builtin_flt_rounds())
94
+ #define FLT_RADIX __FLT_RADIX__
95
+
96
+ #define FLT_MANT_DIG __FLT_MANT_DIG__
97
+ #define DBL_MANT_DIG __DBL_MANT_DIG__
98
+ #define LDBL_MANT_DIG __LDBL_MANT_DIG__
99
+
100
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
101
+ !defined(__STRICT_ANSI__) || \
102
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
103
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
104
+ # define DECIMAL_DIG __DECIMAL_DIG__
105
+ #endif
106
+
107
+ #define FLT_DIG __FLT_DIG__
108
+ #define DBL_DIG __DBL_DIG__
109
+ #define LDBL_DIG __LDBL_DIG__
110
+
111
+ #define FLT_MIN_EXP __FLT_MIN_EXP__
112
+ #define DBL_MIN_EXP __DBL_MIN_EXP__
113
+ #define LDBL_MIN_EXP __LDBL_MIN_EXP__
114
+
115
+ #define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
116
+ #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
117
+ #define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
118
+
119
+ #define FLT_MAX_EXP __FLT_MAX_EXP__
120
+ #define DBL_MAX_EXP __DBL_MAX_EXP__
121
+ #define LDBL_MAX_EXP __LDBL_MAX_EXP__
122
+
123
+ #define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
124
+ #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
125
+ #define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
126
+
127
+ #define FLT_MAX __FLT_MAX__
128
+ #define DBL_MAX __DBL_MAX__
129
+ #define LDBL_MAX __LDBL_MAX__
130
+
131
+ #define FLT_EPSILON __FLT_EPSILON__
132
+ #define DBL_EPSILON __DBL_EPSILON__
133
+ #define LDBL_EPSILON __LDBL_EPSILON__
134
+
135
+ #define FLT_MIN __FLT_MIN__
136
+ #define DBL_MIN __DBL_MIN__
137
+ #define LDBL_MIN __LDBL_MIN__
138
+
139
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
140
+ !defined(__STRICT_ANSI__) || \
141
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
142
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
143
+ # define FLT_TRUE_MIN __FLT_DENORM_MIN__
144
+ # define DBL_TRUE_MIN __DBL_DENORM_MIN__
145
+ # define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
146
+ # define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
147
+ # define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
148
+ # define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
149
+ # define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
150
+ # define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
151
+ # define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
152
+ #endif
153
+
154
+ #ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
155
+ # define FLT16_MANT_DIG __FLT16_MANT_DIG__
156
+ # define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
157
+ # define FLT16_DIG __FLT16_DIG__
158
+ # define FLT16_MIN_EXP __FLT16_MIN_EXP__
159
+ # define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
160
+ # define FLT16_MAX_EXP __FLT16_MAX_EXP__
161
+ # define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
162
+ # define FLT16_MAX __FLT16_MAX__
163
+ # define FLT16_EPSILON __FLT16_EPSILON__
164
+ # define FLT16_MIN __FLT16_MIN__
165
+ # define FLT16_TRUE_MIN __FLT16_TRUE_MIN__
166
+ #endif /* __STDC_WANT_IEC_60559_TYPES_EXT__ */
167
+
168
+ #endif /* __CLANG_FLOAT_H */
@@ -0,0 +1,218 @@
1
+ /*===---- fma4intrin.h - FMA4 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 <fma4intrin.h> directly; include <x86intrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __FMA4INTRIN_H
15
+ #define __FMA4INTRIN_H
16
+
17
+ #include <pmmintrin.h>
18
+
19
+ /* Define the default attributes for the functions in this file. */
20
+ #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma4"), __min_vector_width__(128)))
21
+ #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma4"), __min_vector_width__(256)))
22
+
23
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
24
+ _mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
25
+ {
26
+ return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
27
+ }
28
+
29
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
30
+ _mm_macc_pd(__m128d __A, __m128d __B, __m128d __C)
31
+ {
32
+ return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
33
+ }
34
+
35
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
36
+ _mm_macc_ss(__m128 __A, __m128 __B, __m128 __C)
37
+ {
38
+ return (__m128)__builtin_ia32_vfmaddss((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
39
+ }
40
+
41
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
42
+ _mm_macc_sd(__m128d __A, __m128d __B, __m128d __C)
43
+ {
44
+ return (__m128d)__builtin_ia32_vfmaddsd((__v2df)__A, (__v2df)__B, (__v2df)__C);
45
+ }
46
+
47
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
48
+ _mm_msub_ps(__m128 __A, __m128 __B, __m128 __C)
49
+ {
50
+ return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
51
+ }
52
+
53
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
54
+ _mm_msub_pd(__m128d __A, __m128d __B, __m128d __C)
55
+ {
56
+ return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
57
+ }
58
+
59
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
60
+ _mm_msub_ss(__m128 __A, __m128 __B, __m128 __C)
61
+ {
62
+ return (__m128)__builtin_ia32_vfmaddss((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
63
+ }
64
+
65
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
66
+ _mm_msub_sd(__m128d __A, __m128d __B, __m128d __C)
67
+ {
68
+ return (__m128d)__builtin_ia32_vfmaddsd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
69
+ }
70
+
71
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
72
+ _mm_nmacc_ps(__m128 __A, __m128 __B, __m128 __C)
73
+ {
74
+ return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
75
+ }
76
+
77
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
78
+ _mm_nmacc_pd(__m128d __A, __m128d __B, __m128d __C)
79
+ {
80
+ return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
81
+ }
82
+
83
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
84
+ _mm_nmacc_ss(__m128 __A, __m128 __B, __m128 __C)
85
+ {
86
+ return (__m128)__builtin_ia32_vfmaddss(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
87
+ }
88
+
89
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
90
+ _mm_nmacc_sd(__m128d __A, __m128d __B, __m128d __C)
91
+ {
92
+ return (__m128d)__builtin_ia32_vfmaddsd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
93
+ }
94
+
95
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
96
+ _mm_nmsub_ps(__m128 __A, __m128 __B, __m128 __C)
97
+ {
98
+ return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
99
+ }
100
+
101
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
102
+ _mm_nmsub_pd(__m128d __A, __m128d __B, __m128d __C)
103
+ {
104
+ return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
105
+ }
106
+
107
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
108
+ _mm_nmsub_ss(__m128 __A, __m128 __B, __m128 __C)
109
+ {
110
+ return (__m128)__builtin_ia32_vfmaddss(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
111
+ }
112
+
113
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
114
+ _mm_nmsub_sd(__m128d __A, __m128d __B, __m128d __C)
115
+ {
116
+ return (__m128d)__builtin_ia32_vfmaddsd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
117
+ }
118
+
119
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
120
+ _mm_maddsub_ps(__m128 __A, __m128 __B, __m128 __C)
121
+ {
122
+ return (__m128)__builtin_ia32_vfmaddsubps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
123
+ }
124
+
125
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
126
+ _mm_maddsub_pd(__m128d __A, __m128d __B, __m128d __C)
127
+ {
128
+ return (__m128d)__builtin_ia32_vfmaddsubpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
129
+ }
130
+
131
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
132
+ _mm_msubadd_ps(__m128 __A, __m128 __B, __m128 __C)
133
+ {
134
+ return (__m128)__builtin_ia32_vfmaddsubps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
135
+ }
136
+
137
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
138
+ _mm_msubadd_pd(__m128d __A, __m128d __B, __m128d __C)
139
+ {
140
+ return (__m128d)__builtin_ia32_vfmaddsubpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
141
+ }
142
+
143
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
144
+ _mm256_macc_ps(__m256 __A, __m256 __B, __m256 __C)
145
+ {
146
+ return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
147
+ }
148
+
149
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
150
+ _mm256_macc_pd(__m256d __A, __m256d __B, __m256d __C)
151
+ {
152
+ return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
153
+ }
154
+
155
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
156
+ _mm256_msub_ps(__m256 __A, __m256 __B, __m256 __C)
157
+ {
158
+ return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
159
+ }
160
+
161
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
162
+ _mm256_msub_pd(__m256d __A, __m256d __B, __m256d __C)
163
+ {
164
+ return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
165
+ }
166
+
167
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
168
+ _mm256_nmacc_ps(__m256 __A, __m256 __B, __m256 __C)
169
+ {
170
+ return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
171
+ }
172
+
173
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
174
+ _mm256_nmacc_pd(__m256d __A, __m256d __B, __m256d __C)
175
+ {
176
+ return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, (__v4df)__C);
177
+ }
178
+
179
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
180
+ _mm256_nmsub_ps(__m256 __A, __m256 __B, __m256 __C)
181
+ {
182
+ return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
183
+ }
184
+
185
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
186
+ _mm256_nmsub_pd(__m256d __A, __m256d __B, __m256d __C)
187
+ {
188
+ return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
189
+ }
190
+
191
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
192
+ _mm256_maddsub_ps(__m256 __A, __m256 __B, __m256 __C)
193
+ {
194
+ return (__m256)__builtin_ia32_vfmaddsubps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
195
+ }
196
+
197
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
198
+ _mm256_maddsub_pd(__m256d __A, __m256d __B, __m256d __C)
199
+ {
200
+ return (__m256d)__builtin_ia32_vfmaddsubpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
201
+ }
202
+
203
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
204
+ _mm256_msubadd_ps(__m256 __A, __m256 __B, __m256 __C)
205
+ {
206
+ return (__m256)__builtin_ia32_vfmaddsubps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
207
+ }
208
+
209
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
210
+ _mm256_msubadd_pd(__m256d __A, __m256d __B, __m256d __C)
211
+ {
212
+ return (__m256d)__builtin_ia32_vfmaddsubpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
213
+ }
214
+
215
+ #undef __DEFAULT_FN_ATTRS128
216
+ #undef __DEFAULT_FN_ATTRS256
217
+
218
+ #endif /* __FMA4INTRIN_H */