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