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