@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,91 @@
1
+ /*===---- fxsrintrin.h - FXSR intrinsic ------------------------------------===
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 <fxsrintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __FXSRINTRIN_H
15
+ #define __FXSRINTRIN_H
16
+
17
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("fxsr")))
18
+
19
+ /// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte
20
+ /// memory region pointed to by the input parameter \a __p.
21
+ ///
22
+ /// \headerfile <x86intrin.h>
23
+ ///
24
+ /// This intrinsic corresponds to the <c> FXSAVE </c> instruction.
25
+ ///
26
+ /// \param __p
27
+ /// A pointer to a 512-byte memory region. The beginning of this memory
28
+ /// region should be aligned on a 16-byte boundary.
29
+ static __inline__ void __DEFAULT_FN_ATTRS
30
+ _fxsave(void *__p)
31
+ {
32
+ __builtin_ia32_fxsave(__p);
33
+ }
34
+
35
+ /// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte
36
+ /// memory region pointed to by the input parameter \a __p. The contents of
37
+ /// this memory region should have been written to by a previous \c _fxsave
38
+ /// or \c _fxsave64 intrinsic.
39
+ ///
40
+ /// \headerfile <x86intrin.h>
41
+ ///
42
+ /// This intrinsic corresponds to the <c> FXRSTOR </c> instruction.
43
+ ///
44
+ /// \param __p
45
+ /// A pointer to a 512-byte memory region. The beginning of this memory
46
+ /// region should be aligned on a 16-byte boundary.
47
+ static __inline__ void __DEFAULT_FN_ATTRS
48
+ _fxrstor(void *__p)
49
+ {
50
+ __builtin_ia32_fxrstor(__p);
51
+ }
52
+
53
+ #ifdef __x86_64__
54
+ /// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte
55
+ /// memory region pointed to by the input parameter \a __p.
56
+ ///
57
+ /// \headerfile <x86intrin.h>
58
+ ///
59
+ /// This intrinsic corresponds to the <c> FXSAVE64 </c> instruction.
60
+ ///
61
+ /// \param __p
62
+ /// A pointer to a 512-byte memory region. The beginning of this memory
63
+ /// region should be aligned on a 16-byte boundary.
64
+ static __inline__ void __DEFAULT_FN_ATTRS
65
+ _fxsave64(void *__p)
66
+ {
67
+ __builtin_ia32_fxsave64(__p);
68
+ }
69
+
70
+ /// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte
71
+ /// memory region pointed to by the input parameter \a __p. The contents of
72
+ /// this memory region should have been written to by a previous \c _fxsave
73
+ /// or \c _fxsave64 intrinsic.
74
+ ///
75
+ /// \headerfile <x86intrin.h>
76
+ ///
77
+ /// This intrinsic corresponds to the <c> FXRSTOR64 </c> instruction.
78
+ ///
79
+ /// \param __p
80
+ /// A pointer to a 512-byte memory region. The beginning of this memory
81
+ /// region should be aligned on a 16-byte boundary.
82
+ static __inline__ void __DEFAULT_FN_ATTRS
83
+ _fxrstor64(void *__p)
84
+ {
85
+ __builtin_ia32_fxrstor64(__p);
86
+ }
87
+ #endif
88
+
89
+ #undef __DEFAULT_FN_ATTRS
90
+
91
+ #endif
@@ -0,0 +1,194 @@
1
+ /*===----------------- gfniintrin.h - GFNI intrinsics ----------------------===
2
+ *
3
+ *
4
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
+ * See https://llvm.org/LICENSE.txt for license information.
6
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
+ *
8
+ *===-----------------------------------------------------------------------===
9
+ */
10
+ #ifndef __IMMINTRIN_H
11
+ #error "Never use <gfniintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __GFNIINTRIN_H
15
+ #define __GFNIINTRIN_H
16
+
17
+ /* Default attributes for simple form (no masking). */
18
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("gfni"), __min_vector_width__(128)))
19
+
20
+ /* Default attributes for YMM unmasked form. */
21
+ #define __DEFAULT_FN_ATTRS_Y __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), __min_vector_width__(256)))
22
+
23
+ /* Default attributes for ZMM unmasked forms. */
24
+ #define __DEFAULT_FN_ATTRS_Z __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), __min_vector_width__(512)))
25
+ /* Default attributes for ZMM masked forms. */
26
+ #define __DEFAULT_FN_ATTRS_Z_MASK __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), __min_vector_width__(512)))
27
+
28
+ /* Default attributes for VLX masked forms. */
29
+ #define __DEFAULT_FN_ATTRS_VL128 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(128)))
30
+ #define __DEFAULT_FN_ATTRS_VL256 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(256)))
31
+
32
+ #define _mm_gf2p8affineinv_epi64_epi8(A, B, I) \
33
+ ((__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
34
+ (__v16qi)(__m128i)(B), \
35
+ (char)(I)))
36
+
37
+ #define _mm_gf2p8affine_epi64_epi8(A, B, I) \
38
+ ((__m128i)__builtin_ia32_vgf2p8affineqb_v16qi((__v16qi)(__m128i)(A), \
39
+ (__v16qi)(__m128i)(B), \
40
+ (char)(I)))
41
+
42
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
43
+ _mm_gf2p8mul_epi8(__m128i __A, __m128i __B)
44
+ {
45
+ return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi((__v16qi) __A,
46
+ (__v16qi) __B);
47
+ }
48
+
49
+ #ifdef __AVXINTRIN_H
50
+ #define _mm256_gf2p8affineinv_epi64_epi8(A, B, I) \
51
+ ((__m256i)__builtin_ia32_vgf2p8affineinvqb_v32qi((__v32qi)(__m256i)(A), \
52
+ (__v32qi)(__m256i)(B), \
53
+ (char)(I)))
54
+
55
+ #define _mm256_gf2p8affine_epi64_epi8(A, B, I) \
56
+ ((__m256i)__builtin_ia32_vgf2p8affineqb_v32qi((__v32qi)(__m256i)(A), \
57
+ (__v32qi)(__m256i)(B), \
58
+ (char)(I)))
59
+
60
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_Y
61
+ _mm256_gf2p8mul_epi8(__m256i __A, __m256i __B)
62
+ {
63
+ return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi((__v32qi) __A,
64
+ (__v32qi) __B);
65
+ }
66
+ #endif /* __AVXINTRIN_H */
67
+
68
+ #ifdef __AVX512BWINTRIN_H
69
+ #define _mm512_gf2p8affineinv_epi64_epi8(A, B, I) \
70
+ ((__m512i)__builtin_ia32_vgf2p8affineinvqb_v64qi((__v64qi)(__m512i)(A), \
71
+ (__v64qi)(__m512i)(B), \
72
+ (char)(I)))
73
+
74
+ #define _mm512_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
75
+ ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
76
+ (__v64qi)_mm512_gf2p8affineinv_epi64_epi8(A, B, I), \
77
+ (__v64qi)(__m512i)(S)))
78
+
79
+ #define _mm512_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
80
+ _mm512_mask_gf2p8affineinv_epi64_epi8((__m512i)_mm512_setzero_si512(), \
81
+ U, A, B, I)
82
+
83
+ #define _mm512_gf2p8affine_epi64_epi8(A, B, I) \
84
+ ((__m512i)__builtin_ia32_vgf2p8affineqb_v64qi((__v64qi)(__m512i)(A), \
85
+ (__v64qi)(__m512i)(B), \
86
+ (char)(I)))
87
+
88
+ #define _mm512_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
89
+ ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
90
+ (__v64qi)_mm512_gf2p8affine_epi64_epi8((A), (B), (I)), \
91
+ (__v64qi)(__m512i)(S)))
92
+
93
+ #define _mm512_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
94
+ _mm512_mask_gf2p8affine_epi64_epi8((__m512i)_mm512_setzero_si512(), \
95
+ U, A, B, I)
96
+
97
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
98
+ _mm512_gf2p8mul_epi8(__m512i __A, __m512i __B)
99
+ {
100
+ return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi((__v64qi) __A,
101
+ (__v64qi) __B);
102
+ }
103
+
104
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z_MASK
105
+ _mm512_mask_gf2p8mul_epi8(__m512i __S, __mmask64 __U, __m512i __A, __m512i __B)
106
+ {
107
+ return (__m512i) __builtin_ia32_selectb_512(__U,
108
+ (__v64qi) _mm512_gf2p8mul_epi8(__A, __B),
109
+ (__v64qi) __S);
110
+ }
111
+
112
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z_MASK
113
+ _mm512_maskz_gf2p8mul_epi8(__mmask64 __U, __m512i __A, __m512i __B)
114
+ {
115
+ return _mm512_mask_gf2p8mul_epi8((__m512i)_mm512_setzero_si512(),
116
+ __U, __A, __B);
117
+ }
118
+ #endif /* __AVX512BWINTRIN_H */
119
+
120
+ #ifdef __AVX512VLBWINTRIN_H
121
+ #define _mm_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
122
+ ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
123
+ (__v16qi)_mm_gf2p8affineinv_epi64_epi8(A, B, I), \
124
+ (__v16qi)(__m128i)(S)))
125
+
126
+ #define _mm_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
127
+ _mm_mask_gf2p8affineinv_epi64_epi8((__m128i)_mm_setzero_si128(), \
128
+ U, A, B, I)
129
+
130
+ #define _mm256_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
131
+ ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
132
+ (__v32qi)_mm256_gf2p8affineinv_epi64_epi8(A, B, I), \
133
+ (__v32qi)(__m256i)(S)))
134
+
135
+ #define _mm256_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
136
+ _mm256_mask_gf2p8affineinv_epi64_epi8((__m256i)_mm256_setzero_si256(), \
137
+ U, A, B, I)
138
+
139
+ #define _mm_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
140
+ ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
141
+ (__v16qi)_mm_gf2p8affine_epi64_epi8(A, B, I), \
142
+ (__v16qi)(__m128i)(S)))
143
+
144
+ #define _mm_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
145
+ _mm_mask_gf2p8affine_epi64_epi8((__m128i)_mm_setzero_si128(), U, A, B, I)
146
+
147
+ #define _mm256_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
148
+ ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
149
+ (__v32qi)_mm256_gf2p8affine_epi64_epi8(A, B, I), \
150
+ (__v32qi)(__m256i)(S)))
151
+
152
+ #define _mm256_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
153
+ _mm256_mask_gf2p8affine_epi64_epi8((__m256i)_mm256_setzero_si256(), \
154
+ U, A, B, I)
155
+
156
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_VL128
157
+ _mm_mask_gf2p8mul_epi8(__m128i __S, __mmask16 __U, __m128i __A, __m128i __B)
158
+ {
159
+ return (__m128i) __builtin_ia32_selectb_128(__U,
160
+ (__v16qi) _mm_gf2p8mul_epi8(__A, __B),
161
+ (__v16qi) __S);
162
+ }
163
+
164
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_VL128
165
+ _mm_maskz_gf2p8mul_epi8(__mmask16 __U, __m128i __A, __m128i __B)
166
+ {
167
+ return _mm_mask_gf2p8mul_epi8((__m128i)_mm_setzero_si128(),
168
+ __U, __A, __B);
169
+ }
170
+
171
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_VL256
172
+ _mm256_mask_gf2p8mul_epi8(__m256i __S, __mmask32 __U, __m256i __A, __m256i __B)
173
+ {
174
+ return (__m256i) __builtin_ia32_selectb_256(__U,
175
+ (__v32qi) _mm256_gf2p8mul_epi8(__A, __B),
176
+ (__v32qi) __S);
177
+ }
178
+
179
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_VL256
180
+ _mm256_maskz_gf2p8mul_epi8(__mmask32 __U, __m256i __A, __m256i __B)
181
+ {
182
+ return _mm256_mask_gf2p8mul_epi8((__m256i)_mm256_setzero_si256(),
183
+ __U, __A, __B);
184
+ }
185
+ #endif /* __AVX512VLBWINTRIN_H */
186
+
187
+ #undef __DEFAULT_FN_ATTRS
188
+ #undef __DEFAULT_FN_ATTRS_Y
189
+ #undef __DEFAULT_FN_ATTRS_Z
190
+ #undef __DEFAULT_FN_ATTRS_VL128
191
+ #undef __DEFAULT_FN_ATTRS_VL256
192
+
193
+ #endif /* __GFNIINTRIN_H */
194
+
@@ -0,0 +1,298 @@
1
+ //===----------------------------------------------------------------------===//
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
+ #ifndef _HEXAGON_CIRC_BREV_INTRINSICS_H_
10
+ #define _HEXAGON_CIRC_BREV_INTRINSICS_H_ 1
11
+
12
+ #include <hexagon_protos.h>
13
+ #include <stdint.h>
14
+
15
+ /* Circular Load */
16
+ /* ==========================================================================
17
+ Assembly Syntax: Return=instruction()
18
+ C Intrinsic Prototype: void Q6_circ_load_update_D(Word64 dst, Word64 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
19
+ Instruction Type: InstructionType
20
+ Execution Slots: SLOT0123
21
+ ========================================================================== */
22
+ #define Q6_circ_load_update_D(dest,ptr,incr,bufsize,K) \
23
+ { ptr = (int64_t *) HEXAGON_circ_ldd (ptr, &(dest), ((((K)+1)<<24)|((bufsize)<<3)), ((incr)*8)); }
24
+
25
+ /* ==========================================================================
26
+ Assembly Syntax: Return=instruction()
27
+ C Intrinsic Prototype: void Q6_circ_load_update_W(Word32 dst, Word32 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
28
+ Instruction Type: InstructionType
29
+ Execution Slots: SLOT0123
30
+ ========================================================================== */
31
+ #define Q6_circ_load_update_W(dest,ptr,incr,bufsize,K) \
32
+ { ptr = (int *) HEXAGON_circ_ldw (ptr, &(dest), (((K)<<24)|((bufsize)<<2)), ((incr)*4)); }
33
+
34
+ /* ==========================================================================
35
+ Assembly Syntax: Return=instruction()
36
+ C Intrinsic Prototype: void Q6_circ_load_update_H(Word16 dst, Word16 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
37
+ Instruction Type: InstructionType
38
+ Execution Slots: SLOT0123
39
+ ========================================================================== */
40
+ #define Q6_circ_load_update_H(dest,ptr,incr,bufsize,K) \
41
+ { ptr = (int16_t *) HEXAGON_circ_ldh (ptr, &(dest), ((((K)-1)<<24)|((bufsize)<<1)), ((incr)*2)); }
42
+
43
+ /* ==========================================================================
44
+ Assembly Syntax: Return=instruction()
45
+ C Intrinsic Prototype: void Q6_circ_load_update_UH( UWord16 dst, UWord16 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
46
+ Instruction Type: InstructionType
47
+ Execution Slots: SLOT0123
48
+ ========================================================================== */
49
+ #define Q6_circ_load_update_UH(dest,ptr,incr,bufsize,K) \
50
+ { ptr = (uint16_t *) HEXAGON_circ_lduh (ptr, &(dest), ((((K)-1)<<24)|((bufsize)<<1)), ((incr)*2)); }
51
+
52
+ /* ==========================================================================
53
+ Assembly Syntax: Return=instruction()
54
+ C Intrinsic Prototype: void Q6_circ_load_update_B(Word8 dst, Word8 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
55
+ Instruction Type: InstructionType
56
+ Execution Slots: SLOT0123
57
+ ========================================================================== */
58
+ #define Q6_circ_load_update_B(dest,ptr,incr,bufsize,K) \
59
+ { ptr = (int8_t *) HEXAGON_circ_ldb (ptr, &(dest), ((((K)-2)<<24)|(bufsize)), incr); }
60
+
61
+ /* ==========================================================================
62
+ Assembly Syntax: Return=instruction()
63
+ C Intrinsic Prototype: void Q6_circ_load_update_UB(UWord8 dst, UWord8 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
64
+ Instruction Type: InstructionType
65
+ Execution Slots: SLOT0123
66
+ ========================================================================== */
67
+ #define Q6_circ_load_update_UB(dest,ptr,incr,bufsize,K) \
68
+ { ptr = (uint8_t *) HEXAGON_circ_ldub (ptr, &(dest), ((((K)-2)<<24)|(bufsize)), incr); }
69
+
70
+ /* Circular Store */
71
+ /* ==========================================================================
72
+ Assembly Syntax: Return=instruction()
73
+ C Intrinsic Prototype: void Q6_circ_store_update_D(Word64 *src, Word64 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
74
+ Instruction Type: InstructionType
75
+ Execution Slots: SLOT0123
76
+ ========================================================================== */
77
+ #define Q6_circ_store_update_D(src,ptr,incr,bufsize,K) \
78
+ { ptr = (int64_t *) HEXAGON_circ_std (ptr, src, ((((K)+1)<<24)|((bufsize)<<3)), ((incr)*8)); }
79
+
80
+ /* ==========================================================================
81
+ Assembly Syntax: Return=instruction()
82
+ C Intrinsic Prototype: void Q6_circ_store_update_W(Word32 *src, Word32 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
83
+ Instruction Type: InstructionType
84
+ Execution Slots: SLOT0123
85
+ ========================================================================== */
86
+ #define Q6_circ_store_update_W(src,ptr,incr,bufsize,K) \
87
+ { ptr = (int *) HEXAGON_circ_stw (ptr, src, (((K)<<24)|((bufsize)<<2)), ((incr)*4)); }
88
+
89
+ /* ==========================================================================
90
+ Assembly Syntax: Return=instruction()
91
+ C Intrinsic Prototype: void Q6_circ_store_update_HL(Word16 *src, Word16 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
92
+ Instruction Type: InstructionType
93
+ Execution Slots: SLOT0123
94
+ ========================================================================== */
95
+ #define Q6_circ_store_update_HL(src,ptr,incr,bufsize,K) \
96
+ { ptr = (int16_t *) HEXAGON_circ_sth (ptr, src, ((((K)-1)<<24)|((bufsize)<<1)), ((incr)*2)); }
97
+
98
+ /* ==========================================================================
99
+ Assembly Syntax: Return=instruction()
100
+ C Intrinsic Prototype: void Q6_circ_store_update_HH(Word16 *src, Word16 *ptr, UWord32 incr, UWord32 bufsize, UWord32 K)
101
+ Instruction Type: InstructionType
102
+ Execution Slots: SLOT0123
103
+ ========================================================================== */
104
+ #define Q6_circ_store_update_HH(src,ptr,incr,bufsize,K) \
105
+ { ptr = (int16_t *) HEXAGON_circ_sthhi (ptr, src, ((((K)-1)<<24)|((bufsize)<<1)), ((incr)*2)); }
106
+
107
+ /* ==========================================================================
108
+ Assembly Syntax: Return=instruction()
109
+ C Intrinsic Prototype: void Q6_circ_store_update_B(Word8 *src, Word8 *ptr, UWord32 I4, UWord32 bufsize, UWord64 K)
110
+ Instruction Type: InstructionType
111
+ Execution Slots: SLOT0123
112
+ ========================================================================== */
113
+ #define Q6_circ_store_update_B(src,ptr,incr,bufsize,K) \
114
+ { ptr = (int8_t *) HEXAGON_circ_stb (ptr, src, ((((K)-2)<<24)|(bufsize)), incr); }
115
+
116
+
117
+ /* Bit Reverse Load */
118
+ /* ==========================================================================
119
+ Assembly Syntax: Return=instruction()
120
+ C Intrinsic Prototype: void Q6_bitrev_load_update_D(Word64 dst, Word64 *ptr, UWord32 Iu4)
121
+ Instruction Type: InstructionType
122
+ Execution Slots: SLOT0123
123
+ ========================================================================== */
124
+ #define Q6_bitrev_load_update_D(dest,ptr,log2bufsize) \
125
+ { ptr = (int64_t *) HEXAGON_brev_ldd (ptr, &(dest), (1<<(16-((log2bufsize) + 3)))); }
126
+
127
+ /* ==========================================================================
128
+ Assembly Syntax: Return=instruction()
129
+ C Intrinsic Prototype: void Q6_bitrev_load_update_W(Word32 dst, Word32 *ptr, UWord32 Iu4)
130
+ Instruction Type: InstructionType
131
+ Execution Slots: SLOT0123
132
+ ========================================================================== */
133
+ #define Q6_bitrev_load_update_W(dest,ptr,log2bufsize) \
134
+ { ptr = (int *) HEXAGON_brev_ldw (ptr, &(dest), (1<<(16-((log2bufsize) + 2)))); }
135
+
136
+ /* ==========================================================================
137
+ Assembly Syntax: Return=instruction()
138
+ C Intrinsic Prototype: void Q6_bitrev_load_update_H(Word16 dst, Word16 *ptr, UWord32 Iu4)
139
+ Instruction Type: InstructionType
140
+ Execution Slots: SLOT0123
141
+ ========================================================================== */
142
+ #define Q6_bitrev_load_update_H(dest,ptr,log2bufsize) \
143
+ { ptr = (int16_t *) HEXAGON_brev_ldh (ptr, &(dest), (1<<(16-((log2bufsize) + 1)))); }
144
+
145
+ /* ==========================================================================
146
+ Assembly Syntax: Return=instruction()
147
+ C Intrinsic Prototype: void Q6_bitrev_load_update_UH(UWord16 dst, UWord16 *ptr, UWord32 Iu4)
148
+ Instruction Type: InstructionType
149
+ Execution Slots: SLOT0123
150
+ ========================================================================== */
151
+ #define Q6_bitrev_load_update_UH(dest,ptr,log2bufsize) \
152
+ { ptr = (uint16_t *) HEXAGON_brev_lduh (ptr, &(dest), (1<<(16-((log2bufsize) + 1)))); }
153
+
154
+ /* ==========================================================================
155
+ Assembly Syntax: Return=instruction()
156
+ C Intrinsic Prototype: void Q6_bitrev_load_update_B(Word8 dst, Word8 *ptr, UWord32 Iu4)
157
+ Instruction Type: InstructionType
158
+ Execution Slots: SLOT0123
159
+ ========================================================================== */
160
+ #define Q6_bitrev_load_update_B(dest,ptr,log2bufsize) \
161
+ { ptr = (int8_t *) HEXAGON_brev_ldb (ptr, &(dest), (1<<(16-((log2bufsize))))); }
162
+
163
+ /* ==========================================================================
164
+ Assembly Syntax: Return=instruction()
165
+ C Intrinsic Prototype: void Q6_bitrev_load_update_UB(UWord8 dst, UWord8 *ptr, UWord32 Iu4)
166
+ Instruction Type: InstructionType
167
+ Execution Slots: SLOT0123
168
+ ========================================================================== */
169
+ #define Q6_bitrev_load_update_UB(dest,ptr,log2bufsize) \
170
+ { ptr = (uint8_t *) HEXAGON_brev_ldub (ptr, &(dest), (1<<(16-((log2bufsize))))); }
171
+
172
+ /* Bit Reverse Store */
173
+
174
+ /* ==========================================================================
175
+ Assembly Syntax: Return=instruction()
176
+ C Intrinsic Prototype: void Q6_bitrev_store_update_D(Word64 *src, Word64 *ptr, UWord32 Iu4)
177
+ Instruction Type: InstructionType
178
+ Execution Slots: SLOT0123
179
+ ========================================================================== */
180
+ #define Q6_bitrev_store_update_D(src,ptr,log2bufsize) \
181
+ { ptr = (int64_t *) HEXAGON_brev_std (ptr, src, (1<<(16-((log2bufsize) + 3)))); }
182
+
183
+ /* ==========================================================================
184
+ Assembly Syntax: Return=instruction()
185
+ C Intrinsic Prototype: void Q6_bitrev_store_update_W(Word32 *src, Word32 *ptr, UWord32 Iu4)
186
+ Instruction Type: InstructionType
187
+ Execution Slots: SLOT0123
188
+ ========================================================================== */
189
+ #define Q6_bitrev_store_update_W(src,ptr,log2bufsize) \
190
+ { ptr = (int *) HEXAGON_brev_stw (ptr, src, (1<<(16-((log2bufsize) + 2)))); }
191
+
192
+ /* ==========================================================================
193
+ Assembly Syntax: Return=instruction()
194
+ C Intrinsic Prototype: void Q6_bitrev_store_update_HL(Word16 *src, Word16 *ptr, Word32 Iu4)
195
+ Instruction Type: InstructionType
196
+ Execution Slots: SLOT0123
197
+ ========================================================================== */
198
+ #define Q6_bitrev_store_update_HL(src,ptr,log2bufsize) \
199
+ { ptr = (int16_t *) HEXAGON_brev_sth (ptr, src, (1<<(16-((log2bufsize) + 1)))); }
200
+
201
+ /* ==========================================================================
202
+ Assembly Syntax: Return=instruction()
203
+ C Intrinsic Prototype: void Q6_bitrev_store_update_HH(Word16 *src, Word16 *ptr, UWord32 Iu4)
204
+ Instruction Type: InstructionType
205
+ Execution Slots: SLOT0123
206
+ ========================================================================== */
207
+ #define Q6_bitrev_store_update_HH(src,ptr,log2bufsize) \
208
+ { ptr = (int16_t *) HEXAGON_brev_sthhi (ptr, src, (1<<(16-((log2bufsize) + 1)))); }
209
+
210
+ /* ==========================================================================
211
+ Assembly Syntax: Return=instruction()
212
+ C Intrinsic Prototype: void Q6_bitrev_store_update_B(Word8 *src, Word8 *ptr, UWord32 Iu4)
213
+ Instruction Type: InstructionType
214
+ Execution Slots: SLOT0123
215
+ ========================================================================== */
216
+ #define Q6_bitrev_store_update_B(src,ptr,log2bufsize) \
217
+ { ptr = (int8_t *) HEXAGON_brev_stb (ptr, src, (1<<(16-((log2bufsize))))); }
218
+
219
+
220
+ #define HEXAGON_circ_ldd __builtin_circ_ldd
221
+ #define HEXAGON_circ_ldw __builtin_circ_ldw
222
+ #define HEXAGON_circ_ldh __builtin_circ_ldh
223
+ #define HEXAGON_circ_lduh __builtin_circ_lduh
224
+ #define HEXAGON_circ_ldb __builtin_circ_ldb
225
+ #define HEXAGON_circ_ldub __builtin_circ_ldub
226
+
227
+
228
+ #define HEXAGON_circ_std __builtin_circ_std
229
+ #define HEXAGON_circ_stw __builtin_circ_stw
230
+ #define HEXAGON_circ_sth __builtin_circ_sth
231
+ #define HEXAGON_circ_sthhi __builtin_circ_sthhi
232
+ #define HEXAGON_circ_stb __builtin_circ_stb
233
+
234
+
235
+ #define HEXAGON_brev_ldd __builtin_brev_ldd
236
+ #define HEXAGON_brev_ldw __builtin_brev_ldw
237
+ #define HEXAGON_brev_ldh __builtin_brev_ldh
238
+ #define HEXAGON_brev_lduh __builtin_brev_lduh
239
+ #define HEXAGON_brev_ldb __builtin_brev_ldb
240
+ #define HEXAGON_brev_ldub __builtin_brev_ldub
241
+
242
+ #define HEXAGON_brev_std __builtin_brev_std
243
+ #define HEXAGON_brev_stw __builtin_brev_stw
244
+ #define HEXAGON_brev_sth __builtin_brev_sth
245
+ #define HEXAGON_brev_sthhi __builtin_brev_sthhi
246
+ #define HEXAGON_brev_stb __builtin_brev_stb
247
+
248
+ #ifdef __HVX__
249
+ /* ==========================================================================
250
+ Assembly Syntax: if (Qt) vmem(Rt+#0) = Vs
251
+ C Intrinsic Prototype: void Q6_vmaskedstoreq_QAV(HVX_VectorPred Qt, HVX_VectorAddress A, HVX_Vector Vs)
252
+ Instruction Type: COPROC_VMEM
253
+ Execution Slots: SLOT0
254
+ ========================================================================== */
255
+
256
+ #define Q6_vmaskedstoreq_QAV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaskedstoreq)
257
+
258
+ /* ==========================================================================
259
+ Assembly Syntax: if (!Qt) vmem(Rt+#0) = Vs
260
+ C Intrinsic Prototype: void Q6_vmaskedstorenq_QAV(HVX_VectorPred Qt, HVX_VectorAddress A, HVX_Vector Vs)
261
+ Instruction Type: COPROC_VMEM
262
+ Execution Slots: SLOT0
263
+ ========================================================================== */
264
+
265
+ #define Q6_vmaskedstorenq_QAV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaskedstorenq)
266
+
267
+ /* ==========================================================================
268
+ Assembly Syntax: if (Qt) vmem(Rt+#0):nt = Vs
269
+ C Intrinsic Prototype: void Q6_vmaskedstorentq_QAV(HVX_VectorPred Qt, HVX_VectorAddress A, HVX_Vector Vs)
270
+ Instruction Type: COPROC_VMEM
271
+ Execution Slots: SLOT0
272
+ ========================================================================== */
273
+
274
+ #define Q6_vmaskedstorentq_QAV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaskedstorentq)
275
+
276
+ /* ==========================================================================
277
+ Assembly Syntax: if (!Qt) vmem(Rt+#0):nt = Vs
278
+ C Intrinsic Prototype: void Q6_vmaskedstorentnq_QAV(HVX_VectorPred Qt, HVX_VectorAddress A, HVX_Vector Vs)
279
+ Instruction Type: COPROC_VMEM
280
+ Execution Slots: SLOT0
281
+ ========================================================================== */
282
+
283
+ #define Q6_vmaskedstorentnq_QAV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaskedstorentnq)
284
+
285
+ #endif
286
+
287
+
288
+ #endif /* #ifndef _HEXAGON_CIRC_BREV_INTRINSICS_H_ */
289
+
290
+ #ifdef __NOT_DEFINED__
291
+ /*** comment block template ***/
292
+ /* ==========================================================================
293
+ Assembly Syntax: Return=instruction()
294
+ C Intrinsic Prototype: ReturnType Intrinsic(ParamType Rs, ParamType Rt)
295
+ Instruction Type: InstructionType
296
+ Execution Slots: SLOT0123
297
+ ========================================================================== */
298
+ #endif /*** __NOT_DEFINED__ ***/