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,1598 @@
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(__APPLE__)
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
+ .private_extern _sha512_block_data_order_nohw
54
+
55
+ .align 6
56
+ _sha512_block_data_order_nohw:
57
+ AARCH64_SIGN_LINK_REGISTER
58
+ stp x29,x30,[sp,#-128]!
59
+ add x29,sp,#0
60
+
61
+ stp x19,x20,[sp,#16]
62
+ stp x21,x22,[sp,#32]
63
+ stp x23,x24,[sp,#48]
64
+ stp x25,x26,[sp,#64]
65
+ stp x27,x28,[sp,#80]
66
+ sub sp,sp,#4*8
67
+
68
+ ldp x20,x21,[x0] // load context
69
+ ldp x22,x23,[x0,#2*8]
70
+ ldp x24,x25,[x0,#4*8]
71
+ add x2,x1,x2,lsl#7 // end of input
72
+ ldp x26,x27,[x0,#6*8]
73
+ adrp x30,LK512@PAGE
74
+ add x30,x30,LK512@PAGEOFF
75
+ stp x0,x2,[x29,#96]
76
+
77
+ Loop:
78
+ ldp x3,x4,[x1],#2*8
79
+ ldr x19,[x30],#8 // *K++
80
+ eor x28,x21,x22 // magic seed
81
+ str x1,[x29,#112]
82
+ #ifndef __AARCH64EB__
83
+ rev x3,x3 // 0
84
+ #endif
85
+ ror x16,x24,#14
86
+ add x27,x27,x19 // h+=K[i]
87
+ eor x6,x24,x24,ror#23
88
+ and x17,x25,x24
89
+ bic x19,x26,x24
90
+ add x27,x27,x3 // h+=X[i]
91
+ orr x17,x17,x19 // Ch(e,f,g)
92
+ eor x19,x20,x21 // a^b, b^c in next round
93
+ eor x16,x16,x6,ror#18 // Sigma1(e)
94
+ ror x6,x20,#28
95
+ add x27,x27,x17 // h+=Ch(e,f,g)
96
+ eor x17,x20,x20,ror#5
97
+ add x27,x27,x16 // h+=Sigma1(e)
98
+ and x28,x28,x19 // (b^c)&=(a^b)
99
+ add x23,x23,x27 // d+=h
100
+ eor x28,x28,x21 // Maj(a,b,c)
101
+ eor x17,x6,x17,ror#34 // Sigma0(a)
102
+ add x27,x27,x28 // h+=Maj(a,b,c)
103
+ ldr x28,[x30],#8 // *K++, x19 in next round
104
+ //add x27,x27,x17 // h+=Sigma0(a)
105
+ #ifndef __AARCH64EB__
106
+ rev x4,x4 // 1
107
+ #endif
108
+ ldp x5,x6,[x1],#2*8
109
+ add x27,x27,x17 // h+=Sigma0(a)
110
+ ror x16,x23,#14
111
+ add x26,x26,x28 // h+=K[i]
112
+ eor x7,x23,x23,ror#23
113
+ and x17,x24,x23
114
+ bic x28,x25,x23
115
+ add x26,x26,x4 // h+=X[i]
116
+ orr x17,x17,x28 // Ch(e,f,g)
117
+ eor x28,x27,x20 // a^b, b^c in next round
118
+ eor x16,x16,x7,ror#18 // Sigma1(e)
119
+ ror x7,x27,#28
120
+ add x26,x26,x17 // h+=Ch(e,f,g)
121
+ eor x17,x27,x27,ror#5
122
+ add x26,x26,x16 // h+=Sigma1(e)
123
+ and x19,x19,x28 // (b^c)&=(a^b)
124
+ add x22,x22,x26 // d+=h
125
+ eor x19,x19,x20 // Maj(a,b,c)
126
+ eor x17,x7,x17,ror#34 // Sigma0(a)
127
+ add x26,x26,x19 // h+=Maj(a,b,c)
128
+ ldr x19,[x30],#8 // *K++, x28 in next round
129
+ //add x26,x26,x17 // h+=Sigma0(a)
130
+ #ifndef __AARCH64EB__
131
+ rev x5,x5 // 2
132
+ #endif
133
+ add x26,x26,x17 // h+=Sigma0(a)
134
+ ror x16,x22,#14
135
+ add x25,x25,x19 // h+=K[i]
136
+ eor x8,x22,x22,ror#23
137
+ and x17,x23,x22
138
+ bic x19,x24,x22
139
+ add x25,x25,x5 // h+=X[i]
140
+ orr x17,x17,x19 // Ch(e,f,g)
141
+ eor x19,x26,x27 // a^b, b^c in next round
142
+ eor x16,x16,x8,ror#18 // Sigma1(e)
143
+ ror x8,x26,#28
144
+ add x25,x25,x17 // h+=Ch(e,f,g)
145
+ eor x17,x26,x26,ror#5
146
+ add x25,x25,x16 // h+=Sigma1(e)
147
+ and x28,x28,x19 // (b^c)&=(a^b)
148
+ add x21,x21,x25 // d+=h
149
+ eor x28,x28,x27 // Maj(a,b,c)
150
+ eor x17,x8,x17,ror#34 // Sigma0(a)
151
+ add x25,x25,x28 // h+=Maj(a,b,c)
152
+ ldr x28,[x30],#8 // *K++, x19 in next round
153
+ //add x25,x25,x17 // h+=Sigma0(a)
154
+ #ifndef __AARCH64EB__
155
+ rev x6,x6 // 3
156
+ #endif
157
+ ldp x7,x8,[x1],#2*8
158
+ add x25,x25,x17 // h+=Sigma0(a)
159
+ ror x16,x21,#14
160
+ add x24,x24,x28 // h+=K[i]
161
+ eor x9,x21,x21,ror#23
162
+ and x17,x22,x21
163
+ bic x28,x23,x21
164
+ add x24,x24,x6 // h+=X[i]
165
+ orr x17,x17,x28 // Ch(e,f,g)
166
+ eor x28,x25,x26 // a^b, b^c in next round
167
+ eor x16,x16,x9,ror#18 // Sigma1(e)
168
+ ror x9,x25,#28
169
+ add x24,x24,x17 // h+=Ch(e,f,g)
170
+ eor x17,x25,x25,ror#5
171
+ add x24,x24,x16 // h+=Sigma1(e)
172
+ and x19,x19,x28 // (b^c)&=(a^b)
173
+ add x20,x20,x24 // d+=h
174
+ eor x19,x19,x26 // Maj(a,b,c)
175
+ eor x17,x9,x17,ror#34 // Sigma0(a)
176
+ add x24,x24,x19 // h+=Maj(a,b,c)
177
+ ldr x19,[x30],#8 // *K++, x28 in next round
178
+ //add x24,x24,x17 // h+=Sigma0(a)
179
+ #ifndef __AARCH64EB__
180
+ rev x7,x7 // 4
181
+ #endif
182
+ add x24,x24,x17 // h+=Sigma0(a)
183
+ ror x16,x20,#14
184
+ add x23,x23,x19 // h+=K[i]
185
+ eor x10,x20,x20,ror#23
186
+ and x17,x21,x20
187
+ bic x19,x22,x20
188
+ add x23,x23,x7 // h+=X[i]
189
+ orr x17,x17,x19 // Ch(e,f,g)
190
+ eor x19,x24,x25 // a^b, b^c in next round
191
+ eor x16,x16,x10,ror#18 // Sigma1(e)
192
+ ror x10,x24,#28
193
+ add x23,x23,x17 // h+=Ch(e,f,g)
194
+ eor x17,x24,x24,ror#5
195
+ add x23,x23,x16 // h+=Sigma1(e)
196
+ and x28,x28,x19 // (b^c)&=(a^b)
197
+ add x27,x27,x23 // d+=h
198
+ eor x28,x28,x25 // Maj(a,b,c)
199
+ eor x17,x10,x17,ror#34 // Sigma0(a)
200
+ add x23,x23,x28 // h+=Maj(a,b,c)
201
+ ldr x28,[x30],#8 // *K++, x19 in next round
202
+ //add x23,x23,x17 // h+=Sigma0(a)
203
+ #ifndef __AARCH64EB__
204
+ rev x8,x8 // 5
205
+ #endif
206
+ ldp x9,x10,[x1],#2*8
207
+ add x23,x23,x17 // h+=Sigma0(a)
208
+ ror x16,x27,#14
209
+ add x22,x22,x28 // h+=K[i]
210
+ eor x11,x27,x27,ror#23
211
+ and x17,x20,x27
212
+ bic x28,x21,x27
213
+ add x22,x22,x8 // h+=X[i]
214
+ orr x17,x17,x28 // Ch(e,f,g)
215
+ eor x28,x23,x24 // a^b, b^c in next round
216
+ eor x16,x16,x11,ror#18 // Sigma1(e)
217
+ ror x11,x23,#28
218
+ add x22,x22,x17 // h+=Ch(e,f,g)
219
+ eor x17,x23,x23,ror#5
220
+ add x22,x22,x16 // h+=Sigma1(e)
221
+ and x19,x19,x28 // (b^c)&=(a^b)
222
+ add x26,x26,x22 // d+=h
223
+ eor x19,x19,x24 // Maj(a,b,c)
224
+ eor x17,x11,x17,ror#34 // Sigma0(a)
225
+ add x22,x22,x19 // h+=Maj(a,b,c)
226
+ ldr x19,[x30],#8 // *K++, x28 in next round
227
+ //add x22,x22,x17 // h+=Sigma0(a)
228
+ #ifndef __AARCH64EB__
229
+ rev x9,x9 // 6
230
+ #endif
231
+ add x22,x22,x17 // h+=Sigma0(a)
232
+ ror x16,x26,#14
233
+ add x21,x21,x19 // h+=K[i]
234
+ eor x12,x26,x26,ror#23
235
+ and x17,x27,x26
236
+ bic x19,x20,x26
237
+ add x21,x21,x9 // h+=X[i]
238
+ orr x17,x17,x19 // Ch(e,f,g)
239
+ eor x19,x22,x23 // a^b, b^c in next round
240
+ eor x16,x16,x12,ror#18 // Sigma1(e)
241
+ ror x12,x22,#28
242
+ add x21,x21,x17 // h+=Ch(e,f,g)
243
+ eor x17,x22,x22,ror#5
244
+ add x21,x21,x16 // h+=Sigma1(e)
245
+ and x28,x28,x19 // (b^c)&=(a^b)
246
+ add x25,x25,x21 // d+=h
247
+ eor x28,x28,x23 // Maj(a,b,c)
248
+ eor x17,x12,x17,ror#34 // Sigma0(a)
249
+ add x21,x21,x28 // h+=Maj(a,b,c)
250
+ ldr x28,[x30],#8 // *K++, x19 in next round
251
+ //add x21,x21,x17 // h+=Sigma0(a)
252
+ #ifndef __AARCH64EB__
253
+ rev x10,x10 // 7
254
+ #endif
255
+ ldp x11,x12,[x1],#2*8
256
+ add x21,x21,x17 // h+=Sigma0(a)
257
+ ror x16,x25,#14
258
+ add x20,x20,x28 // h+=K[i]
259
+ eor x13,x25,x25,ror#23
260
+ and x17,x26,x25
261
+ bic x28,x27,x25
262
+ add x20,x20,x10 // h+=X[i]
263
+ orr x17,x17,x28 // Ch(e,f,g)
264
+ eor x28,x21,x22 // a^b, b^c in next round
265
+ eor x16,x16,x13,ror#18 // Sigma1(e)
266
+ ror x13,x21,#28
267
+ add x20,x20,x17 // h+=Ch(e,f,g)
268
+ eor x17,x21,x21,ror#5
269
+ add x20,x20,x16 // h+=Sigma1(e)
270
+ and x19,x19,x28 // (b^c)&=(a^b)
271
+ add x24,x24,x20 // d+=h
272
+ eor x19,x19,x22 // Maj(a,b,c)
273
+ eor x17,x13,x17,ror#34 // Sigma0(a)
274
+ add x20,x20,x19 // h+=Maj(a,b,c)
275
+ ldr x19,[x30],#8 // *K++, x28 in next round
276
+ //add x20,x20,x17 // h+=Sigma0(a)
277
+ #ifndef __AARCH64EB__
278
+ rev x11,x11 // 8
279
+ #endif
280
+ add x20,x20,x17 // h+=Sigma0(a)
281
+ ror x16,x24,#14
282
+ add x27,x27,x19 // h+=K[i]
283
+ eor x14,x24,x24,ror#23
284
+ and x17,x25,x24
285
+ bic x19,x26,x24
286
+ add x27,x27,x11 // h+=X[i]
287
+ orr x17,x17,x19 // Ch(e,f,g)
288
+ eor x19,x20,x21 // a^b, b^c in next round
289
+ eor x16,x16,x14,ror#18 // Sigma1(e)
290
+ ror x14,x20,#28
291
+ add x27,x27,x17 // h+=Ch(e,f,g)
292
+ eor x17,x20,x20,ror#5
293
+ add x27,x27,x16 // h+=Sigma1(e)
294
+ and x28,x28,x19 // (b^c)&=(a^b)
295
+ add x23,x23,x27 // d+=h
296
+ eor x28,x28,x21 // Maj(a,b,c)
297
+ eor x17,x14,x17,ror#34 // Sigma0(a)
298
+ add x27,x27,x28 // h+=Maj(a,b,c)
299
+ ldr x28,[x30],#8 // *K++, x19 in next round
300
+ //add x27,x27,x17 // h+=Sigma0(a)
301
+ #ifndef __AARCH64EB__
302
+ rev x12,x12 // 9
303
+ #endif
304
+ ldp x13,x14,[x1],#2*8
305
+ add x27,x27,x17 // h+=Sigma0(a)
306
+ ror x16,x23,#14
307
+ add x26,x26,x28 // h+=K[i]
308
+ eor x15,x23,x23,ror#23
309
+ and x17,x24,x23
310
+ bic x28,x25,x23
311
+ add x26,x26,x12 // h+=X[i]
312
+ orr x17,x17,x28 // Ch(e,f,g)
313
+ eor x28,x27,x20 // a^b, b^c in next round
314
+ eor x16,x16,x15,ror#18 // Sigma1(e)
315
+ ror x15,x27,#28
316
+ add x26,x26,x17 // h+=Ch(e,f,g)
317
+ eor x17,x27,x27,ror#5
318
+ add x26,x26,x16 // h+=Sigma1(e)
319
+ and x19,x19,x28 // (b^c)&=(a^b)
320
+ add x22,x22,x26 // d+=h
321
+ eor x19,x19,x20 // Maj(a,b,c)
322
+ eor x17,x15,x17,ror#34 // Sigma0(a)
323
+ add x26,x26,x19 // h+=Maj(a,b,c)
324
+ ldr x19,[x30],#8 // *K++, x28 in next round
325
+ //add x26,x26,x17 // h+=Sigma0(a)
326
+ #ifndef __AARCH64EB__
327
+ rev x13,x13 // 10
328
+ #endif
329
+ add x26,x26,x17 // h+=Sigma0(a)
330
+ ror x16,x22,#14
331
+ add x25,x25,x19 // h+=K[i]
332
+ eor x0,x22,x22,ror#23
333
+ and x17,x23,x22
334
+ bic x19,x24,x22
335
+ add x25,x25,x13 // h+=X[i]
336
+ orr x17,x17,x19 // Ch(e,f,g)
337
+ eor x19,x26,x27 // a^b, b^c in next round
338
+ eor x16,x16,x0,ror#18 // Sigma1(e)
339
+ ror x0,x26,#28
340
+ add x25,x25,x17 // h+=Ch(e,f,g)
341
+ eor x17,x26,x26,ror#5
342
+ add x25,x25,x16 // h+=Sigma1(e)
343
+ and x28,x28,x19 // (b^c)&=(a^b)
344
+ add x21,x21,x25 // d+=h
345
+ eor x28,x28,x27 // Maj(a,b,c)
346
+ eor x17,x0,x17,ror#34 // Sigma0(a)
347
+ add x25,x25,x28 // h+=Maj(a,b,c)
348
+ ldr x28,[x30],#8 // *K++, x19 in next round
349
+ //add x25,x25,x17 // h+=Sigma0(a)
350
+ #ifndef __AARCH64EB__
351
+ rev x14,x14 // 11
352
+ #endif
353
+ ldp x15,x0,[x1],#2*8
354
+ add x25,x25,x17 // h+=Sigma0(a)
355
+ str x6,[sp,#24]
356
+ ror x16,x21,#14
357
+ add x24,x24,x28 // h+=K[i]
358
+ eor x6,x21,x21,ror#23
359
+ and x17,x22,x21
360
+ bic x28,x23,x21
361
+ add x24,x24,x14 // h+=X[i]
362
+ orr x17,x17,x28 // Ch(e,f,g)
363
+ eor x28,x25,x26 // a^b, b^c in next round
364
+ eor x16,x16,x6,ror#18 // Sigma1(e)
365
+ ror x6,x25,#28
366
+ add x24,x24,x17 // h+=Ch(e,f,g)
367
+ eor x17,x25,x25,ror#5
368
+ add x24,x24,x16 // h+=Sigma1(e)
369
+ and x19,x19,x28 // (b^c)&=(a^b)
370
+ add x20,x20,x24 // d+=h
371
+ eor x19,x19,x26 // Maj(a,b,c)
372
+ eor x17,x6,x17,ror#34 // Sigma0(a)
373
+ add x24,x24,x19 // h+=Maj(a,b,c)
374
+ ldr x19,[x30],#8 // *K++, x28 in next round
375
+ //add x24,x24,x17 // h+=Sigma0(a)
376
+ #ifndef __AARCH64EB__
377
+ rev x15,x15 // 12
378
+ #endif
379
+ add x24,x24,x17 // h+=Sigma0(a)
380
+ str x7,[sp,#0]
381
+ ror x16,x20,#14
382
+ add x23,x23,x19 // h+=K[i]
383
+ eor x7,x20,x20,ror#23
384
+ and x17,x21,x20
385
+ bic x19,x22,x20
386
+ add x23,x23,x15 // h+=X[i]
387
+ orr x17,x17,x19 // Ch(e,f,g)
388
+ eor x19,x24,x25 // a^b, b^c in next round
389
+ eor x16,x16,x7,ror#18 // Sigma1(e)
390
+ ror x7,x24,#28
391
+ add x23,x23,x17 // h+=Ch(e,f,g)
392
+ eor x17,x24,x24,ror#5
393
+ add x23,x23,x16 // h+=Sigma1(e)
394
+ and x28,x28,x19 // (b^c)&=(a^b)
395
+ add x27,x27,x23 // d+=h
396
+ eor x28,x28,x25 // Maj(a,b,c)
397
+ eor x17,x7,x17,ror#34 // Sigma0(a)
398
+ add x23,x23,x28 // h+=Maj(a,b,c)
399
+ ldr x28,[x30],#8 // *K++, x19 in next round
400
+ //add x23,x23,x17 // h+=Sigma0(a)
401
+ #ifndef __AARCH64EB__
402
+ rev x0,x0 // 13
403
+ #endif
404
+ ldp x1,x2,[x1]
405
+ add x23,x23,x17 // h+=Sigma0(a)
406
+ str x8,[sp,#8]
407
+ ror x16,x27,#14
408
+ add x22,x22,x28 // h+=K[i]
409
+ eor x8,x27,x27,ror#23
410
+ and x17,x20,x27
411
+ bic x28,x21,x27
412
+ add x22,x22,x0 // h+=X[i]
413
+ orr x17,x17,x28 // Ch(e,f,g)
414
+ eor x28,x23,x24 // a^b, b^c in next round
415
+ eor x16,x16,x8,ror#18 // Sigma1(e)
416
+ ror x8,x23,#28
417
+ add x22,x22,x17 // h+=Ch(e,f,g)
418
+ eor x17,x23,x23,ror#5
419
+ add x22,x22,x16 // h+=Sigma1(e)
420
+ and x19,x19,x28 // (b^c)&=(a^b)
421
+ add x26,x26,x22 // d+=h
422
+ eor x19,x19,x24 // Maj(a,b,c)
423
+ eor x17,x8,x17,ror#34 // Sigma0(a)
424
+ add x22,x22,x19 // h+=Maj(a,b,c)
425
+ ldr x19,[x30],#8 // *K++, x28 in next round
426
+ //add x22,x22,x17 // h+=Sigma0(a)
427
+ #ifndef __AARCH64EB__
428
+ rev x1,x1 // 14
429
+ #endif
430
+ ldr x6,[sp,#24]
431
+ add x22,x22,x17 // h+=Sigma0(a)
432
+ str x9,[sp,#16]
433
+ ror x16,x26,#14
434
+ add x21,x21,x19 // h+=K[i]
435
+ eor x9,x26,x26,ror#23
436
+ and x17,x27,x26
437
+ bic x19,x20,x26
438
+ add x21,x21,x1 // h+=X[i]
439
+ orr x17,x17,x19 // Ch(e,f,g)
440
+ eor x19,x22,x23 // a^b, b^c in next round
441
+ eor x16,x16,x9,ror#18 // Sigma1(e)
442
+ ror x9,x22,#28
443
+ add x21,x21,x17 // h+=Ch(e,f,g)
444
+ eor x17,x22,x22,ror#5
445
+ add x21,x21,x16 // h+=Sigma1(e)
446
+ and x28,x28,x19 // (b^c)&=(a^b)
447
+ add x25,x25,x21 // d+=h
448
+ eor x28,x28,x23 // Maj(a,b,c)
449
+ eor x17,x9,x17,ror#34 // Sigma0(a)
450
+ add x21,x21,x28 // h+=Maj(a,b,c)
451
+ ldr x28,[x30],#8 // *K++, x19 in next round
452
+ //add x21,x21,x17 // h+=Sigma0(a)
453
+ #ifndef __AARCH64EB__
454
+ rev x2,x2 // 15
455
+ #endif
456
+ ldr x7,[sp,#0]
457
+ add x21,x21,x17 // h+=Sigma0(a)
458
+ str x10,[sp,#24]
459
+ ror x16,x25,#14
460
+ add x20,x20,x28 // h+=K[i]
461
+ ror x9,x4,#1
462
+ and x17,x26,x25
463
+ ror x8,x1,#19
464
+ bic x28,x27,x25
465
+ ror x10,x21,#28
466
+ add x20,x20,x2 // h+=X[i]
467
+ eor x16,x16,x25,ror#18
468
+ eor x9,x9,x4,ror#8
469
+ orr x17,x17,x28 // Ch(e,f,g)
470
+ eor x28,x21,x22 // a^b, b^c in next round
471
+ eor x16,x16,x25,ror#41 // Sigma1(e)
472
+ eor x10,x10,x21,ror#34
473
+ add x20,x20,x17 // h+=Ch(e,f,g)
474
+ and x19,x19,x28 // (b^c)&=(a^b)
475
+ eor x8,x8,x1,ror#61
476
+ eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
477
+ add x20,x20,x16 // h+=Sigma1(e)
478
+ eor x19,x19,x22 // Maj(a,b,c)
479
+ eor x17,x10,x21,ror#39 // Sigma0(a)
480
+ eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
481
+ add x3,x3,x12
482
+ add x24,x24,x20 // d+=h
483
+ add x20,x20,x19 // h+=Maj(a,b,c)
484
+ ldr x19,[x30],#8 // *K++, x28 in next round
485
+ add x3,x3,x9
486
+ add x20,x20,x17 // h+=Sigma0(a)
487
+ add x3,x3,x8
488
+ Loop_16_xx:
489
+ ldr x8,[sp,#8]
490
+ str x11,[sp,#0]
491
+ ror x16,x24,#14
492
+ add x27,x27,x19 // h+=K[i]
493
+ ror x10,x5,#1
494
+ and x17,x25,x24
495
+ ror x9,x2,#19
496
+ bic x19,x26,x24
497
+ ror x11,x20,#28
498
+ add x27,x27,x3 // h+=X[i]
499
+ eor x16,x16,x24,ror#18
500
+ eor x10,x10,x5,ror#8
501
+ orr x17,x17,x19 // Ch(e,f,g)
502
+ eor x19,x20,x21 // a^b, b^c in next round
503
+ eor x16,x16,x24,ror#41 // Sigma1(e)
504
+ eor x11,x11,x20,ror#34
505
+ add x27,x27,x17 // h+=Ch(e,f,g)
506
+ and x28,x28,x19 // (b^c)&=(a^b)
507
+ eor x9,x9,x2,ror#61
508
+ eor x10,x10,x5,lsr#7 // sigma0(X[i+1])
509
+ add x27,x27,x16 // h+=Sigma1(e)
510
+ eor x28,x28,x21 // Maj(a,b,c)
511
+ eor x17,x11,x20,ror#39 // Sigma0(a)
512
+ eor x9,x9,x2,lsr#6 // sigma1(X[i+14])
513
+ add x4,x4,x13
514
+ add x23,x23,x27 // d+=h
515
+ add x27,x27,x28 // h+=Maj(a,b,c)
516
+ ldr x28,[x30],#8 // *K++, x19 in next round
517
+ add x4,x4,x10
518
+ add x27,x27,x17 // h+=Sigma0(a)
519
+ add x4,x4,x9
520
+ ldr x9,[sp,#16]
521
+ str x12,[sp,#8]
522
+ ror x16,x23,#14
523
+ add x26,x26,x28 // h+=K[i]
524
+ ror x11,x6,#1
525
+ and x17,x24,x23
526
+ ror x10,x3,#19
527
+ bic x28,x25,x23
528
+ ror x12,x27,#28
529
+ add x26,x26,x4 // h+=X[i]
530
+ eor x16,x16,x23,ror#18
531
+ eor x11,x11,x6,ror#8
532
+ orr x17,x17,x28 // Ch(e,f,g)
533
+ eor x28,x27,x20 // a^b, b^c in next round
534
+ eor x16,x16,x23,ror#41 // Sigma1(e)
535
+ eor x12,x12,x27,ror#34
536
+ add x26,x26,x17 // h+=Ch(e,f,g)
537
+ and x19,x19,x28 // (b^c)&=(a^b)
538
+ eor x10,x10,x3,ror#61
539
+ eor x11,x11,x6,lsr#7 // sigma0(X[i+1])
540
+ add x26,x26,x16 // h+=Sigma1(e)
541
+ eor x19,x19,x20 // Maj(a,b,c)
542
+ eor x17,x12,x27,ror#39 // Sigma0(a)
543
+ eor x10,x10,x3,lsr#6 // sigma1(X[i+14])
544
+ add x5,x5,x14
545
+ add x22,x22,x26 // d+=h
546
+ add x26,x26,x19 // h+=Maj(a,b,c)
547
+ ldr x19,[x30],#8 // *K++, x28 in next round
548
+ add x5,x5,x11
549
+ add x26,x26,x17 // h+=Sigma0(a)
550
+ add x5,x5,x10
551
+ ldr x10,[sp,#24]
552
+ str x13,[sp,#16]
553
+ ror x16,x22,#14
554
+ add x25,x25,x19 // h+=K[i]
555
+ ror x12,x7,#1
556
+ and x17,x23,x22
557
+ ror x11,x4,#19
558
+ bic x19,x24,x22
559
+ ror x13,x26,#28
560
+ add x25,x25,x5 // h+=X[i]
561
+ eor x16,x16,x22,ror#18
562
+ eor x12,x12,x7,ror#8
563
+ orr x17,x17,x19 // Ch(e,f,g)
564
+ eor x19,x26,x27 // a^b, b^c in next round
565
+ eor x16,x16,x22,ror#41 // Sigma1(e)
566
+ eor x13,x13,x26,ror#34
567
+ add x25,x25,x17 // h+=Ch(e,f,g)
568
+ and x28,x28,x19 // (b^c)&=(a^b)
569
+ eor x11,x11,x4,ror#61
570
+ eor x12,x12,x7,lsr#7 // sigma0(X[i+1])
571
+ add x25,x25,x16 // h+=Sigma1(e)
572
+ eor x28,x28,x27 // Maj(a,b,c)
573
+ eor x17,x13,x26,ror#39 // Sigma0(a)
574
+ eor x11,x11,x4,lsr#6 // sigma1(X[i+14])
575
+ add x6,x6,x15
576
+ add x21,x21,x25 // d+=h
577
+ add x25,x25,x28 // h+=Maj(a,b,c)
578
+ ldr x28,[x30],#8 // *K++, x19 in next round
579
+ add x6,x6,x12
580
+ add x25,x25,x17 // h+=Sigma0(a)
581
+ add x6,x6,x11
582
+ ldr x11,[sp,#0]
583
+ str x14,[sp,#24]
584
+ ror x16,x21,#14
585
+ add x24,x24,x28 // h+=K[i]
586
+ ror x13,x8,#1
587
+ and x17,x22,x21
588
+ ror x12,x5,#19
589
+ bic x28,x23,x21
590
+ ror x14,x25,#28
591
+ add x24,x24,x6 // h+=X[i]
592
+ eor x16,x16,x21,ror#18
593
+ eor x13,x13,x8,ror#8
594
+ orr x17,x17,x28 // Ch(e,f,g)
595
+ eor x28,x25,x26 // a^b, b^c in next round
596
+ eor x16,x16,x21,ror#41 // Sigma1(e)
597
+ eor x14,x14,x25,ror#34
598
+ add x24,x24,x17 // h+=Ch(e,f,g)
599
+ and x19,x19,x28 // (b^c)&=(a^b)
600
+ eor x12,x12,x5,ror#61
601
+ eor x13,x13,x8,lsr#7 // sigma0(X[i+1])
602
+ add x24,x24,x16 // h+=Sigma1(e)
603
+ eor x19,x19,x26 // Maj(a,b,c)
604
+ eor x17,x14,x25,ror#39 // Sigma0(a)
605
+ eor x12,x12,x5,lsr#6 // sigma1(X[i+14])
606
+ add x7,x7,x0
607
+ add x20,x20,x24 // d+=h
608
+ add x24,x24,x19 // h+=Maj(a,b,c)
609
+ ldr x19,[x30],#8 // *K++, x28 in next round
610
+ add x7,x7,x13
611
+ add x24,x24,x17 // h+=Sigma0(a)
612
+ add x7,x7,x12
613
+ ldr x12,[sp,#8]
614
+ str x15,[sp,#0]
615
+ ror x16,x20,#14
616
+ add x23,x23,x19 // h+=K[i]
617
+ ror x14,x9,#1
618
+ and x17,x21,x20
619
+ ror x13,x6,#19
620
+ bic x19,x22,x20
621
+ ror x15,x24,#28
622
+ add x23,x23,x7 // h+=X[i]
623
+ eor x16,x16,x20,ror#18
624
+ eor x14,x14,x9,ror#8
625
+ orr x17,x17,x19 // Ch(e,f,g)
626
+ eor x19,x24,x25 // a^b, b^c in next round
627
+ eor x16,x16,x20,ror#41 // Sigma1(e)
628
+ eor x15,x15,x24,ror#34
629
+ add x23,x23,x17 // h+=Ch(e,f,g)
630
+ and x28,x28,x19 // (b^c)&=(a^b)
631
+ eor x13,x13,x6,ror#61
632
+ eor x14,x14,x9,lsr#7 // sigma0(X[i+1])
633
+ add x23,x23,x16 // h+=Sigma1(e)
634
+ eor x28,x28,x25 // Maj(a,b,c)
635
+ eor x17,x15,x24,ror#39 // Sigma0(a)
636
+ eor x13,x13,x6,lsr#6 // sigma1(X[i+14])
637
+ add x8,x8,x1
638
+ add x27,x27,x23 // d+=h
639
+ add x23,x23,x28 // h+=Maj(a,b,c)
640
+ ldr x28,[x30],#8 // *K++, x19 in next round
641
+ add x8,x8,x14
642
+ add x23,x23,x17 // h+=Sigma0(a)
643
+ add x8,x8,x13
644
+ ldr x13,[sp,#16]
645
+ str x0,[sp,#8]
646
+ ror x16,x27,#14
647
+ add x22,x22,x28 // h+=K[i]
648
+ ror x15,x10,#1
649
+ and x17,x20,x27
650
+ ror x14,x7,#19
651
+ bic x28,x21,x27
652
+ ror x0,x23,#28
653
+ add x22,x22,x8 // h+=X[i]
654
+ eor x16,x16,x27,ror#18
655
+ eor x15,x15,x10,ror#8
656
+ orr x17,x17,x28 // Ch(e,f,g)
657
+ eor x28,x23,x24 // a^b, b^c in next round
658
+ eor x16,x16,x27,ror#41 // Sigma1(e)
659
+ eor x0,x0,x23,ror#34
660
+ add x22,x22,x17 // h+=Ch(e,f,g)
661
+ and x19,x19,x28 // (b^c)&=(a^b)
662
+ eor x14,x14,x7,ror#61
663
+ eor x15,x15,x10,lsr#7 // sigma0(X[i+1])
664
+ add x22,x22,x16 // h+=Sigma1(e)
665
+ eor x19,x19,x24 // Maj(a,b,c)
666
+ eor x17,x0,x23,ror#39 // Sigma0(a)
667
+ eor x14,x14,x7,lsr#6 // sigma1(X[i+14])
668
+ add x9,x9,x2
669
+ add x26,x26,x22 // d+=h
670
+ add x22,x22,x19 // h+=Maj(a,b,c)
671
+ ldr x19,[x30],#8 // *K++, x28 in next round
672
+ add x9,x9,x15
673
+ add x22,x22,x17 // h+=Sigma0(a)
674
+ add x9,x9,x14
675
+ ldr x14,[sp,#24]
676
+ str x1,[sp,#16]
677
+ ror x16,x26,#14
678
+ add x21,x21,x19 // h+=K[i]
679
+ ror x0,x11,#1
680
+ and x17,x27,x26
681
+ ror x15,x8,#19
682
+ bic x19,x20,x26
683
+ ror x1,x22,#28
684
+ add x21,x21,x9 // h+=X[i]
685
+ eor x16,x16,x26,ror#18
686
+ eor x0,x0,x11,ror#8
687
+ orr x17,x17,x19 // Ch(e,f,g)
688
+ eor x19,x22,x23 // a^b, b^c in next round
689
+ eor x16,x16,x26,ror#41 // Sigma1(e)
690
+ eor x1,x1,x22,ror#34
691
+ add x21,x21,x17 // h+=Ch(e,f,g)
692
+ and x28,x28,x19 // (b^c)&=(a^b)
693
+ eor x15,x15,x8,ror#61
694
+ eor x0,x0,x11,lsr#7 // sigma0(X[i+1])
695
+ add x21,x21,x16 // h+=Sigma1(e)
696
+ eor x28,x28,x23 // Maj(a,b,c)
697
+ eor x17,x1,x22,ror#39 // Sigma0(a)
698
+ eor x15,x15,x8,lsr#6 // sigma1(X[i+14])
699
+ add x10,x10,x3
700
+ add x25,x25,x21 // d+=h
701
+ add x21,x21,x28 // h+=Maj(a,b,c)
702
+ ldr x28,[x30],#8 // *K++, x19 in next round
703
+ add x10,x10,x0
704
+ add x21,x21,x17 // h+=Sigma0(a)
705
+ add x10,x10,x15
706
+ ldr x15,[sp,#0]
707
+ str x2,[sp,#24]
708
+ ror x16,x25,#14
709
+ add x20,x20,x28 // h+=K[i]
710
+ ror x1,x12,#1
711
+ and x17,x26,x25
712
+ ror x0,x9,#19
713
+ bic x28,x27,x25
714
+ ror x2,x21,#28
715
+ add x20,x20,x10 // h+=X[i]
716
+ eor x16,x16,x25,ror#18
717
+ eor x1,x1,x12,ror#8
718
+ orr x17,x17,x28 // Ch(e,f,g)
719
+ eor x28,x21,x22 // a^b, b^c in next round
720
+ eor x16,x16,x25,ror#41 // Sigma1(e)
721
+ eor x2,x2,x21,ror#34
722
+ add x20,x20,x17 // h+=Ch(e,f,g)
723
+ and x19,x19,x28 // (b^c)&=(a^b)
724
+ eor x0,x0,x9,ror#61
725
+ eor x1,x1,x12,lsr#7 // sigma0(X[i+1])
726
+ add x20,x20,x16 // h+=Sigma1(e)
727
+ eor x19,x19,x22 // Maj(a,b,c)
728
+ eor x17,x2,x21,ror#39 // Sigma0(a)
729
+ eor x0,x0,x9,lsr#6 // sigma1(X[i+14])
730
+ add x11,x11,x4
731
+ add x24,x24,x20 // d+=h
732
+ add x20,x20,x19 // h+=Maj(a,b,c)
733
+ ldr x19,[x30],#8 // *K++, x28 in next round
734
+ add x11,x11,x1
735
+ add x20,x20,x17 // h+=Sigma0(a)
736
+ add x11,x11,x0
737
+ ldr x0,[sp,#8]
738
+ str x3,[sp,#0]
739
+ ror x16,x24,#14
740
+ add x27,x27,x19 // h+=K[i]
741
+ ror x2,x13,#1
742
+ and x17,x25,x24
743
+ ror x1,x10,#19
744
+ bic x19,x26,x24
745
+ ror x3,x20,#28
746
+ add x27,x27,x11 // h+=X[i]
747
+ eor x16,x16,x24,ror#18
748
+ eor x2,x2,x13,ror#8
749
+ orr x17,x17,x19 // Ch(e,f,g)
750
+ eor x19,x20,x21 // a^b, b^c in next round
751
+ eor x16,x16,x24,ror#41 // Sigma1(e)
752
+ eor x3,x3,x20,ror#34
753
+ add x27,x27,x17 // h+=Ch(e,f,g)
754
+ and x28,x28,x19 // (b^c)&=(a^b)
755
+ eor x1,x1,x10,ror#61
756
+ eor x2,x2,x13,lsr#7 // sigma0(X[i+1])
757
+ add x27,x27,x16 // h+=Sigma1(e)
758
+ eor x28,x28,x21 // Maj(a,b,c)
759
+ eor x17,x3,x20,ror#39 // Sigma0(a)
760
+ eor x1,x1,x10,lsr#6 // sigma1(X[i+14])
761
+ add x12,x12,x5
762
+ add x23,x23,x27 // d+=h
763
+ add x27,x27,x28 // h+=Maj(a,b,c)
764
+ ldr x28,[x30],#8 // *K++, x19 in next round
765
+ add x12,x12,x2
766
+ add x27,x27,x17 // h+=Sigma0(a)
767
+ add x12,x12,x1
768
+ ldr x1,[sp,#16]
769
+ str x4,[sp,#8]
770
+ ror x16,x23,#14
771
+ add x26,x26,x28 // h+=K[i]
772
+ ror x3,x14,#1
773
+ and x17,x24,x23
774
+ ror x2,x11,#19
775
+ bic x28,x25,x23
776
+ ror x4,x27,#28
777
+ add x26,x26,x12 // h+=X[i]
778
+ eor x16,x16,x23,ror#18
779
+ eor x3,x3,x14,ror#8
780
+ orr x17,x17,x28 // Ch(e,f,g)
781
+ eor x28,x27,x20 // a^b, b^c in next round
782
+ eor x16,x16,x23,ror#41 // Sigma1(e)
783
+ eor x4,x4,x27,ror#34
784
+ add x26,x26,x17 // h+=Ch(e,f,g)
785
+ and x19,x19,x28 // (b^c)&=(a^b)
786
+ eor x2,x2,x11,ror#61
787
+ eor x3,x3,x14,lsr#7 // sigma0(X[i+1])
788
+ add x26,x26,x16 // h+=Sigma1(e)
789
+ eor x19,x19,x20 // Maj(a,b,c)
790
+ eor x17,x4,x27,ror#39 // Sigma0(a)
791
+ eor x2,x2,x11,lsr#6 // sigma1(X[i+14])
792
+ add x13,x13,x6
793
+ add x22,x22,x26 // d+=h
794
+ add x26,x26,x19 // h+=Maj(a,b,c)
795
+ ldr x19,[x30],#8 // *K++, x28 in next round
796
+ add x13,x13,x3
797
+ add x26,x26,x17 // h+=Sigma0(a)
798
+ add x13,x13,x2
799
+ ldr x2,[sp,#24]
800
+ str x5,[sp,#16]
801
+ ror x16,x22,#14
802
+ add x25,x25,x19 // h+=K[i]
803
+ ror x4,x15,#1
804
+ and x17,x23,x22
805
+ ror x3,x12,#19
806
+ bic x19,x24,x22
807
+ ror x5,x26,#28
808
+ add x25,x25,x13 // h+=X[i]
809
+ eor x16,x16,x22,ror#18
810
+ eor x4,x4,x15,ror#8
811
+ orr x17,x17,x19 // Ch(e,f,g)
812
+ eor x19,x26,x27 // a^b, b^c in next round
813
+ eor x16,x16,x22,ror#41 // Sigma1(e)
814
+ eor x5,x5,x26,ror#34
815
+ add x25,x25,x17 // h+=Ch(e,f,g)
816
+ and x28,x28,x19 // (b^c)&=(a^b)
817
+ eor x3,x3,x12,ror#61
818
+ eor x4,x4,x15,lsr#7 // sigma0(X[i+1])
819
+ add x25,x25,x16 // h+=Sigma1(e)
820
+ eor x28,x28,x27 // Maj(a,b,c)
821
+ eor x17,x5,x26,ror#39 // Sigma0(a)
822
+ eor x3,x3,x12,lsr#6 // sigma1(X[i+14])
823
+ add x14,x14,x7
824
+ add x21,x21,x25 // d+=h
825
+ add x25,x25,x28 // h+=Maj(a,b,c)
826
+ ldr x28,[x30],#8 // *K++, x19 in next round
827
+ add x14,x14,x4
828
+ add x25,x25,x17 // h+=Sigma0(a)
829
+ add x14,x14,x3
830
+ ldr x3,[sp,#0]
831
+ str x6,[sp,#24]
832
+ ror x16,x21,#14
833
+ add x24,x24,x28 // h+=K[i]
834
+ ror x5,x0,#1
835
+ and x17,x22,x21
836
+ ror x4,x13,#19
837
+ bic x28,x23,x21
838
+ ror x6,x25,#28
839
+ add x24,x24,x14 // h+=X[i]
840
+ eor x16,x16,x21,ror#18
841
+ eor x5,x5,x0,ror#8
842
+ orr x17,x17,x28 // Ch(e,f,g)
843
+ eor x28,x25,x26 // a^b, b^c in next round
844
+ eor x16,x16,x21,ror#41 // Sigma1(e)
845
+ eor x6,x6,x25,ror#34
846
+ add x24,x24,x17 // h+=Ch(e,f,g)
847
+ and x19,x19,x28 // (b^c)&=(a^b)
848
+ eor x4,x4,x13,ror#61
849
+ eor x5,x5,x0,lsr#7 // sigma0(X[i+1])
850
+ add x24,x24,x16 // h+=Sigma1(e)
851
+ eor x19,x19,x26 // Maj(a,b,c)
852
+ eor x17,x6,x25,ror#39 // Sigma0(a)
853
+ eor x4,x4,x13,lsr#6 // sigma1(X[i+14])
854
+ add x15,x15,x8
855
+ add x20,x20,x24 // d+=h
856
+ add x24,x24,x19 // h+=Maj(a,b,c)
857
+ ldr x19,[x30],#8 // *K++, x28 in next round
858
+ add x15,x15,x5
859
+ add x24,x24,x17 // h+=Sigma0(a)
860
+ add x15,x15,x4
861
+ ldr x4,[sp,#8]
862
+ str x7,[sp,#0]
863
+ ror x16,x20,#14
864
+ add x23,x23,x19 // h+=K[i]
865
+ ror x6,x1,#1
866
+ and x17,x21,x20
867
+ ror x5,x14,#19
868
+ bic x19,x22,x20
869
+ ror x7,x24,#28
870
+ add x23,x23,x15 // h+=X[i]
871
+ eor x16,x16,x20,ror#18
872
+ eor x6,x6,x1,ror#8
873
+ orr x17,x17,x19 // Ch(e,f,g)
874
+ eor x19,x24,x25 // a^b, b^c in next round
875
+ eor x16,x16,x20,ror#41 // Sigma1(e)
876
+ eor x7,x7,x24,ror#34
877
+ add x23,x23,x17 // h+=Ch(e,f,g)
878
+ and x28,x28,x19 // (b^c)&=(a^b)
879
+ eor x5,x5,x14,ror#61
880
+ eor x6,x6,x1,lsr#7 // sigma0(X[i+1])
881
+ add x23,x23,x16 // h+=Sigma1(e)
882
+ eor x28,x28,x25 // Maj(a,b,c)
883
+ eor x17,x7,x24,ror#39 // Sigma0(a)
884
+ eor x5,x5,x14,lsr#6 // sigma1(X[i+14])
885
+ add x0,x0,x9
886
+ add x27,x27,x23 // d+=h
887
+ add x23,x23,x28 // h+=Maj(a,b,c)
888
+ ldr x28,[x30],#8 // *K++, x19 in next round
889
+ add x0,x0,x6
890
+ add x23,x23,x17 // h+=Sigma0(a)
891
+ add x0,x0,x5
892
+ ldr x5,[sp,#16]
893
+ str x8,[sp,#8]
894
+ ror x16,x27,#14
895
+ add x22,x22,x28 // h+=K[i]
896
+ ror x7,x2,#1
897
+ and x17,x20,x27
898
+ ror x6,x15,#19
899
+ bic x28,x21,x27
900
+ ror x8,x23,#28
901
+ add x22,x22,x0 // h+=X[i]
902
+ eor x16,x16,x27,ror#18
903
+ eor x7,x7,x2,ror#8
904
+ orr x17,x17,x28 // Ch(e,f,g)
905
+ eor x28,x23,x24 // a^b, b^c in next round
906
+ eor x16,x16,x27,ror#41 // Sigma1(e)
907
+ eor x8,x8,x23,ror#34
908
+ add x22,x22,x17 // h+=Ch(e,f,g)
909
+ and x19,x19,x28 // (b^c)&=(a^b)
910
+ eor x6,x6,x15,ror#61
911
+ eor x7,x7,x2,lsr#7 // sigma0(X[i+1])
912
+ add x22,x22,x16 // h+=Sigma1(e)
913
+ eor x19,x19,x24 // Maj(a,b,c)
914
+ eor x17,x8,x23,ror#39 // Sigma0(a)
915
+ eor x6,x6,x15,lsr#6 // sigma1(X[i+14])
916
+ add x1,x1,x10
917
+ add x26,x26,x22 // d+=h
918
+ add x22,x22,x19 // h+=Maj(a,b,c)
919
+ ldr x19,[x30],#8 // *K++, x28 in next round
920
+ add x1,x1,x7
921
+ add x22,x22,x17 // h+=Sigma0(a)
922
+ add x1,x1,x6
923
+ ldr x6,[sp,#24]
924
+ str x9,[sp,#16]
925
+ ror x16,x26,#14
926
+ add x21,x21,x19 // h+=K[i]
927
+ ror x8,x3,#1
928
+ and x17,x27,x26
929
+ ror x7,x0,#19
930
+ bic x19,x20,x26
931
+ ror x9,x22,#28
932
+ add x21,x21,x1 // h+=X[i]
933
+ eor x16,x16,x26,ror#18
934
+ eor x8,x8,x3,ror#8
935
+ orr x17,x17,x19 // Ch(e,f,g)
936
+ eor x19,x22,x23 // a^b, b^c in next round
937
+ eor x16,x16,x26,ror#41 // Sigma1(e)
938
+ eor x9,x9,x22,ror#34
939
+ add x21,x21,x17 // h+=Ch(e,f,g)
940
+ and x28,x28,x19 // (b^c)&=(a^b)
941
+ eor x7,x7,x0,ror#61
942
+ eor x8,x8,x3,lsr#7 // sigma0(X[i+1])
943
+ add x21,x21,x16 // h+=Sigma1(e)
944
+ eor x28,x28,x23 // Maj(a,b,c)
945
+ eor x17,x9,x22,ror#39 // Sigma0(a)
946
+ eor x7,x7,x0,lsr#6 // sigma1(X[i+14])
947
+ add x2,x2,x11
948
+ add x25,x25,x21 // d+=h
949
+ add x21,x21,x28 // h+=Maj(a,b,c)
950
+ ldr x28,[x30],#8 // *K++, x19 in next round
951
+ add x2,x2,x8
952
+ add x21,x21,x17 // h+=Sigma0(a)
953
+ add x2,x2,x7
954
+ ldr x7,[sp,#0]
955
+ str x10,[sp,#24]
956
+ ror x16,x25,#14
957
+ add x20,x20,x28 // h+=K[i]
958
+ ror x9,x4,#1
959
+ and x17,x26,x25
960
+ ror x8,x1,#19
961
+ bic x28,x27,x25
962
+ ror x10,x21,#28
963
+ add x20,x20,x2 // h+=X[i]
964
+ eor x16,x16,x25,ror#18
965
+ eor x9,x9,x4,ror#8
966
+ orr x17,x17,x28 // Ch(e,f,g)
967
+ eor x28,x21,x22 // a^b, b^c in next round
968
+ eor x16,x16,x25,ror#41 // Sigma1(e)
969
+ eor x10,x10,x21,ror#34
970
+ add x20,x20,x17 // h+=Ch(e,f,g)
971
+ and x19,x19,x28 // (b^c)&=(a^b)
972
+ eor x8,x8,x1,ror#61
973
+ eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
974
+ add x20,x20,x16 // h+=Sigma1(e)
975
+ eor x19,x19,x22 // Maj(a,b,c)
976
+ eor x17,x10,x21,ror#39 // Sigma0(a)
977
+ eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
978
+ add x3,x3,x12
979
+ add x24,x24,x20 // d+=h
980
+ add x20,x20,x19 // h+=Maj(a,b,c)
981
+ ldr x19,[x30],#8 // *K++, x28 in next round
982
+ add x3,x3,x9
983
+ add x20,x20,x17 // h+=Sigma0(a)
984
+ add x3,x3,x8
985
+ cbnz x19,Loop_16_xx
986
+
987
+ ldp x0,x2,[x29,#96]
988
+ ldr x1,[x29,#112]
989
+ sub x30,x30,#648 // rewind
990
+
991
+ ldp x3,x4,[x0]
992
+ ldp x5,x6,[x0,#2*8]
993
+ add x1,x1,#14*8 // advance input pointer
994
+ ldp x7,x8,[x0,#4*8]
995
+ add x20,x20,x3
996
+ ldp x9,x10,[x0,#6*8]
997
+ add x21,x21,x4
998
+ add x22,x22,x5
999
+ add x23,x23,x6
1000
+ stp x20,x21,[x0]
1001
+ add x24,x24,x7
1002
+ add x25,x25,x8
1003
+ stp x22,x23,[x0,#2*8]
1004
+ add x26,x26,x9
1005
+ add x27,x27,x10
1006
+ cmp x1,x2
1007
+ stp x24,x25,[x0,#4*8]
1008
+ stp x26,x27,[x0,#6*8]
1009
+ b.ne Loop
1010
+
1011
+ ldp x19,x20,[x29,#16]
1012
+ add sp,sp,#4*8
1013
+ ldp x21,x22,[x29,#32]
1014
+ ldp x23,x24,[x29,#48]
1015
+ ldp x25,x26,[x29,#64]
1016
+ ldp x27,x28,[x29,#80]
1017
+ ldp x29,x30,[sp],#128
1018
+ AARCH64_VALIDATE_LINK_REGISTER
1019
+ ret
1020
+
1021
+
1022
+ .section __TEXT,__const
1023
+
1024
+ .align 6
1025
+ sha512_constants:
1026
+
1027
+ LK512:
1028
+ .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1029
+ .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1030
+ .quad 0x3956c25bf348b538,0x59f111f1b605d019
1031
+ .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1032
+ .quad 0xd807aa98a3030242,0x12835b0145706fbe
1033
+ .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1034
+ .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1035
+ .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1036
+ .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1037
+ .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1038
+ .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1039
+ .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1040
+ .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1041
+ .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1042
+ .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1043
+ .quad 0x06ca6351e003826f,0x142929670a0e6e70
1044
+ .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1045
+ .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1046
+ .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1047
+ .quad 0x81c2c92e47edaee6,0x92722c851482353b
1048
+ .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1049
+ .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1050
+ .quad 0xd192e819d6ef5218,0xd69906245565a910
1051
+ .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1052
+ .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1053
+ .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1054
+ .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1055
+ .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1056
+ .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1057
+ .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1058
+ .quad 0x90befffa23631e28,0xa4506cebde82bde9
1059
+ .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1060
+ .quad 0xca273eceea26619c,0xd186b8c721c0c207
1061
+ .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1062
+ .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1063
+ .quad 0x113f9804bef90dae,0x1b710b35131c471b
1064
+ .quad 0x28db77f523047d84,0x32caab7b40c72493
1065
+ .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1066
+ .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1067
+ .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1068
+ .quad 0 // terminator
1069
+
1070
+ .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
1071
+ .align 2
1072
+ .align 2
1073
+ .text
1074
+ #ifndef __KERNEL__
1075
+ .globl _sha512_block_data_order_hw
1076
+ .private_extern _sha512_block_data_order_hw
1077
+
1078
+ .align 6
1079
+ .alt_entry _sha512_block_data_order_hw
1080
+ _sha512_block_data_order_hw:
1081
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1082
+ AARCH64_VALID_CALL_TARGET
1083
+ stp x29,x30,[sp,#-16]!
1084
+ add x29,sp,#0
1085
+
1086
+ ld1 {v16.16b,v17.16b,v18.16b,v19.16b},[x1],#64 // load input
1087
+ ld1 {v20.16b,v21.16b,v22.16b,v23.16b},[x1],#64
1088
+
1089
+ ld1 {v0.2d,v1.2d,v2.2d,v3.2d},[x0] // load context
1090
+ adrp x3,LK512@PAGE
1091
+ add x3,x3,LK512@PAGEOFF
1092
+
1093
+ rev64 v16.16b,v16.16b
1094
+ rev64 v17.16b,v17.16b
1095
+ rev64 v18.16b,v18.16b
1096
+ rev64 v19.16b,v19.16b
1097
+ rev64 v20.16b,v20.16b
1098
+ rev64 v21.16b,v21.16b
1099
+ rev64 v22.16b,v22.16b
1100
+ rev64 v23.16b,v23.16b
1101
+ b Loop_hw
1102
+
1103
+ .align 4
1104
+ Loop_hw:
1105
+ ld1 {v24.2d},[x3],#16
1106
+ subs x2,x2,#1
1107
+ sub x4,x1,#128
1108
+ orr v26.16b,v0.16b,v0.16b // offload
1109
+ orr v27.16b,v1.16b,v1.16b
1110
+ orr v28.16b,v2.16b,v2.16b
1111
+ orr v29.16b,v3.16b,v3.16b
1112
+ csel x1,x1,x4,ne // conditional rewind
1113
+ add v24.2d,v24.2d,v16.2d
1114
+ ld1 {v25.2d},[x3],#16
1115
+ ext v24.16b,v24.16b,v24.16b,#8
1116
+ ext v5.16b,v2.16b,v3.16b,#8
1117
+ ext v6.16b,v1.16b,v2.16b,#8
1118
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1119
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1120
+ ext v7.16b,v20.16b,v21.16b,#8
1121
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1122
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1123
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1124
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1125
+ add v25.2d,v25.2d,v17.2d
1126
+ ld1 {v24.2d},[x3],#16
1127
+ ext v25.16b,v25.16b,v25.16b,#8
1128
+ ext v5.16b,v4.16b,v2.16b,#8
1129
+ ext v6.16b,v0.16b,v4.16b,#8
1130
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1131
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1132
+ ext v7.16b,v21.16b,v22.16b,#8
1133
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1134
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1135
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1136
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1137
+ add v24.2d,v24.2d,v18.2d
1138
+ ld1 {v25.2d},[x3],#16
1139
+ ext v24.16b,v24.16b,v24.16b,#8
1140
+ ext v5.16b,v1.16b,v4.16b,#8
1141
+ ext v6.16b,v3.16b,v1.16b,#8
1142
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1143
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1144
+ ext v7.16b,v22.16b,v23.16b,#8
1145
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1146
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1147
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1148
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1149
+ add v25.2d,v25.2d,v19.2d
1150
+ ld1 {v24.2d},[x3],#16
1151
+ ext v25.16b,v25.16b,v25.16b,#8
1152
+ ext v5.16b,v0.16b,v1.16b,#8
1153
+ ext v6.16b,v2.16b,v0.16b,#8
1154
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1155
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1156
+ ext v7.16b,v23.16b,v16.16b,#8
1157
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1158
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1159
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1160
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1161
+ add v24.2d,v24.2d,v20.2d
1162
+ ld1 {v25.2d},[x3],#16
1163
+ ext v24.16b,v24.16b,v24.16b,#8
1164
+ ext v5.16b,v3.16b,v0.16b,#8
1165
+ ext v6.16b,v4.16b,v3.16b,#8
1166
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1167
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1168
+ ext v7.16b,v16.16b,v17.16b,#8
1169
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1170
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1171
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1172
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1173
+ add v25.2d,v25.2d,v21.2d
1174
+ ld1 {v24.2d},[x3],#16
1175
+ ext v25.16b,v25.16b,v25.16b,#8
1176
+ ext v5.16b,v2.16b,v3.16b,#8
1177
+ ext v6.16b,v1.16b,v2.16b,#8
1178
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1179
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1180
+ ext v7.16b,v17.16b,v18.16b,#8
1181
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1182
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1183
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1184
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1185
+ add v24.2d,v24.2d,v22.2d
1186
+ ld1 {v25.2d},[x3],#16
1187
+ ext v24.16b,v24.16b,v24.16b,#8
1188
+ ext v5.16b,v4.16b,v2.16b,#8
1189
+ ext v6.16b,v0.16b,v4.16b,#8
1190
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1191
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1192
+ ext v7.16b,v18.16b,v19.16b,#8
1193
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1194
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1195
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1196
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1197
+ add v25.2d,v25.2d,v23.2d
1198
+ ld1 {v24.2d},[x3],#16
1199
+ ext v25.16b,v25.16b,v25.16b,#8
1200
+ ext v5.16b,v1.16b,v4.16b,#8
1201
+ ext v6.16b,v3.16b,v1.16b,#8
1202
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1203
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1204
+ ext v7.16b,v19.16b,v20.16b,#8
1205
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1206
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1207
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1208
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1209
+ add v24.2d,v24.2d,v16.2d
1210
+ ld1 {v25.2d},[x3],#16
1211
+ ext v24.16b,v24.16b,v24.16b,#8
1212
+ ext v5.16b,v0.16b,v1.16b,#8
1213
+ ext v6.16b,v2.16b,v0.16b,#8
1214
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1215
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1216
+ ext v7.16b,v20.16b,v21.16b,#8
1217
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1218
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1219
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1220
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1221
+ add v25.2d,v25.2d,v17.2d
1222
+ ld1 {v24.2d},[x3],#16
1223
+ ext v25.16b,v25.16b,v25.16b,#8
1224
+ ext v5.16b,v3.16b,v0.16b,#8
1225
+ ext v6.16b,v4.16b,v3.16b,#8
1226
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1227
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1228
+ ext v7.16b,v21.16b,v22.16b,#8
1229
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1230
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1231
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1232
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1233
+ add v24.2d,v24.2d,v18.2d
1234
+ ld1 {v25.2d},[x3],#16
1235
+ ext v24.16b,v24.16b,v24.16b,#8
1236
+ ext v5.16b,v2.16b,v3.16b,#8
1237
+ ext v6.16b,v1.16b,v2.16b,#8
1238
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1239
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1240
+ ext v7.16b,v22.16b,v23.16b,#8
1241
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1242
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1243
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1244
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1245
+ add v25.2d,v25.2d,v19.2d
1246
+ ld1 {v24.2d},[x3],#16
1247
+ ext v25.16b,v25.16b,v25.16b,#8
1248
+ ext v5.16b,v4.16b,v2.16b,#8
1249
+ ext v6.16b,v0.16b,v4.16b,#8
1250
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1251
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1252
+ ext v7.16b,v23.16b,v16.16b,#8
1253
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1254
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1255
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1256
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1257
+ add v24.2d,v24.2d,v20.2d
1258
+ ld1 {v25.2d},[x3],#16
1259
+ ext v24.16b,v24.16b,v24.16b,#8
1260
+ ext v5.16b,v1.16b,v4.16b,#8
1261
+ ext v6.16b,v3.16b,v1.16b,#8
1262
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1263
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1264
+ ext v7.16b,v16.16b,v17.16b,#8
1265
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1266
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1267
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1268
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1269
+ add v25.2d,v25.2d,v21.2d
1270
+ ld1 {v24.2d},[x3],#16
1271
+ ext v25.16b,v25.16b,v25.16b,#8
1272
+ ext v5.16b,v0.16b,v1.16b,#8
1273
+ ext v6.16b,v2.16b,v0.16b,#8
1274
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1275
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1276
+ ext v7.16b,v17.16b,v18.16b,#8
1277
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1278
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1279
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1280
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1281
+ add v24.2d,v24.2d,v22.2d
1282
+ ld1 {v25.2d},[x3],#16
1283
+ ext v24.16b,v24.16b,v24.16b,#8
1284
+ ext v5.16b,v3.16b,v0.16b,#8
1285
+ ext v6.16b,v4.16b,v3.16b,#8
1286
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1287
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1288
+ ext v7.16b,v18.16b,v19.16b,#8
1289
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1290
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1291
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1292
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1293
+ add v25.2d,v25.2d,v23.2d
1294
+ ld1 {v24.2d},[x3],#16
1295
+ ext v25.16b,v25.16b,v25.16b,#8
1296
+ ext v5.16b,v2.16b,v3.16b,#8
1297
+ ext v6.16b,v1.16b,v2.16b,#8
1298
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1299
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1300
+ ext v7.16b,v19.16b,v20.16b,#8
1301
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1302
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1303
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1304
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1305
+ add v24.2d,v24.2d,v16.2d
1306
+ ld1 {v25.2d},[x3],#16
1307
+ ext v24.16b,v24.16b,v24.16b,#8
1308
+ ext v5.16b,v4.16b,v2.16b,#8
1309
+ ext v6.16b,v0.16b,v4.16b,#8
1310
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1311
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1312
+ ext v7.16b,v20.16b,v21.16b,#8
1313
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1314
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1315
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1316
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1317
+ add v25.2d,v25.2d,v17.2d
1318
+ ld1 {v24.2d},[x3],#16
1319
+ ext v25.16b,v25.16b,v25.16b,#8
1320
+ ext v5.16b,v1.16b,v4.16b,#8
1321
+ ext v6.16b,v3.16b,v1.16b,#8
1322
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1323
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1324
+ ext v7.16b,v21.16b,v22.16b,#8
1325
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1326
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1327
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1328
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1329
+ add v24.2d,v24.2d,v18.2d
1330
+ ld1 {v25.2d},[x3],#16
1331
+ ext v24.16b,v24.16b,v24.16b,#8
1332
+ ext v5.16b,v0.16b,v1.16b,#8
1333
+ ext v6.16b,v2.16b,v0.16b,#8
1334
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1335
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1336
+ ext v7.16b,v22.16b,v23.16b,#8
1337
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1338
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1339
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1340
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1341
+ add v25.2d,v25.2d,v19.2d
1342
+ ld1 {v24.2d},[x3],#16
1343
+ ext v25.16b,v25.16b,v25.16b,#8
1344
+ ext v5.16b,v3.16b,v0.16b,#8
1345
+ ext v6.16b,v4.16b,v3.16b,#8
1346
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1347
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1348
+ ext v7.16b,v23.16b,v16.16b,#8
1349
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1350
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1351
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1352
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1353
+ add v24.2d,v24.2d,v20.2d
1354
+ ld1 {v25.2d},[x3],#16
1355
+ ext v24.16b,v24.16b,v24.16b,#8
1356
+ ext v5.16b,v2.16b,v3.16b,#8
1357
+ ext v6.16b,v1.16b,v2.16b,#8
1358
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1359
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1360
+ ext v7.16b,v16.16b,v17.16b,#8
1361
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1362
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1363
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1364
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1365
+ add v25.2d,v25.2d,v21.2d
1366
+ ld1 {v24.2d},[x3],#16
1367
+ ext v25.16b,v25.16b,v25.16b,#8
1368
+ ext v5.16b,v4.16b,v2.16b,#8
1369
+ ext v6.16b,v0.16b,v4.16b,#8
1370
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1371
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1372
+ ext v7.16b,v17.16b,v18.16b,#8
1373
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1374
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1375
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1376
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1377
+ add v24.2d,v24.2d,v22.2d
1378
+ ld1 {v25.2d},[x3],#16
1379
+ ext v24.16b,v24.16b,v24.16b,#8
1380
+ ext v5.16b,v1.16b,v4.16b,#8
1381
+ ext v6.16b,v3.16b,v1.16b,#8
1382
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1383
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1384
+ ext v7.16b,v18.16b,v19.16b,#8
1385
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1386
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1387
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1388
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1389
+ add v25.2d,v25.2d,v23.2d
1390
+ ld1 {v24.2d},[x3],#16
1391
+ ext v25.16b,v25.16b,v25.16b,#8
1392
+ ext v5.16b,v0.16b,v1.16b,#8
1393
+ ext v6.16b,v2.16b,v0.16b,#8
1394
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1395
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1396
+ ext v7.16b,v19.16b,v20.16b,#8
1397
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1398
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1399
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1400
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1401
+ add v24.2d,v24.2d,v16.2d
1402
+ ld1 {v25.2d},[x3],#16
1403
+ ext v24.16b,v24.16b,v24.16b,#8
1404
+ ext v5.16b,v3.16b,v0.16b,#8
1405
+ ext v6.16b,v4.16b,v3.16b,#8
1406
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1407
+ .long 0xcec08230 //sha512su0 v16.2d,v17.2d
1408
+ ext v7.16b,v20.16b,v21.16b,#8
1409
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1410
+ .long 0xce678af0 //sha512su1 v16.2d,v23.2d,v7.2d
1411
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1412
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1413
+ add v25.2d,v25.2d,v17.2d
1414
+ ld1 {v24.2d},[x3],#16
1415
+ ext v25.16b,v25.16b,v25.16b,#8
1416
+ ext v5.16b,v2.16b,v3.16b,#8
1417
+ ext v6.16b,v1.16b,v2.16b,#8
1418
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1419
+ .long 0xcec08251 //sha512su0 v17.2d,v18.2d
1420
+ ext v7.16b,v21.16b,v22.16b,#8
1421
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1422
+ .long 0xce678a11 //sha512su1 v17.2d,v16.2d,v7.2d
1423
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1424
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1425
+ add v24.2d,v24.2d,v18.2d
1426
+ ld1 {v25.2d},[x3],#16
1427
+ ext v24.16b,v24.16b,v24.16b,#8
1428
+ ext v5.16b,v4.16b,v2.16b,#8
1429
+ ext v6.16b,v0.16b,v4.16b,#8
1430
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1431
+ .long 0xcec08272 //sha512su0 v18.2d,v19.2d
1432
+ ext v7.16b,v22.16b,v23.16b,#8
1433
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1434
+ .long 0xce678a32 //sha512su1 v18.2d,v17.2d,v7.2d
1435
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1436
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1437
+ add v25.2d,v25.2d,v19.2d
1438
+ ld1 {v24.2d},[x3],#16
1439
+ ext v25.16b,v25.16b,v25.16b,#8
1440
+ ext v5.16b,v1.16b,v4.16b,#8
1441
+ ext v6.16b,v3.16b,v1.16b,#8
1442
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1443
+ .long 0xcec08293 //sha512su0 v19.2d,v20.2d
1444
+ ext v7.16b,v23.16b,v16.16b,#8
1445
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1446
+ .long 0xce678a53 //sha512su1 v19.2d,v18.2d,v7.2d
1447
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1448
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1449
+ add v24.2d,v24.2d,v20.2d
1450
+ ld1 {v25.2d},[x3],#16
1451
+ ext v24.16b,v24.16b,v24.16b,#8
1452
+ ext v5.16b,v0.16b,v1.16b,#8
1453
+ ext v6.16b,v2.16b,v0.16b,#8
1454
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1455
+ .long 0xcec082b4 //sha512su0 v20.2d,v21.2d
1456
+ ext v7.16b,v16.16b,v17.16b,#8
1457
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1458
+ .long 0xce678a74 //sha512su1 v20.2d,v19.2d,v7.2d
1459
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1460
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1461
+ add v25.2d,v25.2d,v21.2d
1462
+ ld1 {v24.2d},[x3],#16
1463
+ ext v25.16b,v25.16b,v25.16b,#8
1464
+ ext v5.16b,v3.16b,v0.16b,#8
1465
+ ext v6.16b,v4.16b,v3.16b,#8
1466
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1467
+ .long 0xcec082d5 //sha512su0 v21.2d,v22.2d
1468
+ ext v7.16b,v17.16b,v18.16b,#8
1469
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1470
+ .long 0xce678a95 //sha512su1 v21.2d,v20.2d,v7.2d
1471
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1472
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1473
+ add v24.2d,v24.2d,v22.2d
1474
+ ld1 {v25.2d},[x3],#16
1475
+ ext v24.16b,v24.16b,v24.16b,#8
1476
+ ext v5.16b,v2.16b,v3.16b,#8
1477
+ ext v6.16b,v1.16b,v2.16b,#8
1478
+ add v3.2d,v3.2d,v24.2d // "T1 + H + K512[i]"
1479
+ .long 0xcec082f6 //sha512su0 v22.2d,v23.2d
1480
+ ext v7.16b,v18.16b,v19.16b,#8
1481
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1482
+ .long 0xce678ab6 //sha512su1 v22.2d,v21.2d,v7.2d
1483
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1484
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1485
+ add v25.2d,v25.2d,v23.2d
1486
+ ld1 {v24.2d},[x3],#16
1487
+ ext v25.16b,v25.16b,v25.16b,#8
1488
+ ext v5.16b,v4.16b,v2.16b,#8
1489
+ ext v6.16b,v0.16b,v4.16b,#8
1490
+ add v2.2d,v2.2d,v25.2d // "T1 + H + K512[i]"
1491
+ .long 0xcec08217 //sha512su0 v23.2d,v16.2d
1492
+ ext v7.16b,v19.16b,v20.16b,#8
1493
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1494
+ .long 0xce678ad7 //sha512su1 v23.2d,v22.2d,v7.2d
1495
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1496
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1497
+ ld1 {v25.2d},[x3],#16
1498
+ add v24.2d,v24.2d,v16.2d
1499
+ ld1 {v16.16b},[x1],#16 // load next input
1500
+ ext v24.16b,v24.16b,v24.16b,#8
1501
+ ext v5.16b,v1.16b,v4.16b,#8
1502
+ ext v6.16b,v3.16b,v1.16b,#8
1503
+ add v4.2d,v4.2d,v24.2d // "T1 + H + K512[i]"
1504
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1505
+ rev64 v16.16b,v16.16b
1506
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1507
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1508
+ ld1 {v24.2d},[x3],#16
1509
+ add v25.2d,v25.2d,v17.2d
1510
+ ld1 {v17.16b},[x1],#16 // load next input
1511
+ ext v25.16b,v25.16b,v25.16b,#8
1512
+ ext v5.16b,v0.16b,v1.16b,#8
1513
+ ext v6.16b,v2.16b,v0.16b,#8
1514
+ add v1.2d,v1.2d,v25.2d // "T1 + H + K512[i]"
1515
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1516
+ rev64 v17.16b,v17.16b
1517
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1518
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1519
+ ld1 {v25.2d},[x3],#16
1520
+ add v24.2d,v24.2d,v18.2d
1521
+ ld1 {v18.16b},[x1],#16 // load next input
1522
+ ext v24.16b,v24.16b,v24.16b,#8
1523
+ ext v5.16b,v3.16b,v0.16b,#8
1524
+ ext v6.16b,v4.16b,v3.16b,#8
1525
+ add v0.2d,v0.2d,v24.2d // "T1 + H + K512[i]"
1526
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1527
+ rev64 v18.16b,v18.16b
1528
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1529
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1530
+ ld1 {v24.2d},[x3],#16
1531
+ add v25.2d,v25.2d,v19.2d
1532
+ ld1 {v19.16b},[x1],#16 // load next input
1533
+ ext v25.16b,v25.16b,v25.16b,#8
1534
+ ext v5.16b,v2.16b,v3.16b,#8
1535
+ ext v6.16b,v1.16b,v2.16b,#8
1536
+ add v3.2d,v3.2d,v25.2d // "T1 + H + K512[i]"
1537
+ .long 0xce6680a3 //sha512h q3,q5,v6.2d
1538
+ rev64 v19.16b,v19.16b
1539
+ add v4.2d,v1.2d,v3.2d // "D + T1"
1540
+ .long 0xce608423 //sha512h2 q3,q1,v0.2d
1541
+ ld1 {v25.2d},[x3],#16
1542
+ add v24.2d,v24.2d,v20.2d
1543
+ ld1 {v20.16b},[x1],#16 // load next input
1544
+ ext v24.16b,v24.16b,v24.16b,#8
1545
+ ext v5.16b,v4.16b,v2.16b,#8
1546
+ ext v6.16b,v0.16b,v4.16b,#8
1547
+ add v2.2d,v2.2d,v24.2d // "T1 + H + K512[i]"
1548
+ .long 0xce6680a2 //sha512h q2,q5,v6.2d
1549
+ rev64 v20.16b,v20.16b
1550
+ add v1.2d,v0.2d,v2.2d // "D + T1"
1551
+ .long 0xce638402 //sha512h2 q2,q0,v3.2d
1552
+ ld1 {v24.2d},[x3],#16
1553
+ add v25.2d,v25.2d,v21.2d
1554
+ ld1 {v21.16b},[x1],#16 // load next input
1555
+ ext v25.16b,v25.16b,v25.16b,#8
1556
+ ext v5.16b,v1.16b,v4.16b,#8
1557
+ ext v6.16b,v3.16b,v1.16b,#8
1558
+ add v4.2d,v4.2d,v25.2d // "T1 + H + K512[i]"
1559
+ .long 0xce6680a4 //sha512h q4,q5,v6.2d
1560
+ rev64 v21.16b,v21.16b
1561
+ add v0.2d,v3.2d,v4.2d // "D + T1"
1562
+ .long 0xce628464 //sha512h2 q4,q3,v2.2d
1563
+ ld1 {v25.2d},[x3],#16
1564
+ add v24.2d,v24.2d,v22.2d
1565
+ ld1 {v22.16b},[x1],#16 // load next input
1566
+ ext v24.16b,v24.16b,v24.16b,#8
1567
+ ext v5.16b,v0.16b,v1.16b,#8
1568
+ ext v6.16b,v2.16b,v0.16b,#8
1569
+ add v1.2d,v1.2d,v24.2d // "T1 + H + K512[i]"
1570
+ .long 0xce6680a1 //sha512h q1,q5,v6.2d
1571
+ rev64 v22.16b,v22.16b
1572
+ add v3.2d,v2.2d,v1.2d // "D + T1"
1573
+ .long 0xce648441 //sha512h2 q1,q2,v4.2d
1574
+ sub x3,x3,#80*8 // rewind
1575
+ add v25.2d,v25.2d,v23.2d
1576
+ ld1 {v23.16b},[x1],#16 // load next input
1577
+ ext v25.16b,v25.16b,v25.16b,#8
1578
+ ext v5.16b,v3.16b,v0.16b,#8
1579
+ ext v6.16b,v4.16b,v3.16b,#8
1580
+ add v0.2d,v0.2d,v25.2d // "T1 + H + K512[i]"
1581
+ .long 0xce6680a0 //sha512h q0,q5,v6.2d
1582
+ rev64 v23.16b,v23.16b
1583
+ add v2.2d,v4.2d,v0.2d // "D + T1"
1584
+ .long 0xce618480 //sha512h2 q0,q4,v1.2d
1585
+ add v0.2d,v0.2d,v26.2d // accumulate
1586
+ add v1.2d,v1.2d,v27.2d
1587
+ add v2.2d,v2.2d,v28.2d
1588
+ add v3.2d,v3.2d,v29.2d
1589
+
1590
+ cbnz x2,Loop_hw
1591
+
1592
+ st1 {v0.2d,v1.2d,v2.2d,v3.2d},[x0] // store context
1593
+
1594
+ ldr x29,[sp],#16
1595
+ ret
1596
+
1597
+ #endif
1598
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(__APPLE__)