visaljs 0.0.1 → 0.0.3

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 (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1601 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64) && defined(_WIN32)
7
+ // Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
8
+ //
9
+ // Licensed under the Apache License, Version 2.0 (the "License");
10
+ // you may not use this file except in compliance with the License.
11
+ // You may obtain a copy of the License at
12
+ //
13
+ // https://www.apache.org/licenses/LICENSE-2.0
14
+ //
15
+ // Unless required by applicable law or agreed to in writing, software
16
+ // distributed under the License is distributed on an "AS IS" BASIS,
17
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ // See the License for the specific language governing permissions and
19
+ // limitations under the License.
20
+
21
+ // ====================================================================
22
+ // Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
23
+ // project.
24
+ // ====================================================================
25
+ //
26
+ // SHA256/512 for ARMv8.
27
+ //
28
+ // Performance in cycles per processed byte and improvement coefficient
29
+ // over code generated with "default" compiler:
30
+ //
31
+ // SHA256-hw SHA256(*) SHA512
32
+ // Apple A7 1.97 10.5 (+33%) 6.73 (-1%(**))
33
+ // Cortex-A53 2.38 15.5 (+115%) 10.0 (+150%(***))
34
+ // Cortex-A57 2.31 11.6 (+86%) 7.51 (+260%(***))
35
+ // Denver 2.01 10.5 (+26%) 6.70 (+8%)
36
+ // X-Gene 20.0 (+100%) 12.8 (+300%(***))
37
+ // Mongoose 2.36 13.0 (+50%) 8.36 (+33%)
38
+ // Kryo 1.92 17.4 (+30%) 11.2 (+8%)
39
+ //
40
+ // (*) Software SHA256 results are of lesser relevance, presented
41
+ // mostly for informational purposes.
42
+ // (**) The result is a trade-off: it's possible to improve it by
43
+ // 10% (or by 1 cycle per round), but at the cost of 20% loss
44
+ // on Cortex-A53 (or by 4 cycles per round).
45
+ // (***) Super-impressive coefficients over gcc-generated code are
46
+ // indication of some compiler "pathology", most notably code
47
+ // generated with -mgeneral-regs-only is significantly faster
48
+ // and the gap is only 40-90%.
49
+
50
+ .text
51
+
52
+ .globl sha512_block_data_order_nohw
53
+
54
+ .def sha512_block_data_order_nohw
55
+ .type 32
56
+ .endef
57
+ .align 6
58
+ sha512_block_data_order_nohw:
59
+ AARCH64_SIGN_LINK_REGISTER
60
+ stp x29,x30,[sp,#-128]!
61
+ add x29,sp,#0
62
+
63
+ stp x19,x20,[sp,#16]
64
+ stp x21,x22,[sp,#32]
65
+ stp x23,x24,[sp,#48]
66
+ stp x25,x26,[sp,#64]
67
+ stp x27,x28,[sp,#80]
68
+ sub sp,sp,#4*8
69
+
70
+ ldp x20,x21,[x0] // load context
71
+ ldp x22,x23,[x0,#2*8]
72
+ ldp x24,x25,[x0,#4*8]
73
+ add x2,x1,x2,lsl#7 // end of input
74
+ ldp x26,x27,[x0,#6*8]
75
+ adrp x30,LK512
76
+ add x30,x30,:lo12:LK512
77
+ stp x0,x2,[x29,#96]
78
+
79
+ Loop:
80
+ ldp x3,x4,[x1],#2*8
81
+ ldr x19,[x30],#8 // *K++
82
+ eor x28,x21,x22 // magic seed
83
+ str x1,[x29,#112]
84
+ #ifndef __AARCH64EB__
85
+ rev x3,x3 // 0
86
+ #endif
87
+ ror x16,x24,#14
88
+ add x27,x27,x19 // h+=K[i]
89
+ eor x6,x24,x24,ror#23
90
+ and x17,x25,x24
91
+ bic x19,x26,x24
92
+ add x27,x27,x3 // h+=X[i]
93
+ orr x17,x17,x19 // Ch(e,f,g)
94
+ eor x19,x20,x21 // a^b, b^c in next round
95
+ eor x16,x16,x6,ror#18 // Sigma1(e)
96
+ ror x6,x20,#28
97
+ add x27,x27,x17 // h+=Ch(e,f,g)
98
+ eor x17,x20,x20,ror#5
99
+ add x27,x27,x16 // h+=Sigma1(e)
100
+ and x28,x28,x19 // (b^c)&=(a^b)
101
+ add x23,x23,x27 // d+=h
102
+ eor x28,x28,x21 // Maj(a,b,c)
103
+ eor x17,x6,x17,ror#34 // Sigma0(a)
104
+ add x27,x27,x28 // h+=Maj(a,b,c)
105
+ ldr x28,[x30],#8 // *K++, x19 in next round
106
+ //add x27,x27,x17 // h+=Sigma0(a)
107
+ #ifndef __AARCH64EB__
108
+ rev x4,x4 // 1
109
+ #endif
110
+ ldp x5,x6,[x1],#2*8
111
+ add x27,x27,x17 // h+=Sigma0(a)
112
+ ror x16,x23,#14
113
+ add x26,x26,x28 // h+=K[i]
114
+ eor x7,x23,x23,ror#23
115
+ and x17,x24,x23
116
+ bic x28,x25,x23
117
+ add x26,x26,x4 // h+=X[i]
118
+ orr x17,x17,x28 // Ch(e,f,g)
119
+ eor x28,x27,x20 // a^b, b^c in next round
120
+ eor x16,x16,x7,ror#18 // Sigma1(e)
121
+ ror x7,x27,#28
122
+ add x26,x26,x17 // h+=Ch(e,f,g)
123
+ eor x17,x27,x27,ror#5
124
+ add x26,x26,x16 // h+=Sigma1(e)
125
+ and x19,x19,x28 // (b^c)&=(a^b)
126
+ add x22,x22,x26 // d+=h
127
+ eor x19,x19,x20 // Maj(a,b,c)
128
+ eor x17,x7,x17,ror#34 // Sigma0(a)
129
+ add x26,x26,x19 // h+=Maj(a,b,c)
130
+ ldr x19,[x30],#8 // *K++, x28 in next round
131
+ //add x26,x26,x17 // h+=Sigma0(a)
132
+ #ifndef __AARCH64EB__
133
+ rev x5,x5 // 2
134
+ #endif
135
+ add x26,x26,x17 // h+=Sigma0(a)
136
+ ror x16,x22,#14
137
+ add x25,x25,x19 // h+=K[i]
138
+ eor x8,x22,x22,ror#23
139
+ and x17,x23,x22
140
+ bic x19,x24,x22
141
+ add x25,x25,x5 // h+=X[i]
142
+ orr x17,x17,x19 // Ch(e,f,g)
143
+ eor x19,x26,x27 // a^b, b^c in next round
144
+ eor x16,x16,x8,ror#18 // Sigma1(e)
145
+ ror x8,x26,#28
146
+ add x25,x25,x17 // h+=Ch(e,f,g)
147
+ eor x17,x26,x26,ror#5
148
+ add x25,x25,x16 // h+=Sigma1(e)
149
+ and x28,x28,x19 // (b^c)&=(a^b)
150
+ add x21,x21,x25 // d+=h
151
+ eor x28,x28,x27 // Maj(a,b,c)
152
+ eor x17,x8,x17,ror#34 // Sigma0(a)
153
+ add x25,x25,x28 // h+=Maj(a,b,c)
154
+ ldr x28,[x30],#8 // *K++, x19 in next round
155
+ //add x25,x25,x17 // h+=Sigma0(a)
156
+ #ifndef __AARCH64EB__
157
+ rev x6,x6 // 3
158
+ #endif
159
+ ldp x7,x8,[x1],#2*8
160
+ add x25,x25,x17 // h+=Sigma0(a)
161
+ ror x16,x21,#14
162
+ add x24,x24,x28 // h+=K[i]
163
+ eor x9,x21,x21,ror#23
164
+ and x17,x22,x21
165
+ bic x28,x23,x21
166
+ add x24,x24,x6 // h+=X[i]
167
+ orr x17,x17,x28 // Ch(e,f,g)
168
+ eor x28,x25,x26 // a^b, b^c in next round
169
+ eor x16,x16,x9,ror#18 // Sigma1(e)
170
+ ror x9,x25,#28
171
+ add x24,x24,x17 // h+=Ch(e,f,g)
172
+ eor x17,x25,x25,ror#5
173
+ add x24,x24,x16 // h+=Sigma1(e)
174
+ and x19,x19,x28 // (b^c)&=(a^b)
175
+ add x20,x20,x24 // d+=h
176
+ eor x19,x19,x26 // Maj(a,b,c)
177
+ eor x17,x9,x17,ror#34 // Sigma0(a)
178
+ add x24,x24,x19 // h+=Maj(a,b,c)
179
+ ldr x19,[x30],#8 // *K++, x28 in next round
180
+ //add x24,x24,x17 // h+=Sigma0(a)
181
+ #ifndef __AARCH64EB__
182
+ rev x7,x7 // 4
183
+ #endif
184
+ add x24,x24,x17 // h+=Sigma0(a)
185
+ ror x16,x20,#14
186
+ add x23,x23,x19 // h+=K[i]
187
+ eor x10,x20,x20,ror#23
188
+ and x17,x21,x20
189
+ bic x19,x22,x20
190
+ add x23,x23,x7 // h+=X[i]
191
+ orr x17,x17,x19 // Ch(e,f,g)
192
+ eor x19,x24,x25 // a^b, b^c in next round
193
+ eor x16,x16,x10,ror#18 // Sigma1(e)
194
+ ror x10,x24,#28
195
+ add x23,x23,x17 // h+=Ch(e,f,g)
196
+ eor x17,x24,x24,ror#5
197
+ add x23,x23,x16 // h+=Sigma1(e)
198
+ and x28,x28,x19 // (b^c)&=(a^b)
199
+ add x27,x27,x23 // d+=h
200
+ eor x28,x28,x25 // Maj(a,b,c)
201
+ eor x17,x10,x17,ror#34 // Sigma0(a)
202
+ add x23,x23,x28 // h+=Maj(a,b,c)
203
+ ldr x28,[x30],#8 // *K++, x19 in next round
204
+ //add x23,x23,x17 // h+=Sigma0(a)
205
+ #ifndef __AARCH64EB__
206
+ rev x8,x8 // 5
207
+ #endif
208
+ ldp x9,x10,[x1],#2*8
209
+ add x23,x23,x17 // h+=Sigma0(a)
210
+ ror x16,x27,#14
211
+ add x22,x22,x28 // h+=K[i]
212
+ eor x11,x27,x27,ror#23
213
+ and x17,x20,x27
214
+ bic x28,x21,x27
215
+ add x22,x22,x8 // h+=X[i]
216
+ orr x17,x17,x28 // Ch(e,f,g)
217
+ eor x28,x23,x24 // a^b, b^c in next round
218
+ eor x16,x16,x11,ror#18 // Sigma1(e)
219
+ ror x11,x23,#28
220
+ add x22,x22,x17 // h+=Ch(e,f,g)
221
+ eor x17,x23,x23,ror#5
222
+ add x22,x22,x16 // h+=Sigma1(e)
223
+ and x19,x19,x28 // (b^c)&=(a^b)
224
+ add x26,x26,x22 // d+=h
225
+ eor x19,x19,x24 // Maj(a,b,c)
226
+ eor x17,x11,x17,ror#34 // Sigma0(a)
227
+ add x22,x22,x19 // h+=Maj(a,b,c)
228
+ ldr x19,[x30],#8 // *K++, x28 in next round
229
+ //add x22,x22,x17 // h+=Sigma0(a)
230
+ #ifndef __AARCH64EB__
231
+ rev x9,x9 // 6
232
+ #endif
233
+ add x22,x22,x17 // h+=Sigma0(a)
234
+ ror x16,x26,#14
235
+ add x21,x21,x19 // h+=K[i]
236
+ eor x12,x26,x26,ror#23
237
+ and x17,x27,x26
238
+ bic x19,x20,x26
239
+ add x21,x21,x9 // h+=X[i]
240
+ orr x17,x17,x19 // Ch(e,f,g)
241
+ eor x19,x22,x23 // a^b, b^c in next round
242
+ eor x16,x16,x12,ror#18 // Sigma1(e)
243
+ ror x12,x22,#28
244
+ add x21,x21,x17 // h+=Ch(e,f,g)
245
+ eor x17,x22,x22,ror#5
246
+ add x21,x21,x16 // h+=Sigma1(e)
247
+ and x28,x28,x19 // (b^c)&=(a^b)
248
+ add x25,x25,x21 // d+=h
249
+ eor x28,x28,x23 // Maj(a,b,c)
250
+ eor x17,x12,x17,ror#34 // Sigma0(a)
251
+ add x21,x21,x28 // h+=Maj(a,b,c)
252
+ ldr x28,[x30],#8 // *K++, x19 in next round
253
+ //add x21,x21,x17 // h+=Sigma0(a)
254
+ #ifndef __AARCH64EB__
255
+ rev x10,x10 // 7
256
+ #endif
257
+ ldp x11,x12,[x1],#2*8
258
+ add x21,x21,x17 // h+=Sigma0(a)
259
+ ror x16,x25,#14
260
+ add x20,x20,x28 // h+=K[i]
261
+ eor x13,x25,x25,ror#23
262
+ and x17,x26,x25
263
+ bic x28,x27,x25
264
+ add x20,x20,x10 // h+=X[i]
265
+ orr x17,x17,x28 // Ch(e,f,g)
266
+ eor x28,x21,x22 // a^b, b^c in next round
267
+ eor x16,x16,x13,ror#18 // Sigma1(e)
268
+ ror x13,x21,#28
269
+ add x20,x20,x17 // h+=Ch(e,f,g)
270
+ eor x17,x21,x21,ror#5
271
+ add x20,x20,x16 // h+=Sigma1(e)
272
+ and x19,x19,x28 // (b^c)&=(a^b)
273
+ add x24,x24,x20 // d+=h
274
+ eor x19,x19,x22 // Maj(a,b,c)
275
+ eor x17,x13,x17,ror#34 // Sigma0(a)
276
+ add x20,x20,x19 // h+=Maj(a,b,c)
277
+ ldr x19,[x30],#8 // *K++, x28 in next round
278
+ //add x20,x20,x17 // h+=Sigma0(a)
279
+ #ifndef __AARCH64EB__
280
+ rev x11,x11 // 8
281
+ #endif
282
+ add x20,x20,x17 // h+=Sigma0(a)
283
+ ror x16,x24,#14
284
+ add x27,x27,x19 // h+=K[i]
285
+ eor x14,x24,x24,ror#23
286
+ and x17,x25,x24
287
+ bic x19,x26,x24
288
+ add x27,x27,x11 // h+=X[i]
289
+ orr x17,x17,x19 // Ch(e,f,g)
290
+ eor x19,x20,x21 // a^b, b^c in next round
291
+ eor x16,x16,x14,ror#18 // Sigma1(e)
292
+ ror x14,x20,#28
293
+ add x27,x27,x17 // h+=Ch(e,f,g)
294
+ eor x17,x20,x20,ror#5
295
+ add x27,x27,x16 // h+=Sigma1(e)
296
+ and x28,x28,x19 // (b^c)&=(a^b)
297
+ add x23,x23,x27 // d+=h
298
+ eor x28,x28,x21 // Maj(a,b,c)
299
+ eor x17,x14,x17,ror#34 // Sigma0(a)
300
+ add x27,x27,x28 // h+=Maj(a,b,c)
301
+ ldr x28,[x30],#8 // *K++, x19 in next round
302
+ //add x27,x27,x17 // h+=Sigma0(a)
303
+ #ifndef __AARCH64EB__
304
+ rev x12,x12 // 9
305
+ #endif
306
+ ldp x13,x14,[x1],#2*8
307
+ add x27,x27,x17 // h+=Sigma0(a)
308
+ ror x16,x23,#14
309
+ add x26,x26,x28 // h+=K[i]
310
+ eor x15,x23,x23,ror#23
311
+ and x17,x24,x23
312
+ bic x28,x25,x23
313
+ add x26,x26,x12 // h+=X[i]
314
+ orr x17,x17,x28 // Ch(e,f,g)
315
+ eor x28,x27,x20 // a^b, b^c in next round
316
+ eor x16,x16,x15,ror#18 // Sigma1(e)
317
+ ror x15,x27,#28
318
+ add x26,x26,x17 // h+=Ch(e,f,g)
319
+ eor x17,x27,x27,ror#5
320
+ add x26,x26,x16 // h+=Sigma1(e)
321
+ and x19,x19,x28 // (b^c)&=(a^b)
322
+ add x22,x22,x26 // d+=h
323
+ eor x19,x19,x20 // Maj(a,b,c)
324
+ eor x17,x15,x17,ror#34 // Sigma0(a)
325
+ add x26,x26,x19 // h+=Maj(a,b,c)
326
+ ldr x19,[x30],#8 // *K++, x28 in next round
327
+ //add x26,x26,x17 // h+=Sigma0(a)
328
+ #ifndef __AARCH64EB__
329
+ rev x13,x13 // 10
330
+ #endif
331
+ add x26,x26,x17 // h+=Sigma0(a)
332
+ ror x16,x22,#14
333
+ add x25,x25,x19 // h+=K[i]
334
+ eor x0,x22,x22,ror#23
335
+ and x17,x23,x22
336
+ bic x19,x24,x22
337
+ add x25,x25,x13 // h+=X[i]
338
+ orr x17,x17,x19 // Ch(e,f,g)
339
+ eor x19,x26,x27 // a^b, b^c in next round
340
+ eor x16,x16,x0,ror#18 // Sigma1(e)
341
+ ror x0,x26,#28
342
+ add x25,x25,x17 // h+=Ch(e,f,g)
343
+ eor x17,x26,x26,ror#5
344
+ add x25,x25,x16 // h+=Sigma1(e)
345
+ and x28,x28,x19 // (b^c)&=(a^b)
346
+ add x21,x21,x25 // d+=h
347
+ eor x28,x28,x27 // Maj(a,b,c)
348
+ eor x17,x0,x17,ror#34 // Sigma0(a)
349
+ add x25,x25,x28 // h+=Maj(a,b,c)
350
+ ldr x28,[x30],#8 // *K++, x19 in next round
351
+ //add x25,x25,x17 // h+=Sigma0(a)
352
+ #ifndef __AARCH64EB__
353
+ rev x14,x14 // 11
354
+ #endif
355
+ ldp x15,x0,[x1],#2*8
356
+ add x25,x25,x17 // h+=Sigma0(a)
357
+ str x6,[sp,#24]
358
+ ror x16,x21,#14
359
+ add x24,x24,x28 // h+=K[i]
360
+ eor x6,x21,x21,ror#23
361
+ and x17,x22,x21
362
+ bic x28,x23,x21
363
+ add x24,x24,x14 // h+=X[i]
364
+ orr x17,x17,x28 // Ch(e,f,g)
365
+ eor x28,x25,x26 // a^b, b^c in next round
366
+ eor x16,x16,x6,ror#18 // Sigma1(e)
367
+ ror x6,x25,#28
368
+ add x24,x24,x17 // h+=Ch(e,f,g)
369
+ eor x17,x25,x25,ror#5
370
+ add x24,x24,x16 // h+=Sigma1(e)
371
+ and x19,x19,x28 // (b^c)&=(a^b)
372
+ add x20,x20,x24 // d+=h
373
+ eor x19,x19,x26 // Maj(a,b,c)
374
+ eor x17,x6,x17,ror#34 // Sigma0(a)
375
+ add x24,x24,x19 // h+=Maj(a,b,c)
376
+ ldr x19,[x30],#8 // *K++, x28 in next round
377
+ //add x24,x24,x17 // h+=Sigma0(a)
378
+ #ifndef __AARCH64EB__
379
+ rev x15,x15 // 12
380
+ #endif
381
+ add x24,x24,x17 // h+=Sigma0(a)
382
+ str x7,[sp,#0]
383
+ ror x16,x20,#14
384
+ add x23,x23,x19 // h+=K[i]
385
+ eor x7,x20,x20,ror#23
386
+ and x17,x21,x20
387
+ bic x19,x22,x20
388
+ add x23,x23,x15 // h+=X[i]
389
+ orr x17,x17,x19 // Ch(e,f,g)
390
+ eor x19,x24,x25 // a^b, b^c in next round
391
+ eor x16,x16,x7,ror#18 // Sigma1(e)
392
+ ror x7,x24,#28
393
+ add x23,x23,x17 // h+=Ch(e,f,g)
394
+ eor x17,x24,x24,ror#5
395
+ add x23,x23,x16 // h+=Sigma1(e)
396
+ and x28,x28,x19 // (b^c)&=(a^b)
397
+ add x27,x27,x23 // d+=h
398
+ eor x28,x28,x25 // Maj(a,b,c)
399
+ eor x17,x7,x17,ror#34 // Sigma0(a)
400
+ add x23,x23,x28 // h+=Maj(a,b,c)
401
+ ldr x28,[x30],#8 // *K++, x19 in next round
402
+ //add x23,x23,x17 // h+=Sigma0(a)
403
+ #ifndef __AARCH64EB__
404
+ rev x0,x0 // 13
405
+ #endif
406
+ ldp x1,x2,[x1]
407
+ add x23,x23,x17 // h+=Sigma0(a)
408
+ str x8,[sp,#8]
409
+ ror x16,x27,#14
410
+ add x22,x22,x28 // h+=K[i]
411
+ eor x8,x27,x27,ror#23
412
+ and x17,x20,x27
413
+ bic x28,x21,x27
414
+ add x22,x22,x0 // h+=X[i]
415
+ orr x17,x17,x28 // Ch(e,f,g)
416
+ eor x28,x23,x24 // a^b, b^c in next round
417
+ eor x16,x16,x8,ror#18 // Sigma1(e)
418
+ ror x8,x23,#28
419
+ add x22,x22,x17 // h+=Ch(e,f,g)
420
+ eor x17,x23,x23,ror#5
421
+ add x22,x22,x16 // h+=Sigma1(e)
422
+ and x19,x19,x28 // (b^c)&=(a^b)
423
+ add x26,x26,x22 // d+=h
424
+ eor x19,x19,x24 // Maj(a,b,c)
425
+ eor x17,x8,x17,ror#34 // Sigma0(a)
426
+ add x22,x22,x19 // h+=Maj(a,b,c)
427
+ ldr x19,[x30],#8 // *K++, x28 in next round
428
+ //add x22,x22,x17 // h+=Sigma0(a)
429
+ #ifndef __AARCH64EB__
430
+ rev x1,x1 // 14
431
+ #endif
432
+ ldr x6,[sp,#24]
433
+ add x22,x22,x17 // h+=Sigma0(a)
434
+ str x9,[sp,#16]
435
+ ror x16,x26,#14
436
+ add x21,x21,x19 // h+=K[i]
437
+ eor x9,x26,x26,ror#23
438
+ and x17,x27,x26
439
+ bic x19,x20,x26
440
+ add x21,x21,x1 // h+=X[i]
441
+ orr x17,x17,x19 // Ch(e,f,g)
442
+ eor x19,x22,x23 // a^b, b^c in next round
443
+ eor x16,x16,x9,ror#18 // Sigma1(e)
444
+ ror x9,x22,#28
445
+ add x21,x21,x17 // h+=Ch(e,f,g)
446
+ eor x17,x22,x22,ror#5
447
+ add x21,x21,x16 // h+=Sigma1(e)
448
+ and x28,x28,x19 // (b^c)&=(a^b)
449
+ add x25,x25,x21 // d+=h
450
+ eor x28,x28,x23 // Maj(a,b,c)
451
+ eor x17,x9,x17,ror#34 // Sigma0(a)
452
+ add x21,x21,x28 // h+=Maj(a,b,c)
453
+ ldr x28,[x30],#8 // *K++, x19 in next round
454
+ //add x21,x21,x17 // h+=Sigma0(a)
455
+ #ifndef __AARCH64EB__
456
+ rev x2,x2 // 15
457
+ #endif
458
+ ldr x7,[sp,#0]
459
+ add x21,x21,x17 // h+=Sigma0(a)
460
+ str x10,[sp,#24]
461
+ ror x16,x25,#14
462
+ add x20,x20,x28 // h+=K[i]
463
+ ror x9,x4,#1
464
+ and x17,x26,x25
465
+ ror x8,x1,#19
466
+ bic x28,x27,x25
467
+ ror x10,x21,#28
468
+ add x20,x20,x2 // h+=X[i]
469
+ eor x16,x16,x25,ror#18
470
+ eor x9,x9,x4,ror#8
471
+ orr x17,x17,x28 // Ch(e,f,g)
472
+ eor x28,x21,x22 // a^b, b^c in next round
473
+ eor x16,x16,x25,ror#41 // Sigma1(e)
474
+ eor x10,x10,x21,ror#34
475
+ add x20,x20,x17 // h+=Ch(e,f,g)
476
+ and x19,x19,x28 // (b^c)&=(a^b)
477
+ eor x8,x8,x1,ror#61
478
+ eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
479
+ add x20,x20,x16 // h+=Sigma1(e)
480
+ eor x19,x19,x22 // Maj(a,b,c)
481
+ eor x17,x10,x21,ror#39 // Sigma0(a)
482
+ eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
483
+ add x3,x3,x12
484
+ add x24,x24,x20 // d+=h
485
+ add x20,x20,x19 // h+=Maj(a,b,c)
486
+ ldr x19,[x30],#8 // *K++, x28 in next round
487
+ add x3,x3,x9
488
+ add x20,x20,x17 // h+=Sigma0(a)
489
+ add x3,x3,x8
490
+ Loop_16_xx:
491
+ ldr x8,[sp,#8]
492
+ str x11,[sp,#0]
493
+ ror x16,x24,#14
494
+ add x27,x27,x19 // h+=K[i]
495
+ ror x10,x5,#1
496
+ and x17,x25,x24
497
+ ror x9,x2,#19
498
+ bic x19,x26,x24
499
+ ror x11,x20,#28
500
+ add x27,x27,x3 // h+=X[i]
501
+ eor x16,x16,x24,ror#18
502
+ eor x10,x10,x5,ror#8
503
+ orr x17,x17,x19 // Ch(e,f,g)
504
+ eor x19,x20,x21 // a^b, b^c in next round
505
+ eor x16,x16,x24,ror#41 // Sigma1(e)
506
+ eor x11,x11,x20,ror#34
507
+ add x27,x27,x17 // h+=Ch(e,f,g)
508
+ and x28,x28,x19 // (b^c)&=(a^b)
509
+ eor x9,x9,x2,ror#61
510
+ eor x10,x10,x5,lsr#7 // sigma0(X[i+1])
511
+ add x27,x27,x16 // h+=Sigma1(e)
512
+ eor x28,x28,x21 // Maj(a,b,c)
513
+ eor x17,x11,x20,ror#39 // Sigma0(a)
514
+ eor x9,x9,x2,lsr#6 // sigma1(X[i+14])
515
+ add x4,x4,x13
516
+ add x23,x23,x27 // d+=h
517
+ add x27,x27,x28 // h+=Maj(a,b,c)
518
+ ldr x28,[x30],#8 // *K++, x19 in next round
519
+ add x4,x4,x10
520
+ add x27,x27,x17 // h+=Sigma0(a)
521
+ add x4,x4,x9
522
+ ldr x9,[sp,#16]
523
+ str x12,[sp,#8]
524
+ ror x16,x23,#14
525
+ add x26,x26,x28 // h+=K[i]
526
+ ror x11,x6,#1
527
+ and x17,x24,x23
528
+ ror x10,x3,#19
529
+ bic x28,x25,x23
530
+ ror x12,x27,#28
531
+ add x26,x26,x4 // h+=X[i]
532
+ eor x16,x16,x23,ror#18
533
+ eor x11,x11,x6,ror#8
534
+ orr x17,x17,x28 // Ch(e,f,g)
535
+ eor x28,x27,x20 // a^b, b^c in next round
536
+ eor x16,x16,x23,ror#41 // Sigma1(e)
537
+ eor x12,x12,x27,ror#34
538
+ add x26,x26,x17 // h+=Ch(e,f,g)
539
+ and x19,x19,x28 // (b^c)&=(a^b)
540
+ eor x10,x10,x3,ror#61
541
+ eor x11,x11,x6,lsr#7 // sigma0(X[i+1])
542
+ add x26,x26,x16 // h+=Sigma1(e)
543
+ eor x19,x19,x20 // Maj(a,b,c)
544
+ eor x17,x12,x27,ror#39 // Sigma0(a)
545
+ eor x10,x10,x3,lsr#6 // sigma1(X[i+14])
546
+ add x5,x5,x14
547
+ add x22,x22,x26 // d+=h
548
+ add x26,x26,x19 // h+=Maj(a,b,c)
549
+ ldr x19,[x30],#8 // *K++, x28 in next round
550
+ add x5,x5,x11
551
+ add x26,x26,x17 // h+=Sigma0(a)
552
+ add x5,x5,x10
553
+ ldr x10,[sp,#24]
554
+ str x13,[sp,#16]
555
+ ror x16,x22,#14
556
+ add x25,x25,x19 // h+=K[i]
557
+ ror x12,x7,#1
558
+ and x17,x23,x22
559
+ ror x11,x4,#19
560
+ bic x19,x24,x22
561
+ ror x13,x26,#28
562
+ add x25,x25,x5 // h+=X[i]
563
+ eor x16,x16,x22,ror#18
564
+ eor x12,x12,x7,ror#8
565
+ orr x17,x17,x19 // Ch(e,f,g)
566
+ eor x19,x26,x27 // a^b, b^c in next round
567
+ eor x16,x16,x22,ror#41 // Sigma1(e)
568
+ eor x13,x13,x26,ror#34
569
+ add x25,x25,x17 // h+=Ch(e,f,g)
570
+ and x28,x28,x19 // (b^c)&=(a^b)
571
+ eor x11,x11,x4,ror#61
572
+ eor x12,x12,x7,lsr#7 // sigma0(X[i+1])
573
+ add x25,x25,x16 // h+=Sigma1(e)
574
+ eor x28,x28,x27 // Maj(a,b,c)
575
+ eor x17,x13,x26,ror#39 // Sigma0(a)
576
+ eor x11,x11,x4,lsr#6 // sigma1(X[i+14])
577
+ add x6,x6,x15
578
+ add x21,x21,x25 // d+=h
579
+ add x25,x25,x28 // h+=Maj(a,b,c)
580
+ ldr x28,[x30],#8 // *K++, x19 in next round
581
+ add x6,x6,x12
582
+ add x25,x25,x17 // h+=Sigma0(a)
583
+ add x6,x6,x11
584
+ ldr x11,[sp,#0]
585
+ str x14,[sp,#24]
586
+ ror x16,x21,#14
587
+ add x24,x24,x28 // h+=K[i]
588
+ ror x13,x8,#1
589
+ and x17,x22,x21
590
+ ror x12,x5,#19
591
+ bic x28,x23,x21
592
+ ror x14,x25,#28
593
+ add x24,x24,x6 // h+=X[i]
594
+ eor x16,x16,x21,ror#18
595
+ eor x13,x13,x8,ror#8
596
+ orr x17,x17,x28 // Ch(e,f,g)
597
+ eor x28,x25,x26 // a^b, b^c in next round
598
+ eor x16,x16,x21,ror#41 // Sigma1(e)
599
+ eor x14,x14,x25,ror#34
600
+ add x24,x24,x17 // h+=Ch(e,f,g)
601
+ and x19,x19,x28 // (b^c)&=(a^b)
602
+ eor x12,x12,x5,ror#61
603
+ eor x13,x13,x8,lsr#7 // sigma0(X[i+1])
604
+ add x24,x24,x16 // h+=Sigma1(e)
605
+ eor x19,x19,x26 // Maj(a,b,c)
606
+ eor x17,x14,x25,ror#39 // Sigma0(a)
607
+ eor x12,x12,x5,lsr#6 // sigma1(X[i+14])
608
+ add x7,x7,x0
609
+ add x20,x20,x24 // d+=h
610
+ add x24,x24,x19 // h+=Maj(a,b,c)
611
+ ldr x19,[x30],#8 // *K++, x28 in next round
612
+ add x7,x7,x13
613
+ add x24,x24,x17 // h+=Sigma0(a)
614
+ add x7,x7,x12
615
+ ldr x12,[sp,#8]
616
+ str x15,[sp,#0]
617
+ ror x16,x20,#14
618
+ add x23,x23,x19 // h+=K[i]
619
+ ror x14,x9,#1
620
+ and x17,x21,x20
621
+ ror x13,x6,#19
622
+ bic x19,x22,x20
623
+ ror x15,x24,#28
624
+ add x23,x23,x7 // h+=X[i]
625
+ eor x16,x16,x20,ror#18
626
+ eor x14,x14,x9,ror#8
627
+ orr x17,x17,x19 // Ch(e,f,g)
628
+ eor x19,x24,x25 // a^b, b^c in next round
629
+ eor x16,x16,x20,ror#41 // Sigma1(e)
630
+ eor x15,x15,x24,ror#34
631
+ add x23,x23,x17 // h+=Ch(e,f,g)
632
+ and x28,x28,x19 // (b^c)&=(a^b)
633
+ eor x13,x13,x6,ror#61
634
+ eor x14,x14,x9,lsr#7 // sigma0(X[i+1])
635
+ add x23,x23,x16 // h+=Sigma1(e)
636
+ eor x28,x28,x25 // Maj(a,b,c)
637
+ eor x17,x15,x24,ror#39 // Sigma0(a)
638
+ eor x13,x13,x6,lsr#6 // sigma1(X[i+14])
639
+ add x8,x8,x1
640
+ add x27,x27,x23 // d+=h
641
+ add x23,x23,x28 // h+=Maj(a,b,c)
642
+ ldr x28,[x30],#8 // *K++, x19 in next round
643
+ add x8,x8,x14
644
+ add x23,x23,x17 // h+=Sigma0(a)
645
+ add x8,x8,x13
646
+ ldr x13,[sp,#16]
647
+ str x0,[sp,#8]
648
+ ror x16,x27,#14
649
+ add x22,x22,x28 // h+=K[i]
650
+ ror x15,x10,#1
651
+ and x17,x20,x27
652
+ ror x14,x7,#19
653
+ bic x28,x21,x27
654
+ ror x0,x23,#28
655
+ add x22,x22,x8 // h+=X[i]
656
+ eor x16,x16,x27,ror#18
657
+ eor x15,x15,x10,ror#8
658
+ orr x17,x17,x28 // Ch(e,f,g)
659
+ eor x28,x23,x24 // a^b, b^c in next round
660
+ eor x16,x16,x27,ror#41 // Sigma1(e)
661
+ eor x0,x0,x23,ror#34
662
+ add x22,x22,x17 // h+=Ch(e,f,g)
663
+ and x19,x19,x28 // (b^c)&=(a^b)
664
+ eor x14,x14,x7,ror#61
665
+ eor x15,x15,x10,lsr#7 // sigma0(X[i+1])
666
+ add x22,x22,x16 // h+=Sigma1(e)
667
+ eor x19,x19,x24 // Maj(a,b,c)
668
+ eor x17,x0,x23,ror#39 // Sigma0(a)
669
+ eor x14,x14,x7,lsr#6 // sigma1(X[i+14])
670
+ add x9,x9,x2
671
+ add x26,x26,x22 // d+=h
672
+ add x22,x22,x19 // h+=Maj(a,b,c)
673
+ ldr x19,[x30],#8 // *K++, x28 in next round
674
+ add x9,x9,x15
675
+ add x22,x22,x17 // h+=Sigma0(a)
676
+ add x9,x9,x14
677
+ ldr x14,[sp,#24]
678
+ str x1,[sp,#16]
679
+ ror x16,x26,#14
680
+ add x21,x21,x19 // h+=K[i]
681
+ ror x0,x11,#1
682
+ and x17,x27,x26
683
+ ror x15,x8,#19
684
+ bic x19,x20,x26
685
+ ror x1,x22,#28
686
+ add x21,x21,x9 // h+=X[i]
687
+ eor x16,x16,x26,ror#18
688
+ eor x0,x0,x11,ror#8
689
+ orr x17,x17,x19 // Ch(e,f,g)
690
+ eor x19,x22,x23 // a^b, b^c in next round
691
+ eor x16,x16,x26,ror#41 // Sigma1(e)
692
+ eor x1,x1,x22,ror#34
693
+ add x21,x21,x17 // h+=Ch(e,f,g)
694
+ and x28,x28,x19 // (b^c)&=(a^b)
695
+ eor x15,x15,x8,ror#61
696
+ eor x0,x0,x11,lsr#7 // sigma0(X[i+1])
697
+ add x21,x21,x16 // h+=Sigma1(e)
698
+ eor x28,x28,x23 // Maj(a,b,c)
699
+ eor x17,x1,x22,ror#39 // Sigma0(a)
700
+ eor x15,x15,x8,lsr#6 // sigma1(X[i+14])
701
+ add x10,x10,x3
702
+ add x25,x25,x21 // d+=h
703
+ add x21,x21,x28 // h+=Maj(a,b,c)
704
+ ldr x28,[x30],#8 // *K++, x19 in next round
705
+ add x10,x10,x0
706
+ add x21,x21,x17 // h+=Sigma0(a)
707
+ add x10,x10,x15
708
+ ldr x15,[sp,#0]
709
+ str x2,[sp,#24]
710
+ ror x16,x25,#14
711
+ add x20,x20,x28 // h+=K[i]
712
+ ror x1,x12,#1
713
+ and x17,x26,x25
714
+ ror x0,x9,#19
715
+ bic x28,x27,x25
716
+ ror x2,x21,#28
717
+ add x20,x20,x10 // h+=X[i]
718
+ eor x16,x16,x25,ror#18
719
+ eor x1,x1,x12,ror#8
720
+ orr x17,x17,x28 // Ch(e,f,g)
721
+ eor x28,x21,x22 // a^b, b^c in next round
722
+ eor x16,x16,x25,ror#41 // Sigma1(e)
723
+ eor x2,x2,x21,ror#34
724
+ add x20,x20,x17 // h+=Ch(e,f,g)
725
+ and x19,x19,x28 // (b^c)&=(a^b)
726
+ eor x0,x0,x9,ror#61
727
+ eor x1,x1,x12,lsr#7 // sigma0(X[i+1])
728
+ add x20,x20,x16 // h+=Sigma1(e)
729
+ eor x19,x19,x22 // Maj(a,b,c)
730
+ eor x17,x2,x21,ror#39 // Sigma0(a)
731
+ eor x0,x0,x9,lsr#6 // sigma1(X[i+14])
732
+ add x11,x11,x4
733
+ add x24,x24,x20 // d+=h
734
+ add x20,x20,x19 // h+=Maj(a,b,c)
735
+ ldr x19,[x30],#8 // *K++, x28 in next round
736
+ add x11,x11,x1
737
+ add x20,x20,x17 // h+=Sigma0(a)
738
+ add x11,x11,x0
739
+ ldr x0,[sp,#8]
740
+ str x3,[sp,#0]
741
+ ror x16,x24,#14
742
+ add x27,x27,x19 // h+=K[i]
743
+ ror x2,x13,#1
744
+ and x17,x25,x24
745
+ ror x1,x10,#19
746
+ bic x19,x26,x24
747
+ ror x3,x20,#28
748
+ add x27,x27,x11 // h+=X[i]
749
+ eor x16,x16,x24,ror#18
750
+ eor x2,x2,x13,ror#8
751
+ orr x17,x17,x19 // Ch(e,f,g)
752
+ eor x19,x20,x21 // a^b, b^c in next round
753
+ eor x16,x16,x24,ror#41 // Sigma1(e)
754
+ eor x3,x3,x20,ror#34
755
+ add x27,x27,x17 // h+=Ch(e,f,g)
756
+ and x28,x28,x19 // (b^c)&=(a^b)
757
+ eor x1,x1,x10,ror#61
758
+ eor x2,x2,x13,lsr#7 // sigma0(X[i+1])
759
+ add x27,x27,x16 // h+=Sigma1(e)
760
+ eor x28,x28,x21 // Maj(a,b,c)
761
+ eor x17,x3,x20,ror#39 // Sigma0(a)
762
+ eor x1,x1,x10,lsr#6 // sigma1(X[i+14])
763
+ add x12,x12,x5
764
+ add x23,x23,x27 // d+=h
765
+ add x27,x27,x28 // h+=Maj(a,b,c)
766
+ ldr x28,[x30],#8 // *K++, x19 in next round
767
+ add x12,x12,x2
768
+ add x27,x27,x17 // h+=Sigma0(a)
769
+ add x12,x12,x1
770
+ ldr x1,[sp,#16]
771
+ str x4,[sp,#8]
772
+ ror x16,x23,#14
773
+ add x26,x26,x28 // h+=K[i]
774
+ ror x3,x14,#1
775
+ and x17,x24,x23
776
+ ror x2,x11,#19
777
+ bic x28,x25,x23
778
+ ror x4,x27,#28
779
+ add x26,x26,x12 // h+=X[i]
780
+ eor x16,x16,x23,ror#18
781
+ eor x3,x3,x14,ror#8
782
+ orr x17,x17,x28 // Ch(e,f,g)
783
+ eor x28,x27,x20 // a^b, b^c in next round
784
+ eor x16,x16,x23,ror#41 // Sigma1(e)
785
+ eor x4,x4,x27,ror#34
786
+ add x26,x26,x17 // h+=Ch(e,f,g)
787
+ and x19,x19,x28 // (b^c)&=(a^b)
788
+ eor x2,x2,x11,ror#61
789
+ eor x3,x3,x14,lsr#7 // sigma0(X[i+1])
790
+ add x26,x26,x16 // h+=Sigma1(e)
791
+ eor x19,x19,x20 // Maj(a,b,c)
792
+ eor x17,x4,x27,ror#39 // Sigma0(a)
793
+ eor x2,x2,x11,lsr#6 // sigma1(X[i+14])
794
+ add x13,x13,x6
795
+ add x22,x22,x26 // d+=h
796
+ add x26,x26,x19 // h+=Maj(a,b,c)
797
+ ldr x19,[x30],#8 // *K++, x28 in next round
798
+ add x13,x13,x3
799
+ add x26,x26,x17 // h+=Sigma0(a)
800
+ add x13,x13,x2
801
+ ldr x2,[sp,#24]
802
+ str x5,[sp,#16]
803
+ ror x16,x22,#14
804
+ add x25,x25,x19 // h+=K[i]
805
+ ror x4,x15,#1
806
+ and x17,x23,x22
807
+ ror x3,x12,#19
808
+ bic x19,x24,x22
809
+ ror x5,x26,#28
810
+ add x25,x25,x13 // h+=X[i]
811
+ eor x16,x16,x22,ror#18
812
+ eor x4,x4,x15,ror#8
813
+ orr x17,x17,x19 // Ch(e,f,g)
814
+ eor x19,x26,x27 // a^b, b^c in next round
815
+ eor x16,x16,x22,ror#41 // Sigma1(e)
816
+ eor x5,x5,x26,ror#34
817
+ add x25,x25,x17 // h+=Ch(e,f,g)
818
+ and x28,x28,x19 // (b^c)&=(a^b)
819
+ eor x3,x3,x12,ror#61
820
+ eor x4,x4,x15,lsr#7 // sigma0(X[i+1])
821
+ add x25,x25,x16 // h+=Sigma1(e)
822
+ eor x28,x28,x27 // Maj(a,b,c)
823
+ eor x17,x5,x26,ror#39 // Sigma0(a)
824
+ eor x3,x3,x12,lsr#6 // sigma1(X[i+14])
825
+ add x14,x14,x7
826
+ add x21,x21,x25 // d+=h
827
+ add x25,x25,x28 // h+=Maj(a,b,c)
828
+ ldr x28,[x30],#8 // *K++, x19 in next round
829
+ add x14,x14,x4
830
+ add x25,x25,x17 // h+=Sigma0(a)
831
+ add x14,x14,x3
832
+ ldr x3,[sp,#0]
833
+ str x6,[sp,#24]
834
+ ror x16,x21,#14
835
+ add x24,x24,x28 // h+=K[i]
836
+ ror x5,x0,#1
837
+ and x17,x22,x21
838
+ ror x4,x13,#19
839
+ bic x28,x23,x21
840
+ ror x6,x25,#28
841
+ add x24,x24,x14 // h+=X[i]
842
+ eor x16,x16,x21,ror#18
843
+ eor x5,x5,x0,ror#8
844
+ orr x17,x17,x28 // Ch(e,f,g)
845
+ eor x28,x25,x26 // a^b, b^c in next round
846
+ eor x16,x16,x21,ror#41 // Sigma1(e)
847
+ eor x6,x6,x25,ror#34
848
+ add x24,x24,x17 // h+=Ch(e,f,g)
849
+ and x19,x19,x28 // (b^c)&=(a^b)
850
+ eor x4,x4,x13,ror#61
851
+ eor x5,x5,x0,lsr#7 // sigma0(X[i+1])
852
+ add x24,x24,x16 // h+=Sigma1(e)
853
+ eor x19,x19,x26 // Maj(a,b,c)
854
+ eor x17,x6,x25,ror#39 // Sigma0(a)
855
+ eor x4,x4,x13,lsr#6 // sigma1(X[i+14])
856
+ add x15,x15,x8
857
+ add x20,x20,x24 // d+=h
858
+ add x24,x24,x19 // h+=Maj(a,b,c)
859
+ ldr x19,[x30],#8 // *K++, x28 in next round
860
+ add x15,x15,x5
861
+ add x24,x24,x17 // h+=Sigma0(a)
862
+ add x15,x15,x4
863
+ ldr x4,[sp,#8]
864
+ str x7,[sp,#0]
865
+ ror x16,x20,#14
866
+ add x23,x23,x19 // h+=K[i]
867
+ ror x6,x1,#1
868
+ and x17,x21,x20
869
+ ror x5,x14,#19
870
+ bic x19,x22,x20
871
+ ror x7,x24,#28
872
+ add x23,x23,x15 // h+=X[i]
873
+ eor x16,x16,x20,ror#18
874
+ eor x6,x6,x1,ror#8
875
+ orr x17,x17,x19 // Ch(e,f,g)
876
+ eor x19,x24,x25 // a^b, b^c in next round
877
+ eor x16,x16,x20,ror#41 // Sigma1(e)
878
+ eor x7,x7,x24,ror#34
879
+ add x23,x23,x17 // h+=Ch(e,f,g)
880
+ and x28,x28,x19 // (b^c)&=(a^b)
881
+ eor x5,x5,x14,ror#61
882
+ eor x6,x6,x1,lsr#7 // sigma0(X[i+1])
883
+ add x23,x23,x16 // h+=Sigma1(e)
884
+ eor x28,x28,x25 // Maj(a,b,c)
885
+ eor x17,x7,x24,ror#39 // Sigma0(a)
886
+ eor x5,x5,x14,lsr#6 // sigma1(X[i+14])
887
+ add x0,x0,x9
888
+ add x27,x27,x23 // d+=h
889
+ add x23,x23,x28 // h+=Maj(a,b,c)
890
+ ldr x28,[x30],#8 // *K++, x19 in next round
891
+ add x0,x0,x6
892
+ add x23,x23,x17 // h+=Sigma0(a)
893
+ add x0,x0,x5
894
+ ldr x5,[sp,#16]
895
+ str x8,[sp,#8]
896
+ ror x16,x27,#14
897
+ add x22,x22,x28 // h+=K[i]
898
+ ror x7,x2,#1
899
+ and x17,x20,x27
900
+ ror x6,x15,#19
901
+ bic x28,x21,x27
902
+ ror x8,x23,#28
903
+ add x22,x22,x0 // h+=X[i]
904
+ eor x16,x16,x27,ror#18
905
+ eor x7,x7,x2,ror#8
906
+ orr x17,x17,x28 // Ch(e,f,g)
907
+ eor x28,x23,x24 // a^b, b^c in next round
908
+ eor x16,x16,x27,ror#41 // Sigma1(e)
909
+ eor x8,x8,x23,ror#34
910
+ add x22,x22,x17 // h+=Ch(e,f,g)
911
+ and x19,x19,x28 // (b^c)&=(a^b)
912
+ eor x6,x6,x15,ror#61
913
+ eor x7,x7,x2,lsr#7 // sigma0(X[i+1])
914
+ add x22,x22,x16 // h+=Sigma1(e)
915
+ eor x19,x19,x24 // Maj(a,b,c)
916
+ eor x17,x8,x23,ror#39 // Sigma0(a)
917
+ eor x6,x6,x15,lsr#6 // sigma1(X[i+14])
918
+ add x1,x1,x10
919
+ add x26,x26,x22 // d+=h
920
+ add x22,x22,x19 // h+=Maj(a,b,c)
921
+ ldr x19,[x30],#8 // *K++, x28 in next round
922
+ add x1,x1,x7
923
+ add x22,x22,x17 // h+=Sigma0(a)
924
+ add x1,x1,x6
925
+ ldr x6,[sp,#24]
926
+ str x9,[sp,#16]
927
+ ror x16,x26,#14
928
+ add x21,x21,x19 // h+=K[i]
929
+ ror x8,x3,#1
930
+ and x17,x27,x26
931
+ ror x7,x0,#19
932
+ bic x19,x20,x26
933
+ ror x9,x22,#28
934
+ add x21,x21,x1 // h+=X[i]
935
+ eor x16,x16,x26,ror#18
936
+ eor x8,x8,x3,ror#8
937
+ orr x17,x17,x19 // Ch(e,f,g)
938
+ eor x19,x22,x23 // a^b, b^c in next round
939
+ eor x16,x16,x26,ror#41 // Sigma1(e)
940
+ eor x9,x9,x22,ror#34
941
+ add x21,x21,x17 // h+=Ch(e,f,g)
942
+ and x28,x28,x19 // (b^c)&=(a^b)
943
+ eor x7,x7,x0,ror#61
944
+ eor x8,x8,x3,lsr#7 // sigma0(X[i+1])
945
+ add x21,x21,x16 // h+=Sigma1(e)
946
+ eor x28,x28,x23 // Maj(a,b,c)
947
+ eor x17,x9,x22,ror#39 // Sigma0(a)
948
+ eor x7,x7,x0,lsr#6 // sigma1(X[i+14])
949
+ add x2,x2,x11
950
+ add x25,x25,x21 // d+=h
951
+ add x21,x21,x28 // h+=Maj(a,b,c)
952
+ ldr x28,[x30],#8 // *K++, x19 in next round
953
+ add x2,x2,x8
954
+ add x21,x21,x17 // h+=Sigma0(a)
955
+ add x2,x2,x7
956
+ ldr x7,[sp,#0]
957
+ str x10,[sp,#24]
958
+ ror x16,x25,#14
959
+ add x20,x20,x28 // h+=K[i]
960
+ ror x9,x4,#1
961
+ and x17,x26,x25
962
+ ror x8,x1,#19
963
+ bic x28,x27,x25
964
+ ror x10,x21,#28
965
+ add x20,x20,x2 // h+=X[i]
966
+ eor x16,x16,x25,ror#18
967
+ eor x9,x9,x4,ror#8
968
+ orr x17,x17,x28 // Ch(e,f,g)
969
+ eor x28,x21,x22 // a^b, b^c in next round
970
+ eor x16,x16,x25,ror#41 // Sigma1(e)
971
+ eor x10,x10,x21,ror#34
972
+ add x20,x20,x17 // h+=Ch(e,f,g)
973
+ and x19,x19,x28 // (b^c)&=(a^b)
974
+ eor x8,x8,x1,ror#61
975
+ eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
976
+ add x20,x20,x16 // h+=Sigma1(e)
977
+ eor x19,x19,x22 // Maj(a,b,c)
978
+ eor x17,x10,x21,ror#39 // Sigma0(a)
979
+ eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
980
+ add x3,x3,x12
981
+ add x24,x24,x20 // d+=h
982
+ add x20,x20,x19 // h+=Maj(a,b,c)
983
+ ldr x19,[x30],#8 // *K++, x28 in next round
984
+ add x3,x3,x9
985
+ add x20,x20,x17 // h+=Sigma0(a)
986
+ add x3,x3,x8
987
+ cbnz x19,Loop_16_xx
988
+
989
+ ldp x0,x2,[x29,#96]
990
+ ldr x1,[x29,#112]
991
+ sub x30,x30,#648 // rewind
992
+
993
+ ldp x3,x4,[x0]
994
+ ldp x5,x6,[x0,#2*8]
995
+ add x1,x1,#14*8 // advance input pointer
996
+ ldp x7,x8,[x0,#4*8]
997
+ add x20,x20,x3
998
+ ldp x9,x10,[x0,#6*8]
999
+ add x21,x21,x4
1000
+ add x22,x22,x5
1001
+ add x23,x23,x6
1002
+ stp x20,x21,[x0]
1003
+ add x24,x24,x7
1004
+ add x25,x25,x8
1005
+ stp x22,x23,[x0,#2*8]
1006
+ add x26,x26,x9
1007
+ add x27,x27,x10
1008
+ cmp x1,x2
1009
+ stp x24,x25,[x0,#4*8]
1010
+ stp x26,x27,[x0,#6*8]
1011
+ b.ne Loop
1012
+
1013
+ ldp x19,x20,[x29,#16]
1014
+ add sp,sp,#4*8
1015
+ ldp x21,x22,[x29,#32]
1016
+ ldp x23,x24,[x29,#48]
1017
+ ldp x25,x26,[x29,#64]
1018
+ ldp x27,x28,[x29,#80]
1019
+ ldp x29,x30,[sp],#128
1020
+ AARCH64_VALIDATE_LINK_REGISTER
1021
+ ret
1022
+
1023
+
1024
+ .section .rodata
1025
+
1026
+ .align 6
1027
+ sha512_constants:
1028
+
1029
+ LK512:
1030
+ .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1031
+ .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1032
+ .quad 0x3956c25bf348b538,0x59f111f1b605d019
1033
+ .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1034
+ .quad 0xd807aa98a3030242,0x12835b0145706fbe
1035
+ .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1036
+ .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1037
+ .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1038
+ .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1039
+ .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1040
+ .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1041
+ .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1042
+ .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1043
+ .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1044
+ .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1045
+ .quad 0x06ca6351e003826f,0x142929670a0e6e70
1046
+ .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1047
+ .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1048
+ .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1049
+ .quad 0x81c2c92e47edaee6,0x92722c851482353b
1050
+ .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1051
+ .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1052
+ .quad 0xd192e819d6ef5218,0xd69906245565a910
1053
+ .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1054
+ .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1055
+ .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1056
+ .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1057
+ .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1058
+ .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1059
+ .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1060
+ .quad 0x90befffa23631e28,0xa4506cebde82bde9
1061
+ .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1062
+ .quad 0xca273eceea26619c,0xd186b8c721c0c207
1063
+ .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1064
+ .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1065
+ .quad 0x113f9804bef90dae,0x1b710b35131c471b
1066
+ .quad 0x28db77f523047d84,0x32caab7b40c72493
1067
+ .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1068
+ .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1069
+ .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1070
+ .quad 0 // terminator
1071
+
1072
+ .byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1073
+ .align 2
1074
+ .align 2
1075
+ .text
1076
+ #ifndef __KERNEL__
1077
+ .globl sha512_block_data_order_hw
1078
+
1079
+ .def sha512_block_data_order_hw
1080
+ .type 32
1081
+ .endef
1082
+ .align 6
1083
+ sha512_block_data_order_hw:
1084
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1085
+ AARCH64_VALID_CALL_TARGET
1086
+ stp x29,x30,[sp,#-16]!
1087
+ add x29,sp,#0
1088
+
1089
+ ld1 {v16.16b,v17.16b,v18.16b,v19.16b},[x1],#64 // load input
1090
+ ld1 {v20.16b,v21.16b,v22.16b,v23.16b},[x1],#64
1091
+
1092
+ ld1 {v0.2d,v1.2d,v2.2d,v3.2d},[x0] // load context
1093
+ adrp x3,LK512
1094
+ add x3,x3,:lo12:LK512
1095
+
1096
+ rev64 v16.16b,v16.16b
1097
+ rev64 v17.16b,v17.16b
1098
+ rev64 v18.16b,v18.16b
1099
+ rev64 v19.16b,v19.16b
1100
+ rev64 v20.16b,v20.16b
1101
+ rev64 v21.16b,v21.16b
1102
+ rev64 v22.16b,v22.16b
1103
+ rev64 v23.16b,v23.16b
1104
+ b Loop_hw
1105
+
1106
+ .align 4
1107
+ Loop_hw:
1108
+ ld1 {v24.2d},[x3],#16
1109
+ subs x2,x2,#1
1110
+ sub x4,x1,#128
1111
+ orr v26.16b,v0.16b,v0.16b // offload
1112
+ orr v27.16b,v1.16b,v1.16b
1113
+ orr v28.16b,v2.16b,v2.16b
1114
+ orr v29.16b,v3.16b,v3.16b
1115
+ csel x1,x1,x4,ne // conditional rewind
1116
+ add v24.2d,v24.2d,v16.2d
1117
+ ld1 {v25.2d},[x3],#16
1118
+ ext v24.16b,v24.16b,v24.16b,#8
1119
+ ext v5.16b,v2.16b,v3.16b,#8
1120
+ ext v6.16b,v1.16b,v2.16b,#8
1121
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1122
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1123
+ ext v7.16b,v20.16b,v21.16b,#8
1124
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1125
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1126
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1127
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1128
+ add v25.2d,v25.2d,v17.2d
1129
+ ld1 {v24.2d},[x3],#16
1130
+ ext v25.16b,v25.16b,v25.16b,#8
1131
+ ext v5.16b,v4.16b,v2.16b,#8
1132
+ ext v6.16b,v0.16b,v4.16b,#8
1133
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1134
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1135
+ ext v7.16b,v21.16b,v22.16b,#8
1136
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1137
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1138
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1139
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1140
+ add v24.2d,v24.2d,v18.2d
1141
+ ld1 {v25.2d},[x3],#16
1142
+ ext v24.16b,v24.16b,v24.16b,#8
1143
+ ext v5.16b,v1.16b,v4.16b,#8
1144
+ ext v6.16b,v3.16b,v1.16b,#8
1145
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1146
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1147
+ ext v7.16b,v22.16b,v23.16b,#8
1148
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1149
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1150
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1151
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1152
+ add v25.2d,v25.2d,v19.2d
1153
+ ld1 {v24.2d},[x3],#16
1154
+ ext v25.16b,v25.16b,v25.16b,#8
1155
+ ext v5.16b,v0.16b,v1.16b,#8
1156
+ ext v6.16b,v2.16b,v0.16b,#8
1157
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1158
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1159
+ ext v7.16b,v23.16b,v16.16b,#8
1160
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1161
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1162
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1163
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1164
+ add v24.2d,v24.2d,v20.2d
1165
+ ld1 {v25.2d},[x3],#16
1166
+ ext v24.16b,v24.16b,v24.16b,#8
1167
+ ext v5.16b,v3.16b,v0.16b,#8
1168
+ ext v6.16b,v4.16b,v3.16b,#8
1169
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1170
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1171
+ ext v7.16b,v16.16b,v17.16b,#8
1172
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1173
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1174
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1175
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1176
+ add v25.2d,v25.2d,v21.2d
1177
+ ld1 {v24.2d},[x3],#16
1178
+ ext v25.16b,v25.16b,v25.16b,#8
1179
+ ext v5.16b,v2.16b,v3.16b,#8
1180
+ ext v6.16b,v1.16b,v2.16b,#8
1181
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1182
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1183
+ ext v7.16b,v17.16b,v18.16b,#8
1184
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1185
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1186
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1187
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1188
+ add v24.2d,v24.2d,v22.2d
1189
+ ld1 {v25.2d},[x3],#16
1190
+ ext v24.16b,v24.16b,v24.16b,#8
1191
+ ext v5.16b,v4.16b,v2.16b,#8
1192
+ ext v6.16b,v0.16b,v4.16b,#8
1193
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1194
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1195
+ ext v7.16b,v18.16b,v19.16b,#8
1196
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1197
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1198
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1199
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1200
+ add v25.2d,v25.2d,v23.2d
1201
+ ld1 {v24.2d},[x3],#16
1202
+ ext v25.16b,v25.16b,v25.16b,#8
1203
+ ext v5.16b,v1.16b,v4.16b,#8
1204
+ ext v6.16b,v3.16b,v1.16b,#8
1205
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1206
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1207
+ ext v7.16b,v19.16b,v20.16b,#8
1208
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1209
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1210
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1211
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1212
+ add v24.2d,v24.2d,v16.2d
1213
+ ld1 {v25.2d},[x3],#16
1214
+ ext v24.16b,v24.16b,v24.16b,#8
1215
+ ext v5.16b,v0.16b,v1.16b,#8
1216
+ ext v6.16b,v2.16b,v0.16b,#8
1217
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1218
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1219
+ ext v7.16b,v20.16b,v21.16b,#8
1220
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1221
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1222
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1223
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1224
+ add v25.2d,v25.2d,v17.2d
1225
+ ld1 {v24.2d},[x3],#16
1226
+ ext v25.16b,v25.16b,v25.16b,#8
1227
+ ext v5.16b,v3.16b,v0.16b,#8
1228
+ ext v6.16b,v4.16b,v3.16b,#8
1229
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1230
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1231
+ ext v7.16b,v21.16b,v22.16b,#8
1232
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1233
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1234
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1235
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1236
+ add v24.2d,v24.2d,v18.2d
1237
+ ld1 {v25.2d},[x3],#16
1238
+ ext v24.16b,v24.16b,v24.16b,#8
1239
+ ext v5.16b,v2.16b,v3.16b,#8
1240
+ ext v6.16b,v1.16b,v2.16b,#8
1241
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1242
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1243
+ ext v7.16b,v22.16b,v23.16b,#8
1244
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1245
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1246
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1247
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1248
+ add v25.2d,v25.2d,v19.2d
1249
+ ld1 {v24.2d},[x3],#16
1250
+ ext v25.16b,v25.16b,v25.16b,#8
1251
+ ext v5.16b,v4.16b,v2.16b,#8
1252
+ ext v6.16b,v0.16b,v4.16b,#8
1253
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1254
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1255
+ ext v7.16b,v23.16b,v16.16b,#8
1256
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1257
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1258
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1259
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1260
+ add v24.2d,v24.2d,v20.2d
1261
+ ld1 {v25.2d},[x3],#16
1262
+ ext v24.16b,v24.16b,v24.16b,#8
1263
+ ext v5.16b,v1.16b,v4.16b,#8
1264
+ ext v6.16b,v3.16b,v1.16b,#8
1265
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1266
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1267
+ ext v7.16b,v16.16b,v17.16b,#8
1268
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1269
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1270
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1271
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1272
+ add v25.2d,v25.2d,v21.2d
1273
+ ld1 {v24.2d},[x3],#16
1274
+ ext v25.16b,v25.16b,v25.16b,#8
1275
+ ext v5.16b,v0.16b,v1.16b,#8
1276
+ ext v6.16b,v2.16b,v0.16b,#8
1277
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1278
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1279
+ ext v7.16b,v17.16b,v18.16b,#8
1280
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1281
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1282
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1283
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1284
+ add v24.2d,v24.2d,v22.2d
1285
+ ld1 {v25.2d},[x3],#16
1286
+ ext v24.16b,v24.16b,v24.16b,#8
1287
+ ext v5.16b,v3.16b,v0.16b,#8
1288
+ ext v6.16b,v4.16b,v3.16b,#8
1289
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1290
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1291
+ ext v7.16b,v18.16b,v19.16b,#8
1292
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1293
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1294
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1295
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1296
+ add v25.2d,v25.2d,v23.2d
1297
+ ld1 {v24.2d},[x3],#16
1298
+ ext v25.16b,v25.16b,v25.16b,#8
1299
+ ext v5.16b,v2.16b,v3.16b,#8
1300
+ ext v6.16b,v1.16b,v2.16b,#8
1301
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1302
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1303
+ ext v7.16b,v19.16b,v20.16b,#8
1304
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1305
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1306
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1307
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1308
+ add v24.2d,v24.2d,v16.2d
1309
+ ld1 {v25.2d},[x3],#16
1310
+ ext v24.16b,v24.16b,v24.16b,#8
1311
+ ext v5.16b,v4.16b,v2.16b,#8
1312
+ ext v6.16b,v0.16b,v4.16b,#8
1313
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1314
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1315
+ ext v7.16b,v20.16b,v21.16b,#8
1316
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1317
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1318
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1319
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1320
+ add v25.2d,v25.2d,v17.2d
1321
+ ld1 {v24.2d},[x3],#16
1322
+ ext v25.16b,v25.16b,v25.16b,#8
1323
+ ext v5.16b,v1.16b,v4.16b,#8
1324
+ ext v6.16b,v3.16b,v1.16b,#8
1325
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1326
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1327
+ ext v7.16b,v21.16b,v22.16b,#8
1328
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1329
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1330
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1331
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1332
+ add v24.2d,v24.2d,v18.2d
1333
+ ld1 {v25.2d},[x3],#16
1334
+ ext v24.16b,v24.16b,v24.16b,#8
1335
+ ext v5.16b,v0.16b,v1.16b,#8
1336
+ ext v6.16b,v2.16b,v0.16b,#8
1337
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1338
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1339
+ ext v7.16b,v22.16b,v23.16b,#8
1340
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1341
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1342
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1343
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1344
+ add v25.2d,v25.2d,v19.2d
1345
+ ld1 {v24.2d},[x3],#16
1346
+ ext v25.16b,v25.16b,v25.16b,#8
1347
+ ext v5.16b,v3.16b,v0.16b,#8
1348
+ ext v6.16b,v4.16b,v3.16b,#8
1349
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1350
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1351
+ ext v7.16b,v23.16b,v16.16b,#8
1352
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1353
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1354
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1355
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1356
+ add v24.2d,v24.2d,v20.2d
1357
+ ld1 {v25.2d},[x3],#16
1358
+ ext v24.16b,v24.16b,v24.16b,#8
1359
+ ext v5.16b,v2.16b,v3.16b,#8
1360
+ ext v6.16b,v1.16b,v2.16b,#8
1361
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1362
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1363
+ ext v7.16b,v16.16b,v17.16b,#8
1364
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1365
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1366
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1367
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1368
+ add v25.2d,v25.2d,v21.2d
1369
+ ld1 {v24.2d},[x3],#16
1370
+ ext v25.16b,v25.16b,v25.16b,#8
1371
+ ext v5.16b,v4.16b,v2.16b,#8
1372
+ ext v6.16b,v0.16b,v4.16b,#8
1373
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1374
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1375
+ ext v7.16b,v17.16b,v18.16b,#8
1376
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1377
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1378
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1379
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1380
+ add v24.2d,v24.2d,v22.2d
1381
+ ld1 {v25.2d},[x3],#16
1382
+ ext v24.16b,v24.16b,v24.16b,#8
1383
+ ext v5.16b,v1.16b,v4.16b,#8
1384
+ ext v6.16b,v3.16b,v1.16b,#8
1385
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1386
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1387
+ ext v7.16b,v18.16b,v19.16b,#8
1388
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1389
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1390
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1391
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1392
+ add v25.2d,v25.2d,v23.2d
1393
+ ld1 {v24.2d},[x3],#16
1394
+ ext v25.16b,v25.16b,v25.16b,#8
1395
+ ext v5.16b,v0.16b,v1.16b,#8
1396
+ ext v6.16b,v2.16b,v0.16b,#8
1397
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1398
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1399
+ ext v7.16b,v19.16b,v20.16b,#8
1400
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1401
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1402
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1403
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1404
+ add v24.2d,v24.2d,v16.2d
1405
+ ld1 {v25.2d},[x3],#16
1406
+ ext v24.16b,v24.16b,v24.16b,#8
1407
+ ext v5.16b,v3.16b,v0.16b,#8
1408
+ ext v6.16b,v4.16b,v3.16b,#8
1409
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1410
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1411
+ ext v7.16b,v20.16b,v21.16b,#8
1412
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1413
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1414
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1415
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1416
+ add v25.2d,v25.2d,v17.2d
1417
+ ld1 {v24.2d},[x3],#16
1418
+ ext v25.16b,v25.16b,v25.16b,#8
1419
+ ext v5.16b,v2.16b,v3.16b,#8
1420
+ ext v6.16b,v1.16b,v2.16b,#8
1421
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1422
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1423
+ ext v7.16b,v21.16b,v22.16b,#8
1424
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1425
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1426
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1427
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1428
+ add v24.2d,v24.2d,v18.2d
1429
+ ld1 {v25.2d},[x3],#16
1430
+ ext v24.16b,v24.16b,v24.16b,#8
1431
+ ext v5.16b,v4.16b,v2.16b,#8
1432
+ ext v6.16b,v0.16b,v4.16b,#8
1433
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1434
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1435
+ ext v7.16b,v22.16b,v23.16b,#8
1436
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1437
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1438
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1439
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1440
+ add v25.2d,v25.2d,v19.2d
1441
+ ld1 {v24.2d},[x3],#16
1442
+ ext v25.16b,v25.16b,v25.16b,#8
1443
+ ext v5.16b,v1.16b,v4.16b,#8
1444
+ ext v6.16b,v3.16b,v1.16b,#8
1445
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1446
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1447
+ ext v7.16b,v23.16b,v16.16b,#8
1448
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1449
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1450
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1451
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1452
+ add v24.2d,v24.2d,v20.2d
1453
+ ld1 {v25.2d},[x3],#16
1454
+ ext v24.16b,v24.16b,v24.16b,#8
1455
+ ext v5.16b,v0.16b,v1.16b,#8
1456
+ ext v6.16b,v2.16b,v0.16b,#8
1457
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1458
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1459
+ ext v7.16b,v16.16b,v17.16b,#8
1460
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1461
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1462
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1463
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1464
+ add v25.2d,v25.2d,v21.2d
1465
+ ld1 {v24.2d},[x3],#16
1466
+ ext v25.16b,v25.16b,v25.16b,#8
1467
+ ext v5.16b,v3.16b,v0.16b,#8
1468
+ ext v6.16b,v4.16b,v3.16b,#8
1469
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1470
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1471
+ ext v7.16b,v17.16b,v18.16b,#8
1472
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1473
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1474
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1475
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1476
+ add v24.2d,v24.2d,v22.2d
1477
+ ld1 {v25.2d},[x3],#16
1478
+ ext v24.16b,v24.16b,v24.16b,#8
1479
+ ext v5.16b,v2.16b,v3.16b,#8
1480
+ ext v6.16b,v1.16b,v2.16b,#8
1481
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1482
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1483
+ ext v7.16b,v18.16b,v19.16b,#8
1484
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1485
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1486
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1487
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1488
+ add v25.2d,v25.2d,v23.2d
1489
+ ld1 {v24.2d},[x3],#16
1490
+ ext v25.16b,v25.16b,v25.16b,#8
1491
+ ext v5.16b,v4.16b,v2.16b,#8
1492
+ ext v6.16b,v0.16b,v4.16b,#8
1493
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1494
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1495
+ ext v7.16b,v19.16b,v20.16b,#8
1496
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1497
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1498
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1499
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1500
+ ld1 {v25.2d},[x3],#16
1501
+ add v24.2d,v24.2d,v16.2d
1502
+ ld1 {v16.16b},[x1],#16 // load next input
1503
+ ext v24.16b,v24.16b,v24.16b,#8
1504
+ ext v5.16b,v1.16b,v4.16b,#8
1505
+ ext v6.16b,v3.16b,v1.16b,#8
1506
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1507
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1508
+ rev64 v16.16b,v16.16b
1509
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1510
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1511
+ ld1 {v24.2d},[x3],#16
1512
+ add v25.2d,v25.2d,v17.2d
1513
+ ld1 {v17.16b},[x1],#16 // load next input
1514
+ ext v25.16b,v25.16b,v25.16b,#8
1515
+ ext v5.16b,v0.16b,v1.16b,#8
1516
+ ext v6.16b,v2.16b,v0.16b,#8
1517
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1518
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1519
+ rev64 v17.16b,v17.16b
1520
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1521
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1522
+ ld1 {v25.2d},[x3],#16
1523
+ add v24.2d,v24.2d,v18.2d
1524
+ ld1 {v18.16b},[x1],#16 // load next input
1525
+ ext v24.16b,v24.16b,v24.16b,#8
1526
+ ext v5.16b,v3.16b,v0.16b,#8
1527
+ ext v6.16b,v4.16b,v3.16b,#8
1528
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1529
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1530
+ rev64 v18.16b,v18.16b
1531
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1532
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1533
+ ld1 {v24.2d},[x3],#16
1534
+ add v25.2d,v25.2d,v19.2d
1535
+ ld1 {v19.16b},[x1],#16 // load next input
1536
+ ext v25.16b,v25.16b,v25.16b,#8
1537
+ ext v5.16b,v2.16b,v3.16b,#8
1538
+ ext v6.16b,v1.16b,v2.16b,#8
1539
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1540
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1541
+ rev64 v19.16b,v19.16b
1542
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1543
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1544
+ ld1 {v25.2d},[x3],#16
1545
+ add v24.2d,v24.2d,v20.2d
1546
+ ld1 {v20.16b},[x1],#16 // load next input
1547
+ ext v24.16b,v24.16b,v24.16b,#8
1548
+ ext v5.16b,v4.16b,v2.16b,#8
1549
+ ext v6.16b,v0.16b,v4.16b,#8
1550
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1551
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1552
+ rev64 v20.16b,v20.16b
1553
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1554
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1555
+ ld1 {v24.2d},[x3],#16
1556
+ add v25.2d,v25.2d,v21.2d
1557
+ ld1 {v21.16b},[x1],#16 // load next input
1558
+ ext v25.16b,v25.16b,v25.16b,#8
1559
+ ext v5.16b,v1.16b,v4.16b,#8
1560
+ ext v6.16b,v3.16b,v1.16b,#8
1561
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1562
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1563
+ rev64 v21.16b,v21.16b
1564
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1565
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1566
+ ld1 {v25.2d},[x3],#16
1567
+ add v24.2d,v24.2d,v22.2d
1568
+ ld1 {v22.16b},[x1],#16 // load next input
1569
+ ext v24.16b,v24.16b,v24.16b,#8
1570
+ ext v5.16b,v0.16b,v1.16b,#8
1571
+ ext v6.16b,v2.16b,v0.16b,#8
1572
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1573
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1574
+ rev64 v22.16b,v22.16b
1575
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1576
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1577
+ sub x3,x3,#80*8 // rewind
1578
+ add v25.2d,v25.2d,v23.2d
1579
+ ld1 {v23.16b},[x1],#16 // load next input
1580
+ ext v25.16b,v25.16b,v25.16b,#8
1581
+ ext v5.16b,v3.16b,v0.16b,#8
1582
+ ext v6.16b,v4.16b,v3.16b,#8
1583
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1584
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1585
+ rev64 v23.16b,v23.16b
1586
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1587
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1588
+ add v0.2d,v0.2d,v26.2d // accumulate
1589
+ add v1.2d,v1.2d,v27.2d
1590
+ add v2.2d,v2.2d,v28.2d
1591
+ add v3.2d,v3.2d,v29.2d
1592
+
1593
+ cbnz x2,Loop_hw
1594
+
1595
+ st1 {v0.2d,v1.2d,v2.2d,v3.2d},[x0] // store context
1596
+
1597
+ ldr x29,[sp],#16
1598
+ ret
1599
+
1600
+ #endif
1601
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(_WIN32)