@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,97 @@
1
+ /*===---- inttypes.h - Standard header for integer printf macros ----------===*\
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 __CLANG_INTTYPES_H
10
+ // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
11
+ // is defined until an inclusion of it without _STD_TYPES_T occurs, in which
12
+ // case the header guard macro is defined.
13
+ #if !defined(_AIX) || !defined(_STD_TYPES_T)
14
+ #define __CLANG_INTTYPES_H
15
+ #endif
16
+
17
+ #if defined(_MSC_VER) && _MSC_VER < 1800
18
+ #error MSVC does not have inttypes.h prior to Visual Studio 2013
19
+ #endif
20
+
21
+ #include_next <inttypes.h>
22
+
23
+ #if defined(_MSC_VER) && _MSC_VER < 1900
24
+ /* MSVC headers define int32_t as int, but PRIx32 as "lx" instead of "x".
25
+ * This triggers format warnings, so fix it up here. */
26
+ #undef PRId32
27
+ #undef PRIdLEAST32
28
+ #undef PRIdFAST32
29
+ #undef PRIi32
30
+ #undef PRIiLEAST32
31
+ #undef PRIiFAST32
32
+ #undef PRIo32
33
+ #undef PRIoLEAST32
34
+ #undef PRIoFAST32
35
+ #undef PRIu32
36
+ #undef PRIuLEAST32
37
+ #undef PRIuFAST32
38
+ #undef PRIx32
39
+ #undef PRIxLEAST32
40
+ #undef PRIxFAST32
41
+ #undef PRIX32
42
+ #undef PRIXLEAST32
43
+ #undef PRIXFAST32
44
+
45
+ #undef SCNd32
46
+ #undef SCNdLEAST32
47
+ #undef SCNdFAST32
48
+ #undef SCNi32
49
+ #undef SCNiLEAST32
50
+ #undef SCNiFAST32
51
+ #undef SCNo32
52
+ #undef SCNoLEAST32
53
+ #undef SCNoFAST32
54
+ #undef SCNu32
55
+ #undef SCNuLEAST32
56
+ #undef SCNuFAST32
57
+ #undef SCNx32
58
+ #undef SCNxLEAST32
59
+ #undef SCNxFAST32
60
+
61
+ #define PRId32 "d"
62
+ #define PRIdLEAST32 "d"
63
+ #define PRIdFAST32 "d"
64
+ #define PRIi32 "i"
65
+ #define PRIiLEAST32 "i"
66
+ #define PRIiFAST32 "i"
67
+ #define PRIo32 "o"
68
+ #define PRIoLEAST32 "o"
69
+ #define PRIoFAST32 "o"
70
+ #define PRIu32 "u"
71
+ #define PRIuLEAST32 "u"
72
+ #define PRIuFAST32 "u"
73
+ #define PRIx32 "x"
74
+ #define PRIxLEAST32 "x"
75
+ #define PRIxFAST32 "x"
76
+ #define PRIX32 "X"
77
+ #define PRIXLEAST32 "X"
78
+ #define PRIXFAST32 "X"
79
+
80
+ #define SCNd32 "d"
81
+ #define SCNdLEAST32 "d"
82
+ #define SCNdFAST32 "d"
83
+ #define SCNi32 "i"
84
+ #define SCNiLEAST32 "i"
85
+ #define SCNiFAST32 "i"
86
+ #define SCNo32 "o"
87
+ #define SCNoLEAST32 "o"
88
+ #define SCNoFAST32 "o"
89
+ #define SCNu32 "u"
90
+ #define SCNuLEAST32 "u"
91
+ #define SCNuFAST32 "u"
92
+ #define SCNx32 "x"
93
+ #define SCNxLEAST32 "x"
94
+ #define SCNxFAST32 "x"
95
+ #endif
96
+
97
+ #endif /* __CLANG_INTTYPES_H */
@@ -0,0 +1,23 @@
1
+ /*===------------- invpcidintrin.h - INVPCID 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 <invpcidintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __INVPCIDINTRIN_H
15
+ #define __INVPCIDINTRIN_H
16
+
17
+ static __inline__ void
18
+ __attribute__((__always_inline__, __nodebug__, __target__("invpcid")))
19
+ _invpcid(unsigned int __type, void *__descriptor) {
20
+ __builtin_ia32_invpcid(__type, __descriptor);
21
+ }
22
+
23
+ #endif /* __INVPCIDINTRIN_H */
@@ -0,0 +1,27 @@
1
+ /*===---- iso646.h - Standard header for alternate spellings of operators---===
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 __ISO646_H
11
+ #define __ISO646_H
12
+
13
+ #ifndef __cplusplus
14
+ #define and &&
15
+ #define and_eq &=
16
+ #define bitand &
17
+ #define bitor |
18
+ #define compl ~
19
+ #define not !
20
+ #define not_eq !=
21
+ #define or ||
22
+ #define or_eq |=
23
+ #define xor ^
24
+ #define xor_eq ^=
25
+ #endif
26
+
27
+ #endif /* __ISO646_H */
@@ -0,0 +1,530 @@
1
+ /*===----------------- keylockerintrin.h - KL Intrinsics -------------------===
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to deal
5
+ * in the Software without restriction, including without limitation the rights
6
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ * copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ * THE SOFTWARE.
20
+ *
21
+ *===-----------------------------------------------------------------------===
22
+ */
23
+
24
+ #ifndef __IMMINTRIN_H
25
+ #error "Never use <keylockerintrin.h> directly; include <immintrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef _KEYLOCKERINTRIN_H
29
+ #define _KEYLOCKERINTRIN_H
30
+
31
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
32
+ defined(__KL__)
33
+
34
+ /* Define the default attributes for the functions in this file. */
35
+ #define __DEFAULT_FN_ATTRS \
36
+ __attribute__((__always_inline__, __nodebug__, __target__("kl"),\
37
+ __min_vector_width__(128)))
38
+
39
+ /// Load internal wrapping key from __intkey, __enkey_lo and __enkey_hi. __ctl
40
+ /// will assigned to EAX, whch specifies the KeySource and whether backing up
41
+ /// the key is permitted. The 256-bit encryption key is loaded from the two
42
+ /// explicit operands (__enkey_lo and __enkey_hi). The 128-bit integrity key is
43
+ /// loaded from the implicit operand XMM0 which assigned by __intkey.
44
+ ///
45
+ /// \headerfile <x86intrin.h>
46
+ ///
47
+ /// This intrinsic corresponds to the <c> LOADIWKEY </c> instructions.
48
+ ///
49
+ /// \code{.operation}
50
+ /// IF CPL > 0 // LOADKWKEY only allowed at ring 0 (supervisor mode)
51
+ /// GP (0)
52
+ /// FI
53
+ /// IF “LOADIWKEY exiting” VM execution control set
54
+ /// VMexit
55
+ /// FI
56
+ /// IF __ctl[4:1] > 1 // Reserved KeySource encoding used
57
+ /// GP (0)
58
+ /// FI
59
+ /// IF __ctl[31:5] != 0 // Reserved bit in __ctl is set
60
+ /// GP (0)
61
+ /// FI
62
+ /// IF __ctl[0] AND (CPUID.19H.ECX[0] == 0) // NoBackup is not supported on this part
63
+ /// GP (0)
64
+ /// FI
65
+ /// IF (__ctl[4:1] == 1) AND (CPUID.19H.ECX[1] == 0) // KeySource of 1 is not supported on this part
66
+ /// GP (0)
67
+ /// FI
68
+ /// IF (__ctl[4:1] == 0) // KeySource of 0.
69
+ /// IWKey.Encryption Key[127:0] := __enkey_hi[127:0]:
70
+ /// IWKey.Encryption Key[255:128] := __enkey_lo[127:0]
71
+ /// IWKey.IntegrityKey[127:0] := __intkey[127:0]
72
+ /// IWKey.NoBackup := __ctl[0]
73
+ /// IWKey.KeySource := __ctl[4:1]
74
+ /// ZF := 0
75
+ /// ELSE // KeySource of 1. See RDSEED definition for details of randomness
76
+ /// IF HW_NRND_GEN.ready == 1 // Full-entropy random data from RDSEED was received
77
+ /// IWKey.Encryption Key[127:0] := __enkey_hi[127:0] XOR HW_NRND_GEN.data[127:0]
78
+ /// IWKey.Encryption Key[255:128] := __enkey_lo[127:0] XOR HW_NRND_GEN.data[255:128]
79
+ /// IWKey.Encryption Key[255:0] := __enkey_hi[127:0]:__enkey_lo[127:0] XOR HW_NRND_GEN.data[255:0]
80
+ /// IWKey.IntegrityKey[127:0] := __intkey[127:0] XOR HW_NRND_GEN.data[383:256]
81
+ /// IWKey.NoBackup := __ctl[0]
82
+ /// IWKey.KeySource := __ctl[4:1]
83
+ /// ZF := 0
84
+ /// ELSE // Random data was not returned from RDSEED. IWKey was not loaded
85
+ /// ZF := 1
86
+ /// FI
87
+ /// FI
88
+ /// dst := ZF
89
+ /// OF := 0
90
+ /// SF := 0
91
+ /// AF := 0
92
+ /// PF := 0
93
+ /// CF := 0
94
+ /// \endcode
95
+ static __inline__ void __DEFAULT_FN_ATTRS
96
+ _mm_loadiwkey (unsigned int __ctl, __m128i __intkey,
97
+ __m128i __enkey_lo, __m128i __enkey_hi) {
98
+ __builtin_ia32_loadiwkey (__intkey, __enkey_lo, __enkey_hi, __ctl);
99
+ }
100
+
101
+ /// Wrap a 128-bit AES key from __key into a key handle and output in
102
+ /// ((__m128i*)__h) to ((__m128i*)__h) + 2 and a 32-bit value as return.
103
+ /// The explicit source operand __htype specifies handle restrictions.
104
+ ///
105
+ /// \headerfile <x86intrin.h>
106
+ ///
107
+ /// This intrinsic corresponds to the <c> ENCODEKEY128 </c> instructions.
108
+ ///
109
+ /// \code{.operation}
110
+ /// InputKey[127:0] := __key[127:0]
111
+ /// KeyMetadata[2:0] := __htype[2:0]
112
+ /// KeyMetadata[23:3] := 0 // Reserved for future usage
113
+ /// KeyMetadata[27:24] := 0 // KeyType is AES-128 (value of 0)
114
+ /// KeyMetadata[127:28] := 0 // Reserved for future usage
115
+ /// Handle[383:0] := WrapKey128(InputKey[127:0], KeyMetadata[127:0],
116
+ /// IWKey.Integrity Key[127:0], IWKey.Encryption Key[255:0])
117
+ /// dst[0] := IWKey.NoBackup
118
+ /// dst[4:1] := IWKey.KeySource[3:0]
119
+ /// dst[31:5] := 0
120
+ /// MEM[__h+127:__h] := Handle[127:0] // AAD
121
+ /// MEM[__h+255:__h+128] := Handle[255:128] // Integrity Tag
122
+ /// MEM[__h+383:__h+256] := Handle[383:256] // CipherText
123
+ /// OF := 0
124
+ /// SF := 0
125
+ /// ZF := 0
126
+ /// AF := 0
127
+ /// PF := 0
128
+ /// CF := 0
129
+ /// \endcode
130
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS
131
+ _mm_encodekey128_u32(unsigned int __htype, __m128i __key, void *__h) {
132
+ return __builtin_ia32_encodekey128_u32(__htype, (__v2di)__key, __h);
133
+ }
134
+
135
+ /// Wrap a 256-bit AES key from __key_hi:__key_lo into a key handle, then
136
+ /// output handle in ((__m128i*)__h) to ((__m128i*)__h) + 3 and
137
+ /// a 32-bit value as return.
138
+ /// The explicit source operand __htype specifies handle restrictions.
139
+ ///
140
+ /// \headerfile <x86intrin.h>
141
+ ///
142
+ /// This intrinsic corresponds to the <c> ENCODEKEY256 </c> instructions.
143
+ ///
144
+ /// \code{.operation}
145
+ /// InputKey[127:0] := __key_lo[127:0]
146
+ /// InputKey[255:128] := __key_hi[255:128]
147
+ /// KeyMetadata[2:0] := __htype[2:0]
148
+ /// KeyMetadata[23:3] := 0 // Reserved for future usage
149
+ /// KeyMetadata[27:24] := 1 // KeyType is AES-256 (value of 1)
150
+ /// KeyMetadata[127:28] := 0 // Reserved for future usage
151
+ /// Handle[511:0] := WrapKey256(InputKey[255:0], KeyMetadata[127:0],
152
+ /// IWKey.Integrity Key[127:0], IWKey.Encryption Key[255:0])
153
+ /// dst[0] := IWKey.NoBackup
154
+ /// dst[4:1] := IWKey.KeySource[3:0]
155
+ /// dst[31:5] := 0
156
+ /// MEM[__h+127:__h] := Handle[127:0] // AAD
157
+ /// MEM[__h+255:__h+128] := Handle[255:128] // Tag
158
+ /// MEM[__h+383:__h+256] := Handle[383:256] // CipherText[127:0]
159
+ /// MEM[__h+511:__h+384] := Handle[511:384] // CipherText[255:128]
160
+ /// OF := 0
161
+ /// SF := 0
162
+ /// ZF := 0
163
+ /// AF := 0
164
+ /// PF := 0
165
+ /// CF := 0
166
+ /// \endcode
167
+ static __inline__ unsigned int __DEFAULT_FN_ATTRS
168
+ _mm_encodekey256_u32(unsigned int __htype, __m128i __key_lo, __m128i __key_hi,
169
+ void *__h) {
170
+ return __builtin_ia32_encodekey256_u32(__htype, (__v2di)__key_lo,
171
+ (__v2di)__key_hi, __h);
172
+ }
173
+
174
+ /// The AESENC128KL performs 10 rounds of AES to encrypt the __idata using
175
+ /// the 128-bit key in the handle from the __h. It stores the result in the
176
+ /// __odata. And return the affected ZF flag status.
177
+ ///
178
+ /// \headerfile <x86intrin.h>
179
+ ///
180
+ /// This intrinsic corresponds to the <c> AESENC128KL </c> instructions.
181
+ ///
182
+ /// \code{.operation}
183
+ /// Handle[383:0] := MEM[__h+383:__h] // Load is not guaranteed to be atomic.
184
+ /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
185
+ /// (Handle[127:0] AND (CPL > 0)) ||
186
+ /// Handle[383:256] ||
187
+ /// HandleKeyType (Handle[383:0]) != HANDLE_KEY_TYPE_AES128 )
188
+ /// IF (IllegalHandle)
189
+ /// ZF := 1
190
+ /// ELSE
191
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
192
+ /// IF (Authentic == 0)
193
+ /// ZF := 1
194
+ /// ELSE
195
+ /// MEM[__odata+127:__odata] := AES128Encrypt (__idata[127:0], UnwrappedKey)
196
+ /// ZF := 0
197
+ /// FI
198
+ /// FI
199
+ /// dst := ZF
200
+ /// OF := 0
201
+ /// SF := 0
202
+ /// AF := 0
203
+ /// PF := 0
204
+ /// CF := 0
205
+ /// \endcode
206
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
207
+ _mm_aesenc128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
208
+ return __builtin_ia32_aesenc128kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
209
+ }
210
+
211
+ /// The AESENC256KL performs 14 rounds of AES to encrypt the __idata using
212
+ /// the 256-bit key in the handle from the __h. It stores the result in the
213
+ /// __odata. And return the affected ZF flag status.
214
+ ///
215
+ /// \headerfile <x86intrin.h>
216
+ ///
217
+ /// This intrinsic corresponds to the <c> AESENC256KL </c> instructions.
218
+ ///
219
+ /// \code{.operation}
220
+ /// Handle[511:0] := MEM[__h+511:__h] // Load is not guaranteed to be atomic.
221
+ /// IllegalHandle := ( HandleReservedBitSet (Handle[511:0]) ||
222
+ /// (Handle[127:0] AND (CPL > 0)) ||
223
+ /// Handle[255:128] ||
224
+ /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES256 )
225
+ /// IF (IllegalHandle)
226
+ /// ZF := 1
227
+ /// MEM[__odata+127:__odata] := 0
228
+ /// ELSE
229
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
230
+ /// IF (Authentic == 0)
231
+ /// ZF := 1
232
+ /// MEM[__odata+127:__odata] := 0
233
+ /// ELSE
234
+ /// MEM[__odata+127:__odata] := AES256Encrypt (__idata[127:0], UnwrappedKey)
235
+ /// ZF := 0
236
+ /// FI
237
+ /// FI
238
+ /// dst := ZF
239
+ /// OF := 0
240
+ /// SF := 0
241
+ /// AF := 0
242
+ /// PF := 0
243
+ /// CF := 0
244
+ /// \endcode
245
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
246
+ _mm_aesenc256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
247
+ return __builtin_ia32_aesenc256kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
248
+ }
249
+
250
+ /// The AESDEC128KL performs 10 rounds of AES to decrypt the __idata using
251
+ /// the 128-bit key in the handle from the __h. It stores the result in the
252
+ /// __odata. And return the affected ZF flag status.
253
+ ///
254
+ /// \headerfile <x86intrin.h>
255
+ ///
256
+ /// This intrinsic corresponds to the <c> AESDEC128KL </c> instructions.
257
+ ///
258
+ /// \code{.operation}
259
+ /// Handle[383:0] := MEM[__h+383:__h] // Load is not guaranteed to be atomic.
260
+ /// IllegalHandle := (HandleReservedBitSet (Handle[383:0]) ||
261
+ /// (Handle[127:0] AND (CPL > 0)) ||
262
+ /// Handle[383:256] ||
263
+ /// HandleKeyType (Handle[383:0]) != HANDLE_KEY_TYPE_AES128)
264
+ /// IF (IllegalHandle)
265
+ /// ZF := 1
266
+ /// MEM[__odata+127:__odata] := 0
267
+ /// ELSE
268
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
269
+ /// IF (Authentic == 0)
270
+ /// ZF := 1
271
+ /// MEM[__odata+127:__odata] := 0
272
+ /// ELSE
273
+ /// MEM[__odata+127:__odata] := AES128Decrypt (__idata[127:0], UnwrappedKey)
274
+ /// ZF := 0
275
+ /// FI
276
+ /// FI
277
+ /// dst := ZF
278
+ /// OF := 0
279
+ /// SF := 0
280
+ /// AF := 0
281
+ /// PF := 0
282
+ /// CF := 0
283
+ /// \endcode
284
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
285
+ _mm_aesdec128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
286
+ return __builtin_ia32_aesdec128kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
287
+ }
288
+
289
+ /// The AESDEC256KL performs 10 rounds of AES to decrypt the __idata using
290
+ /// the 256-bit key in the handle from the __h. It stores the result in the
291
+ /// __odata. And return the affected ZF flag status.
292
+ ///
293
+ /// \headerfile <x86intrin.h>
294
+ ///
295
+ /// This intrinsic corresponds to the <c> AESDEC256KL </c> instructions.
296
+ ///
297
+ /// \code{.operation}
298
+ /// Handle[511:0] := MEM[__h+511:__h]
299
+ /// IllegalHandle := (HandleReservedBitSet (Handle[511:0]) ||
300
+ /// (Handle[127:0] AND (CPL > 0)) ||
301
+ /// Handle[383:256] ||
302
+ /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES256)
303
+ /// IF (IllegalHandle)
304
+ /// ZF := 1
305
+ /// MEM[__odata+127:__odata] := 0
306
+ /// ELSE
307
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
308
+ /// IF (Authentic == 0)
309
+ /// ZF := 1
310
+ /// MEM[__odata+127:__odata] := 0
311
+ /// ELSE
312
+ /// MEM[__odata+127:__odata] := AES256Decrypt (__idata[127:0], UnwrappedKey)
313
+ /// ZF := 0
314
+ /// FI
315
+ /// FI
316
+ /// dst := ZF
317
+ /// OF := 0
318
+ /// SF := 0
319
+ /// AF := 0
320
+ /// PF := 0
321
+ /// CF := 0
322
+ /// \endcode
323
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
324
+ _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
325
+ return __builtin_ia32_aesdec256kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
326
+ }
327
+
328
+ #undef __DEFAULT_FN_ATTRS
329
+
330
+ #endif /* !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) \
331
+ || defined(__KL__) */
332
+
333
+ #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
334
+ defined(__WIDEKL__)
335
+
336
+ /* Define the default attributes for the functions in this file. */
337
+ #define __DEFAULT_FN_ATTRS \
338
+ __attribute__((__always_inline__, __nodebug__, __target__("kl,widekl"),\
339
+ __min_vector_width__(128)))
340
+
341
+ /// Encrypt __idata[0] to __idata[7] using 128-bit AES key indicated by handle
342
+ /// at __h and store each resultant block back from __odata to __odata+7. And
343
+ /// return the affected ZF flag status.
344
+ ///
345
+ /// \headerfile <x86intrin.h>
346
+ ///
347
+ /// This intrinsic corresponds to the <c> AESENCWIDE128KL </c> instructions.
348
+ ///
349
+ /// \code{.operation}
350
+ /// Handle := MEM[__h+383:__h]
351
+ /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
352
+ /// (Handle[127:0] AND (CPL > 0)) ||
353
+ /// Handle[255:128] ||
354
+ /// HandleKeyType (Handle[383:0]) != HANDLE_KEY_TYPE_AES128 )
355
+ /// IF (IllegalHandle)
356
+ /// ZF := 1
357
+ /// FOR i := 0 to 7
358
+ /// __odata[i] := 0
359
+ /// ENDFOR
360
+ /// ELSE
361
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
362
+ /// IF Authentic == 0
363
+ /// ZF := 1
364
+ /// FOR i := 0 to 7
365
+ /// __odata[i] := 0
366
+ /// ENDFOR
367
+ /// ELSE
368
+ /// FOR i := 0 to 7
369
+ /// __odata[i] := AES128Encrypt (__idata[i], UnwrappedKey)
370
+ /// ENDFOR
371
+ /// ZF := 0
372
+ /// FI
373
+ /// FI
374
+ /// dst := ZF
375
+ /// OF := 0
376
+ /// SF := 0
377
+ /// AF := 0
378
+ /// PF := 0
379
+ /// CF := 0
380
+ /// \endcode
381
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
382
+ _mm_aesencwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
383
+ return __builtin_ia32_aesencwide128kl_u8((__v2di *)__odata,
384
+ (const __v2di *)__idata, __h);
385
+ }
386
+
387
+ /// Encrypt __idata[0] to __idata[7] using 256-bit AES key indicated by handle
388
+ /// at __h and store each resultant block back from __odata to __odata+7. And
389
+ /// return the affected ZF flag status.
390
+ ///
391
+ /// \headerfile <x86intrin.h>
392
+ ///
393
+ /// This intrinsic corresponds to the <c> AESENCWIDE256KL </c> instructions.
394
+ ///
395
+ /// \code{.operation}
396
+ /// Handle[511:0] := MEM[__h+511:__h]
397
+ /// IllegalHandle := ( HandleReservedBitSet (Handle[511:0]) ||
398
+ /// (Handle[127:0] AND (CPL > 0)) ||
399
+ /// Handle[255:128] ||
400
+ /// HandleKeyType (Handle[511:0]) != HANDLE_KEY_TYPE_AES512 )
401
+ /// IF (IllegalHandle)
402
+ /// ZF := 1
403
+ /// FOR i := 0 to 7
404
+ /// __odata[i] := 0
405
+ /// ENDFOR
406
+ /// ELSE
407
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
408
+ /// IF Authentic == 0
409
+ /// ZF := 1
410
+ /// FOR i := 0 to 7
411
+ /// __odata[i] := 0
412
+ /// ENDFOR
413
+ /// ELSE
414
+ /// FOR i := 0 to 7
415
+ /// __odata[i] := AES256Encrypt (__idata[i], UnwrappedKey)
416
+ /// ENDFOR
417
+ /// ZF := 0
418
+ /// FI
419
+ /// FI
420
+ /// dst := ZF
421
+ /// OF := 0
422
+ /// SF := 0
423
+ /// AF := 0
424
+ /// PF := 0
425
+ /// CF := 0
426
+ /// \endcode
427
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
428
+ _mm_aesencwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
429
+ return __builtin_ia32_aesencwide256kl_u8((__v2di *)__odata,
430
+ (const __v2di *)__idata, __h);
431
+ }
432
+
433
+ /// Decrypt __idata[0] to __idata[7] using 128-bit AES key indicated by handle
434
+ /// at __h and store each resultant block back from __odata to __odata+7. And
435
+ /// return the affected ZF flag status.
436
+ ///
437
+ /// \headerfile <x86intrin.h>
438
+ ///
439
+ /// This intrinsic corresponds to the <c> AESDECWIDE128KL </c> instructions.
440
+ ///
441
+ /// \code{.operation}
442
+ /// Handle[383:0] := MEM[__h+383:__h]
443
+ /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
444
+ /// (Handle[127:0] AND (CPL > 0)) ||
445
+ /// Handle[255:128] ||
446
+ /// HandleKeyType (Handle) != HANDLE_KEY_TYPE_AES128 )
447
+ /// IF (IllegalHandle)
448
+ /// ZF := 1
449
+ /// FOR i := 0 to 7
450
+ /// __odata[i] := 0
451
+ /// ENDFOR
452
+ /// ELSE
453
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate384 (Handle[383:0], IWKey)
454
+ /// IF Authentic == 0
455
+ /// ZF := 1
456
+ /// FOR i := 0 to 7
457
+ /// __odata[i] := 0
458
+ /// ENDFOR
459
+ /// ELSE
460
+ /// FOR i := 0 to 7
461
+ /// __odata[i] := AES128Decrypt (__idata[i], UnwrappedKey)
462
+ /// ENDFOR
463
+ /// ZF := 0
464
+ /// FI
465
+ /// FI
466
+ /// dst := ZF
467
+ /// OF := 0
468
+ /// SF := 0
469
+ /// AF := 0
470
+ /// PF := 0
471
+ /// CF := 0
472
+ /// \endcode
473
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
474
+ _mm_aesdecwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
475
+ return __builtin_ia32_aesdecwide128kl_u8((__v2di *)__odata,
476
+ (const __v2di *)__idata, __h);
477
+ }
478
+
479
+ /// Decrypt __idata[0] to __idata[7] using 256-bit AES key indicated by handle
480
+ /// at __h and store each resultant block back from __odata to __odata+7. And
481
+ /// return the affected ZF flag status.
482
+ ///
483
+ /// \headerfile <x86intrin.h>
484
+ ///
485
+ /// This intrinsic corresponds to the <c> AESDECWIDE256KL </c> instructions.
486
+ ///
487
+ /// \code{.operation}
488
+ /// Handle[511:0] := MEM[__h+511:__h]
489
+ /// IllegalHandle = ( HandleReservedBitSet (Handle[511:0]) ||
490
+ /// (Handle[127:0] AND (CPL > 0)) ||
491
+ /// Handle[255:128] ||
492
+ /// HandleKeyType (Handle) != HANDLE_KEY_TYPE_AES512 )
493
+ /// If (IllegalHandle)
494
+ /// ZF := 1
495
+ /// FOR i := 0 to 7
496
+ /// __odata[i] := 0
497
+ /// ENDFOR
498
+ /// ELSE
499
+ /// (UnwrappedKey, Authentic) := UnwrapKeyAndAuthenticate512 (Handle[511:0], IWKey)
500
+ /// IF Authentic == 0
501
+ /// ZF := 1
502
+ /// FOR i := 0 to 7
503
+ /// __odata[i] := 0
504
+ /// ENDFOR
505
+ /// ELSE
506
+ /// FOR i := 0 to 7
507
+ /// __odata[i] := AES256Decrypt (__idata[i], UnwrappedKey)
508
+ /// ENDFOR
509
+ /// ZF := 0
510
+ /// FI
511
+ /// FI
512
+ /// dst := ZF
513
+ /// OF := 0
514
+ /// SF := 0
515
+ /// AF := 0
516
+ /// PF := 0
517
+ /// CF := 0
518
+ /// \endcode
519
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS
520
+ _mm_aesdecwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
521
+ return __builtin_ia32_aesdecwide256kl_u8((__v2di *)__odata,
522
+ (const __v2di *)__idata, __h);
523
+ }
524
+
525
+ #undef __DEFAULT_FN_ATTRS
526
+
527
+ #endif /* !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) \
528
+ || defined(__WIDEKL__) */
529
+
530
+ #endif /* _KEYLOCKERINTRIN_H */