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,1857 @@
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_ARM) && defined(__ELF__)
7
+ @ Copyright 2007-2016 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
+ @ ====================================================================
23
+ @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
24
+ @ project.
25
+ @ ====================================================================
26
+
27
+ @ SHA512 block procedure for ARMv4. September 2007.
28
+
29
+ @ This code is ~4.5 (four and a half) times faster than code generated
30
+ @ by gcc 3.4 and it spends ~72 clock cycles per byte [on single-issue
31
+ @ Xscale PXA250 core].
32
+ @
33
+ @ July 2010.
34
+ @
35
+ @ Rescheduling for dual-issue pipeline resulted in 6% improvement on
36
+ @ Cortex A8 core and ~40 cycles per processed byte.
37
+
38
+ @ February 2011.
39
+ @
40
+ @ Profiler-assisted and platform-specific optimization resulted in 7%
41
+ @ improvement on Coxtex A8 core and ~38 cycles per byte.
42
+
43
+ @ March 2011.
44
+ @
45
+ @ Add NEON implementation. On Cortex A8 it was measured to process
46
+ @ one byte in 23.3 cycles or ~60% faster than integer-only code.
47
+
48
+ @ August 2012.
49
+ @
50
+ @ Improve NEON performance by 12% on Snapdragon S4. In absolute
51
+ @ terms it's 22.6 cycles per byte, which is disappointing result.
52
+ @ Technical writers asserted that 3-way S4 pipeline can sustain
53
+ @ multiple NEON instructions per cycle, but dual NEON issue could
54
+ @ not be observed, see http://www.openssl.org/~appro/Snapdragon-S4.html
55
+ @ for further details. On side note Cortex-A15 processes one byte in
56
+ @ 16 cycles.
57
+
58
+ @ Byte order [in]dependence. =========================================
59
+ @
60
+ @ Originally caller was expected to maintain specific *dword* order in
61
+ @ h[0-7], namely with most significant dword at *lower* address, which
62
+ @ was reflected in below two parameters as 0 and 4. Now caller is
63
+ @ expected to maintain native byte order for whole 64-bit values.
64
+ #ifndef __KERNEL__
65
+ # define VFP_ABI_PUSH vstmdb sp!,{d8-d15}
66
+ # define VFP_ABI_POP vldmia sp!,{d8-d15}
67
+ #else
68
+ # define __ARM_MAX_ARCH__ 7
69
+ # define VFP_ABI_PUSH
70
+ # define VFP_ABI_POP
71
+ #endif
72
+
73
+ @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both
74
+ @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions.
75
+ .arch armv7-a
76
+
77
+ #ifdef __ARMEL__
78
+ # define LO 0
79
+ # define HI 4
80
+ # define WORD64(hi0,lo0,hi1,lo1) .word lo0,hi0, lo1,hi1
81
+ #else
82
+ # define HI 0
83
+ # define LO 4
84
+ # define WORD64(hi0,lo0,hi1,lo1) .word hi0,lo0, hi1,lo1
85
+ #endif
86
+
87
+ .text
88
+ #if defined(__thumb2__)
89
+ .syntax unified
90
+ .thumb
91
+ # define adrl adr
92
+ #else
93
+ .code 32
94
+ #endif
95
+
96
+ .type K512,%object
97
+ .align 5
98
+ K512:
99
+ WORD64(0x428a2f98,0xd728ae22, 0x71374491,0x23ef65cd)
100
+ WORD64(0xb5c0fbcf,0xec4d3b2f, 0xe9b5dba5,0x8189dbbc)
101
+ WORD64(0x3956c25b,0xf348b538, 0x59f111f1,0xb605d019)
102
+ WORD64(0x923f82a4,0xaf194f9b, 0xab1c5ed5,0xda6d8118)
103
+ WORD64(0xd807aa98,0xa3030242, 0x12835b01,0x45706fbe)
104
+ WORD64(0x243185be,0x4ee4b28c, 0x550c7dc3,0xd5ffb4e2)
105
+ WORD64(0x72be5d74,0xf27b896f, 0x80deb1fe,0x3b1696b1)
106
+ WORD64(0x9bdc06a7,0x25c71235, 0xc19bf174,0xcf692694)
107
+ WORD64(0xe49b69c1,0x9ef14ad2, 0xefbe4786,0x384f25e3)
108
+ WORD64(0x0fc19dc6,0x8b8cd5b5, 0x240ca1cc,0x77ac9c65)
109
+ WORD64(0x2de92c6f,0x592b0275, 0x4a7484aa,0x6ea6e483)
110
+ WORD64(0x5cb0a9dc,0xbd41fbd4, 0x76f988da,0x831153b5)
111
+ WORD64(0x983e5152,0xee66dfab, 0xa831c66d,0x2db43210)
112
+ WORD64(0xb00327c8,0x98fb213f, 0xbf597fc7,0xbeef0ee4)
113
+ WORD64(0xc6e00bf3,0x3da88fc2, 0xd5a79147,0x930aa725)
114
+ WORD64(0x06ca6351,0xe003826f, 0x14292967,0x0a0e6e70)
115
+ WORD64(0x27b70a85,0x46d22ffc, 0x2e1b2138,0x5c26c926)
116
+ WORD64(0x4d2c6dfc,0x5ac42aed, 0x53380d13,0x9d95b3df)
117
+ WORD64(0x650a7354,0x8baf63de, 0x766a0abb,0x3c77b2a8)
118
+ WORD64(0x81c2c92e,0x47edaee6, 0x92722c85,0x1482353b)
119
+ WORD64(0xa2bfe8a1,0x4cf10364, 0xa81a664b,0xbc423001)
120
+ WORD64(0xc24b8b70,0xd0f89791, 0xc76c51a3,0x0654be30)
121
+ WORD64(0xd192e819,0xd6ef5218, 0xd6990624,0x5565a910)
122
+ WORD64(0xf40e3585,0x5771202a, 0x106aa070,0x32bbd1b8)
123
+ WORD64(0x19a4c116,0xb8d2d0c8, 0x1e376c08,0x5141ab53)
124
+ WORD64(0x2748774c,0xdf8eeb99, 0x34b0bcb5,0xe19b48a8)
125
+ WORD64(0x391c0cb3,0xc5c95a63, 0x4ed8aa4a,0xe3418acb)
126
+ WORD64(0x5b9cca4f,0x7763e373, 0x682e6ff3,0xd6b2b8a3)
127
+ WORD64(0x748f82ee,0x5defb2fc, 0x78a5636f,0x43172f60)
128
+ WORD64(0x84c87814,0xa1f0ab72, 0x8cc70208,0x1a6439ec)
129
+ WORD64(0x90befffa,0x23631e28, 0xa4506ceb,0xde82bde9)
130
+ WORD64(0xbef9a3f7,0xb2c67915, 0xc67178f2,0xe372532b)
131
+ WORD64(0xca273ece,0xea26619c, 0xd186b8c7,0x21c0c207)
132
+ WORD64(0xeada7dd6,0xcde0eb1e, 0xf57d4f7f,0xee6ed178)
133
+ WORD64(0x06f067aa,0x72176fba, 0x0a637dc5,0xa2c898a6)
134
+ WORD64(0x113f9804,0xbef90dae, 0x1b710b35,0x131c471b)
135
+ WORD64(0x28db77f5,0x23047d84, 0x32caab7b,0x40c72493)
136
+ WORD64(0x3c9ebe0a,0x15c9bebc, 0x431d67c4,0x9c100d4c)
137
+ WORD64(0x4cc5d4be,0xcb3e42b6, 0x597f299c,0xfc657e2a)
138
+ WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817)
139
+ .size K512,.-K512
140
+
141
+ .globl sha512_block_data_order_nohw
142
+ .hidden sha512_block_data_order_nohw
143
+ .type sha512_block_data_order_nohw,%function
144
+ sha512_block_data_order_nohw:
145
+ add r2,r1,r2,lsl#7 @ len to point at the end of inp
146
+ stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
147
+ adr r14,K512
148
+ sub sp,sp,#9*8
149
+
150
+ ldr r7,[r0,#32+LO]
151
+ ldr r8,[r0,#32+HI]
152
+ ldr r9, [r0,#48+LO]
153
+ ldr r10, [r0,#48+HI]
154
+ ldr r11, [r0,#56+LO]
155
+ ldr r12, [r0,#56+HI]
156
+ .Loop:
157
+ str r9, [sp,#48+0]
158
+ str r10, [sp,#48+4]
159
+ str r11, [sp,#56+0]
160
+ str r12, [sp,#56+4]
161
+ ldr r5,[r0,#0+LO]
162
+ ldr r6,[r0,#0+HI]
163
+ ldr r3,[r0,#8+LO]
164
+ ldr r4,[r0,#8+HI]
165
+ ldr r9, [r0,#16+LO]
166
+ ldr r10, [r0,#16+HI]
167
+ ldr r11, [r0,#24+LO]
168
+ ldr r12, [r0,#24+HI]
169
+ str r3,[sp,#8+0]
170
+ str r4,[sp,#8+4]
171
+ str r9, [sp,#16+0]
172
+ str r10, [sp,#16+4]
173
+ str r11, [sp,#24+0]
174
+ str r12, [sp,#24+4]
175
+ ldr r3,[r0,#40+LO]
176
+ ldr r4,[r0,#40+HI]
177
+ str r3,[sp,#40+0]
178
+ str r4,[sp,#40+4]
179
+
180
+ .L00_15:
181
+ #if __ARM_ARCH<7
182
+ ldrb r3,[r1,#7]
183
+ ldrb r9, [r1,#6]
184
+ ldrb r10, [r1,#5]
185
+ ldrb r11, [r1,#4]
186
+ ldrb r4,[r1,#3]
187
+ ldrb r12, [r1,#2]
188
+ orr r3,r3,r9,lsl#8
189
+ ldrb r9, [r1,#1]
190
+ orr r3,r3,r10,lsl#16
191
+ ldrb r10, [r1],#8
192
+ orr r3,r3,r11,lsl#24
193
+ orr r4,r4,r12,lsl#8
194
+ orr r4,r4,r9,lsl#16
195
+ orr r4,r4,r10,lsl#24
196
+ #else
197
+ ldr r3,[r1,#4]
198
+ ldr r4,[r1],#8
199
+ #ifdef __ARMEL__
200
+ rev r3,r3
201
+ rev r4,r4
202
+ #endif
203
+ #endif
204
+ @ Sigma1(x) (ROTR((x),14) ^ ROTR((x),18) ^ ROTR((x),41))
205
+ @ LO lo>>14^hi<<18 ^ lo>>18^hi<<14 ^ hi>>9^lo<<23
206
+ @ HI hi>>14^lo<<18 ^ hi>>18^lo<<14 ^ lo>>9^hi<<23
207
+ mov r9,r7,lsr#14
208
+ str r3,[sp,#64+0]
209
+ mov r10,r8,lsr#14
210
+ str r4,[sp,#64+4]
211
+ eor r9,r9,r8,lsl#18
212
+ ldr r11,[sp,#56+0] @ h.lo
213
+ eor r10,r10,r7,lsl#18
214
+ ldr r12,[sp,#56+4] @ h.hi
215
+ eor r9,r9,r7,lsr#18
216
+ eor r10,r10,r8,lsr#18
217
+ eor r9,r9,r8,lsl#14
218
+ eor r10,r10,r7,lsl#14
219
+ eor r9,r9,r8,lsr#9
220
+ eor r10,r10,r7,lsr#9
221
+ eor r9,r9,r7,lsl#23
222
+ eor r10,r10,r8,lsl#23 @ Sigma1(e)
223
+ adds r3,r3,r9
224
+ ldr r9,[sp,#40+0] @ f.lo
225
+ adc r4,r4,r10 @ T += Sigma1(e)
226
+ ldr r10,[sp,#40+4] @ f.hi
227
+ adds r3,r3,r11
228
+ ldr r11,[sp,#48+0] @ g.lo
229
+ adc r4,r4,r12 @ T += h
230
+ ldr r12,[sp,#48+4] @ g.hi
231
+
232
+ eor r9,r9,r11
233
+ str r7,[sp,#32+0]
234
+ eor r10,r10,r12
235
+ str r8,[sp,#32+4]
236
+ and r9,r9,r7
237
+ str r5,[sp,#0+0]
238
+ and r10,r10,r8
239
+ str r6,[sp,#0+4]
240
+ eor r9,r9,r11
241
+ ldr r11,[r14,#LO] @ K[i].lo
242
+ eor r10,r10,r12 @ Ch(e,f,g)
243
+ ldr r12,[r14,#HI] @ K[i].hi
244
+
245
+ adds r3,r3,r9
246
+ ldr r7,[sp,#24+0] @ d.lo
247
+ adc r4,r4,r10 @ T += Ch(e,f,g)
248
+ ldr r8,[sp,#24+4] @ d.hi
249
+ adds r3,r3,r11
250
+ and r9,r11,#0xff
251
+ adc r4,r4,r12 @ T += K[i]
252
+ adds r7,r7,r3
253
+ ldr r11,[sp,#8+0] @ b.lo
254
+ adc r8,r8,r4 @ d += T
255
+ teq r9,#148
256
+
257
+ ldr r12,[sp,#16+0] @ c.lo
258
+ #if __ARM_ARCH>=7
259
+ it eq @ Thumb2 thing, sanity check in ARM
260
+ #endif
261
+ orreq r14,r14,#1
262
+ @ Sigma0(x) (ROTR((x),28) ^ ROTR((x),34) ^ ROTR((x),39))
263
+ @ LO lo>>28^hi<<4 ^ hi>>2^lo<<30 ^ hi>>7^lo<<25
264
+ @ HI hi>>28^lo<<4 ^ lo>>2^hi<<30 ^ lo>>7^hi<<25
265
+ mov r9,r5,lsr#28
266
+ mov r10,r6,lsr#28
267
+ eor r9,r9,r6,lsl#4
268
+ eor r10,r10,r5,lsl#4
269
+ eor r9,r9,r6,lsr#2
270
+ eor r10,r10,r5,lsr#2
271
+ eor r9,r9,r5,lsl#30
272
+ eor r10,r10,r6,lsl#30
273
+ eor r9,r9,r6,lsr#7
274
+ eor r10,r10,r5,lsr#7
275
+ eor r9,r9,r5,lsl#25
276
+ eor r10,r10,r6,lsl#25 @ Sigma0(a)
277
+ adds r3,r3,r9
278
+ and r9,r5,r11
279
+ adc r4,r4,r10 @ T += Sigma0(a)
280
+
281
+ ldr r10,[sp,#8+4] @ b.hi
282
+ orr r5,r5,r11
283
+ ldr r11,[sp,#16+4] @ c.hi
284
+ and r5,r5,r12
285
+ and r12,r6,r10
286
+ orr r6,r6,r10
287
+ orr r5,r5,r9 @ Maj(a,b,c).lo
288
+ and r6,r6,r11
289
+ adds r5,r5,r3
290
+ orr r6,r6,r12 @ Maj(a,b,c).hi
291
+ sub sp,sp,#8
292
+ adc r6,r6,r4 @ h += T
293
+ tst r14,#1
294
+ add r14,r14,#8
295
+ tst r14,#1
296
+ beq .L00_15
297
+ ldr r9,[sp,#184+0]
298
+ ldr r10,[sp,#184+4]
299
+ bic r14,r14,#1
300
+ .L16_79:
301
+ @ sigma0(x) (ROTR((x),1) ^ ROTR((x),8) ^ ((x)>>7))
302
+ @ LO lo>>1^hi<<31 ^ lo>>8^hi<<24 ^ lo>>7^hi<<25
303
+ @ HI hi>>1^lo<<31 ^ hi>>8^lo<<24 ^ hi>>7
304
+ mov r3,r9,lsr#1
305
+ ldr r11,[sp,#80+0]
306
+ mov r4,r10,lsr#1
307
+ ldr r12,[sp,#80+4]
308
+ eor r3,r3,r10,lsl#31
309
+ eor r4,r4,r9,lsl#31
310
+ eor r3,r3,r9,lsr#8
311
+ eor r4,r4,r10,lsr#8
312
+ eor r3,r3,r10,lsl#24
313
+ eor r4,r4,r9,lsl#24
314
+ eor r3,r3,r9,lsr#7
315
+ eor r4,r4,r10,lsr#7
316
+ eor r3,r3,r10,lsl#25
317
+
318
+ @ sigma1(x) (ROTR((x),19) ^ ROTR((x),61) ^ ((x)>>6))
319
+ @ LO lo>>19^hi<<13 ^ hi>>29^lo<<3 ^ lo>>6^hi<<26
320
+ @ HI hi>>19^lo<<13 ^ lo>>29^hi<<3 ^ hi>>6
321
+ mov r9,r11,lsr#19
322
+ mov r10,r12,lsr#19
323
+ eor r9,r9,r12,lsl#13
324
+ eor r10,r10,r11,lsl#13
325
+ eor r9,r9,r12,lsr#29
326
+ eor r10,r10,r11,lsr#29
327
+ eor r9,r9,r11,lsl#3
328
+ eor r10,r10,r12,lsl#3
329
+ eor r9,r9,r11,lsr#6
330
+ eor r10,r10,r12,lsr#6
331
+ ldr r11,[sp,#120+0]
332
+ eor r9,r9,r12,lsl#26
333
+
334
+ ldr r12,[sp,#120+4]
335
+ adds r3,r3,r9
336
+ ldr r9,[sp,#192+0]
337
+ adc r4,r4,r10
338
+
339
+ ldr r10,[sp,#192+4]
340
+ adds r3,r3,r11
341
+ adc r4,r4,r12
342
+ adds r3,r3,r9
343
+ adc r4,r4,r10
344
+ @ Sigma1(x) (ROTR((x),14) ^ ROTR((x),18) ^ ROTR((x),41))
345
+ @ LO lo>>14^hi<<18 ^ lo>>18^hi<<14 ^ hi>>9^lo<<23
346
+ @ HI hi>>14^lo<<18 ^ hi>>18^lo<<14 ^ lo>>9^hi<<23
347
+ mov r9,r7,lsr#14
348
+ str r3,[sp,#64+0]
349
+ mov r10,r8,lsr#14
350
+ str r4,[sp,#64+4]
351
+ eor r9,r9,r8,lsl#18
352
+ ldr r11,[sp,#56+0] @ h.lo
353
+ eor r10,r10,r7,lsl#18
354
+ ldr r12,[sp,#56+4] @ h.hi
355
+ eor r9,r9,r7,lsr#18
356
+ eor r10,r10,r8,lsr#18
357
+ eor r9,r9,r8,lsl#14
358
+ eor r10,r10,r7,lsl#14
359
+ eor r9,r9,r8,lsr#9
360
+ eor r10,r10,r7,lsr#9
361
+ eor r9,r9,r7,lsl#23
362
+ eor r10,r10,r8,lsl#23 @ Sigma1(e)
363
+ adds r3,r3,r9
364
+ ldr r9,[sp,#40+0] @ f.lo
365
+ adc r4,r4,r10 @ T += Sigma1(e)
366
+ ldr r10,[sp,#40+4] @ f.hi
367
+ adds r3,r3,r11
368
+ ldr r11,[sp,#48+0] @ g.lo
369
+ adc r4,r4,r12 @ T += h
370
+ ldr r12,[sp,#48+4] @ g.hi
371
+
372
+ eor r9,r9,r11
373
+ str r7,[sp,#32+0]
374
+ eor r10,r10,r12
375
+ str r8,[sp,#32+4]
376
+ and r9,r9,r7
377
+ str r5,[sp,#0+0]
378
+ and r10,r10,r8
379
+ str r6,[sp,#0+4]
380
+ eor r9,r9,r11
381
+ ldr r11,[r14,#LO] @ K[i].lo
382
+ eor r10,r10,r12 @ Ch(e,f,g)
383
+ ldr r12,[r14,#HI] @ K[i].hi
384
+
385
+ adds r3,r3,r9
386
+ ldr r7,[sp,#24+0] @ d.lo
387
+ adc r4,r4,r10 @ T += Ch(e,f,g)
388
+ ldr r8,[sp,#24+4] @ d.hi
389
+ adds r3,r3,r11
390
+ and r9,r11,#0xff
391
+ adc r4,r4,r12 @ T += K[i]
392
+ adds r7,r7,r3
393
+ ldr r11,[sp,#8+0] @ b.lo
394
+ adc r8,r8,r4 @ d += T
395
+ teq r9,#23
396
+
397
+ ldr r12,[sp,#16+0] @ c.lo
398
+ #if __ARM_ARCH>=7
399
+ it eq @ Thumb2 thing, sanity check in ARM
400
+ #endif
401
+ orreq r14,r14,#1
402
+ @ Sigma0(x) (ROTR((x),28) ^ ROTR((x),34) ^ ROTR((x),39))
403
+ @ LO lo>>28^hi<<4 ^ hi>>2^lo<<30 ^ hi>>7^lo<<25
404
+ @ HI hi>>28^lo<<4 ^ lo>>2^hi<<30 ^ lo>>7^hi<<25
405
+ mov r9,r5,lsr#28
406
+ mov r10,r6,lsr#28
407
+ eor r9,r9,r6,lsl#4
408
+ eor r10,r10,r5,lsl#4
409
+ eor r9,r9,r6,lsr#2
410
+ eor r10,r10,r5,lsr#2
411
+ eor r9,r9,r5,lsl#30
412
+ eor r10,r10,r6,lsl#30
413
+ eor r9,r9,r6,lsr#7
414
+ eor r10,r10,r5,lsr#7
415
+ eor r9,r9,r5,lsl#25
416
+ eor r10,r10,r6,lsl#25 @ Sigma0(a)
417
+ adds r3,r3,r9
418
+ and r9,r5,r11
419
+ adc r4,r4,r10 @ T += Sigma0(a)
420
+
421
+ ldr r10,[sp,#8+4] @ b.hi
422
+ orr r5,r5,r11
423
+ ldr r11,[sp,#16+4] @ c.hi
424
+ and r5,r5,r12
425
+ and r12,r6,r10
426
+ orr r6,r6,r10
427
+ orr r5,r5,r9 @ Maj(a,b,c).lo
428
+ and r6,r6,r11
429
+ adds r5,r5,r3
430
+ orr r6,r6,r12 @ Maj(a,b,c).hi
431
+ sub sp,sp,#8
432
+ adc r6,r6,r4 @ h += T
433
+ tst r14,#1
434
+ add r14,r14,#8
435
+ #if __ARM_ARCH>=7
436
+ ittt eq @ Thumb2 thing, sanity check in ARM
437
+ #endif
438
+ ldreq r9,[sp,#184+0]
439
+ ldreq r10,[sp,#184+4]
440
+ beq .L16_79
441
+ bic r14,r14,#1
442
+
443
+ ldr r3,[sp,#8+0]
444
+ ldr r4,[sp,#8+4]
445
+ ldr r9, [r0,#0+LO]
446
+ ldr r10, [r0,#0+HI]
447
+ ldr r11, [r0,#8+LO]
448
+ ldr r12, [r0,#8+HI]
449
+ adds r9,r5,r9
450
+ str r9, [r0,#0+LO]
451
+ adc r10,r6,r10
452
+ str r10, [r0,#0+HI]
453
+ adds r11,r3,r11
454
+ str r11, [r0,#8+LO]
455
+ adc r12,r4,r12
456
+ str r12, [r0,#8+HI]
457
+
458
+ ldr r5,[sp,#16+0]
459
+ ldr r6,[sp,#16+4]
460
+ ldr r3,[sp,#24+0]
461
+ ldr r4,[sp,#24+4]
462
+ ldr r9, [r0,#16+LO]
463
+ ldr r10, [r0,#16+HI]
464
+ ldr r11, [r0,#24+LO]
465
+ ldr r12, [r0,#24+HI]
466
+ adds r9,r5,r9
467
+ str r9, [r0,#16+LO]
468
+ adc r10,r6,r10
469
+ str r10, [r0,#16+HI]
470
+ adds r11,r3,r11
471
+ str r11, [r0,#24+LO]
472
+ adc r12,r4,r12
473
+ str r12, [r0,#24+HI]
474
+
475
+ ldr r3,[sp,#40+0]
476
+ ldr r4,[sp,#40+4]
477
+ ldr r9, [r0,#32+LO]
478
+ ldr r10, [r0,#32+HI]
479
+ ldr r11, [r0,#40+LO]
480
+ ldr r12, [r0,#40+HI]
481
+ adds r7,r7,r9
482
+ str r7,[r0,#32+LO]
483
+ adc r8,r8,r10
484
+ str r8,[r0,#32+HI]
485
+ adds r11,r3,r11
486
+ str r11, [r0,#40+LO]
487
+ adc r12,r4,r12
488
+ str r12, [r0,#40+HI]
489
+
490
+ ldr r5,[sp,#48+0]
491
+ ldr r6,[sp,#48+4]
492
+ ldr r3,[sp,#56+0]
493
+ ldr r4,[sp,#56+4]
494
+ ldr r9, [r0,#48+LO]
495
+ ldr r10, [r0,#48+HI]
496
+ ldr r11, [r0,#56+LO]
497
+ ldr r12, [r0,#56+HI]
498
+ adds r9,r5,r9
499
+ str r9, [r0,#48+LO]
500
+ adc r10,r6,r10
501
+ str r10, [r0,#48+HI]
502
+ adds r11,r3,r11
503
+ str r11, [r0,#56+LO]
504
+ adc r12,r4,r12
505
+ str r12, [r0,#56+HI]
506
+
507
+ add sp,sp,#640
508
+ sub r14,r14,#640
509
+
510
+ teq r1,r2
511
+ bne .Loop
512
+
513
+ add sp,sp,#8*9 @ destroy frame
514
+ #if __ARM_ARCH>=5
515
+ ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
516
+ #else
517
+ ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
518
+ tst lr,#1
519
+ moveq pc,lr @ be binary compatible with V4, yet
520
+ .word 0xe12fff1e @ interoperable with Thumb ISA:-)
521
+ #endif
522
+ .size sha512_block_data_order_nohw,.-sha512_block_data_order_nohw
523
+ #if __ARM_MAX_ARCH__>=7
524
+ .arch armv7-a
525
+ .fpu neon
526
+
527
+ .globl sha512_block_data_order_neon
528
+ .hidden sha512_block_data_order_neon
529
+ .type sha512_block_data_order_neon,%function
530
+ .align 4
531
+ sha512_block_data_order_neon:
532
+ dmb @ errata #451034 on early Cortex A8
533
+ add r2,r1,r2,lsl#7 @ len to point at the end of inp
534
+ adr r3,K512
535
+ VFP_ABI_PUSH
536
+ vldmia r0,{d16,d17,d18,d19,d20,d21,d22,d23} @ load context
537
+ .Loop_neon:
538
+ vshr.u64 d24,d20,#14 @ 0
539
+ #if 0<16
540
+ vld1.64 {d0},[r1]! @ handles unaligned
541
+ #endif
542
+ vshr.u64 d25,d20,#18
543
+ #if 0>0
544
+ vadd.i64 d16,d30 @ h+=Maj from the past
545
+ #endif
546
+ vshr.u64 d26,d20,#41
547
+ vld1.64 {d28},[r3,:64]! @ K[i++]
548
+ vsli.64 d24,d20,#50
549
+ vsli.64 d25,d20,#46
550
+ vmov d29,d20
551
+ vsli.64 d26,d20,#23
552
+ #if 0<16 && defined(__ARMEL__)
553
+ vrev64.8 d0,d0
554
+ #endif
555
+ veor d25,d24
556
+ vbsl d29,d21,d22 @ Ch(e,f,g)
557
+ vshr.u64 d24,d16,#28
558
+ veor d26,d25 @ Sigma1(e)
559
+ vadd.i64 d27,d29,d23
560
+ vshr.u64 d25,d16,#34
561
+ vsli.64 d24,d16,#36
562
+ vadd.i64 d27,d26
563
+ vshr.u64 d26,d16,#39
564
+ vadd.i64 d28,d0
565
+ vsli.64 d25,d16,#30
566
+ veor d30,d16,d17
567
+ vsli.64 d26,d16,#25
568
+ veor d23,d24,d25
569
+ vadd.i64 d27,d28
570
+ vbsl d30,d18,d17 @ Maj(a,b,c)
571
+ veor d23,d26 @ Sigma0(a)
572
+ vadd.i64 d19,d27
573
+ vadd.i64 d30,d27
574
+ @ vadd.i64 d23,d30
575
+ vshr.u64 d24,d19,#14 @ 1
576
+ #if 1<16
577
+ vld1.64 {d1},[r1]! @ handles unaligned
578
+ #endif
579
+ vshr.u64 d25,d19,#18
580
+ #if 1>0
581
+ vadd.i64 d23,d30 @ h+=Maj from the past
582
+ #endif
583
+ vshr.u64 d26,d19,#41
584
+ vld1.64 {d28},[r3,:64]! @ K[i++]
585
+ vsli.64 d24,d19,#50
586
+ vsli.64 d25,d19,#46
587
+ vmov d29,d19
588
+ vsli.64 d26,d19,#23
589
+ #if 1<16 && defined(__ARMEL__)
590
+ vrev64.8 d1,d1
591
+ #endif
592
+ veor d25,d24
593
+ vbsl d29,d20,d21 @ Ch(e,f,g)
594
+ vshr.u64 d24,d23,#28
595
+ veor d26,d25 @ Sigma1(e)
596
+ vadd.i64 d27,d29,d22
597
+ vshr.u64 d25,d23,#34
598
+ vsli.64 d24,d23,#36
599
+ vadd.i64 d27,d26
600
+ vshr.u64 d26,d23,#39
601
+ vadd.i64 d28,d1
602
+ vsli.64 d25,d23,#30
603
+ veor d30,d23,d16
604
+ vsli.64 d26,d23,#25
605
+ veor d22,d24,d25
606
+ vadd.i64 d27,d28
607
+ vbsl d30,d17,d16 @ Maj(a,b,c)
608
+ veor d22,d26 @ Sigma0(a)
609
+ vadd.i64 d18,d27
610
+ vadd.i64 d30,d27
611
+ @ vadd.i64 d22,d30
612
+ vshr.u64 d24,d18,#14 @ 2
613
+ #if 2<16
614
+ vld1.64 {d2},[r1]! @ handles unaligned
615
+ #endif
616
+ vshr.u64 d25,d18,#18
617
+ #if 2>0
618
+ vadd.i64 d22,d30 @ h+=Maj from the past
619
+ #endif
620
+ vshr.u64 d26,d18,#41
621
+ vld1.64 {d28},[r3,:64]! @ K[i++]
622
+ vsli.64 d24,d18,#50
623
+ vsli.64 d25,d18,#46
624
+ vmov d29,d18
625
+ vsli.64 d26,d18,#23
626
+ #if 2<16 && defined(__ARMEL__)
627
+ vrev64.8 d2,d2
628
+ #endif
629
+ veor d25,d24
630
+ vbsl d29,d19,d20 @ Ch(e,f,g)
631
+ vshr.u64 d24,d22,#28
632
+ veor d26,d25 @ Sigma1(e)
633
+ vadd.i64 d27,d29,d21
634
+ vshr.u64 d25,d22,#34
635
+ vsli.64 d24,d22,#36
636
+ vadd.i64 d27,d26
637
+ vshr.u64 d26,d22,#39
638
+ vadd.i64 d28,d2
639
+ vsli.64 d25,d22,#30
640
+ veor d30,d22,d23
641
+ vsli.64 d26,d22,#25
642
+ veor d21,d24,d25
643
+ vadd.i64 d27,d28
644
+ vbsl d30,d16,d23 @ Maj(a,b,c)
645
+ veor d21,d26 @ Sigma0(a)
646
+ vadd.i64 d17,d27
647
+ vadd.i64 d30,d27
648
+ @ vadd.i64 d21,d30
649
+ vshr.u64 d24,d17,#14 @ 3
650
+ #if 3<16
651
+ vld1.64 {d3},[r1]! @ handles unaligned
652
+ #endif
653
+ vshr.u64 d25,d17,#18
654
+ #if 3>0
655
+ vadd.i64 d21,d30 @ h+=Maj from the past
656
+ #endif
657
+ vshr.u64 d26,d17,#41
658
+ vld1.64 {d28},[r3,:64]! @ K[i++]
659
+ vsli.64 d24,d17,#50
660
+ vsli.64 d25,d17,#46
661
+ vmov d29,d17
662
+ vsli.64 d26,d17,#23
663
+ #if 3<16 && defined(__ARMEL__)
664
+ vrev64.8 d3,d3
665
+ #endif
666
+ veor d25,d24
667
+ vbsl d29,d18,d19 @ Ch(e,f,g)
668
+ vshr.u64 d24,d21,#28
669
+ veor d26,d25 @ Sigma1(e)
670
+ vadd.i64 d27,d29,d20
671
+ vshr.u64 d25,d21,#34
672
+ vsli.64 d24,d21,#36
673
+ vadd.i64 d27,d26
674
+ vshr.u64 d26,d21,#39
675
+ vadd.i64 d28,d3
676
+ vsli.64 d25,d21,#30
677
+ veor d30,d21,d22
678
+ vsli.64 d26,d21,#25
679
+ veor d20,d24,d25
680
+ vadd.i64 d27,d28
681
+ vbsl d30,d23,d22 @ Maj(a,b,c)
682
+ veor d20,d26 @ Sigma0(a)
683
+ vadd.i64 d16,d27
684
+ vadd.i64 d30,d27
685
+ @ vadd.i64 d20,d30
686
+ vshr.u64 d24,d16,#14 @ 4
687
+ #if 4<16
688
+ vld1.64 {d4},[r1]! @ handles unaligned
689
+ #endif
690
+ vshr.u64 d25,d16,#18
691
+ #if 4>0
692
+ vadd.i64 d20,d30 @ h+=Maj from the past
693
+ #endif
694
+ vshr.u64 d26,d16,#41
695
+ vld1.64 {d28},[r3,:64]! @ K[i++]
696
+ vsli.64 d24,d16,#50
697
+ vsli.64 d25,d16,#46
698
+ vmov d29,d16
699
+ vsli.64 d26,d16,#23
700
+ #if 4<16 && defined(__ARMEL__)
701
+ vrev64.8 d4,d4
702
+ #endif
703
+ veor d25,d24
704
+ vbsl d29,d17,d18 @ Ch(e,f,g)
705
+ vshr.u64 d24,d20,#28
706
+ veor d26,d25 @ Sigma1(e)
707
+ vadd.i64 d27,d29,d19
708
+ vshr.u64 d25,d20,#34
709
+ vsli.64 d24,d20,#36
710
+ vadd.i64 d27,d26
711
+ vshr.u64 d26,d20,#39
712
+ vadd.i64 d28,d4
713
+ vsli.64 d25,d20,#30
714
+ veor d30,d20,d21
715
+ vsli.64 d26,d20,#25
716
+ veor d19,d24,d25
717
+ vadd.i64 d27,d28
718
+ vbsl d30,d22,d21 @ Maj(a,b,c)
719
+ veor d19,d26 @ Sigma0(a)
720
+ vadd.i64 d23,d27
721
+ vadd.i64 d30,d27
722
+ @ vadd.i64 d19,d30
723
+ vshr.u64 d24,d23,#14 @ 5
724
+ #if 5<16
725
+ vld1.64 {d5},[r1]! @ handles unaligned
726
+ #endif
727
+ vshr.u64 d25,d23,#18
728
+ #if 5>0
729
+ vadd.i64 d19,d30 @ h+=Maj from the past
730
+ #endif
731
+ vshr.u64 d26,d23,#41
732
+ vld1.64 {d28},[r3,:64]! @ K[i++]
733
+ vsli.64 d24,d23,#50
734
+ vsli.64 d25,d23,#46
735
+ vmov d29,d23
736
+ vsli.64 d26,d23,#23
737
+ #if 5<16 && defined(__ARMEL__)
738
+ vrev64.8 d5,d5
739
+ #endif
740
+ veor d25,d24
741
+ vbsl d29,d16,d17 @ Ch(e,f,g)
742
+ vshr.u64 d24,d19,#28
743
+ veor d26,d25 @ Sigma1(e)
744
+ vadd.i64 d27,d29,d18
745
+ vshr.u64 d25,d19,#34
746
+ vsli.64 d24,d19,#36
747
+ vadd.i64 d27,d26
748
+ vshr.u64 d26,d19,#39
749
+ vadd.i64 d28,d5
750
+ vsli.64 d25,d19,#30
751
+ veor d30,d19,d20
752
+ vsli.64 d26,d19,#25
753
+ veor d18,d24,d25
754
+ vadd.i64 d27,d28
755
+ vbsl d30,d21,d20 @ Maj(a,b,c)
756
+ veor d18,d26 @ Sigma0(a)
757
+ vadd.i64 d22,d27
758
+ vadd.i64 d30,d27
759
+ @ vadd.i64 d18,d30
760
+ vshr.u64 d24,d22,#14 @ 6
761
+ #if 6<16
762
+ vld1.64 {d6},[r1]! @ handles unaligned
763
+ #endif
764
+ vshr.u64 d25,d22,#18
765
+ #if 6>0
766
+ vadd.i64 d18,d30 @ h+=Maj from the past
767
+ #endif
768
+ vshr.u64 d26,d22,#41
769
+ vld1.64 {d28},[r3,:64]! @ K[i++]
770
+ vsli.64 d24,d22,#50
771
+ vsli.64 d25,d22,#46
772
+ vmov d29,d22
773
+ vsli.64 d26,d22,#23
774
+ #if 6<16 && defined(__ARMEL__)
775
+ vrev64.8 d6,d6
776
+ #endif
777
+ veor d25,d24
778
+ vbsl d29,d23,d16 @ Ch(e,f,g)
779
+ vshr.u64 d24,d18,#28
780
+ veor d26,d25 @ Sigma1(e)
781
+ vadd.i64 d27,d29,d17
782
+ vshr.u64 d25,d18,#34
783
+ vsli.64 d24,d18,#36
784
+ vadd.i64 d27,d26
785
+ vshr.u64 d26,d18,#39
786
+ vadd.i64 d28,d6
787
+ vsli.64 d25,d18,#30
788
+ veor d30,d18,d19
789
+ vsli.64 d26,d18,#25
790
+ veor d17,d24,d25
791
+ vadd.i64 d27,d28
792
+ vbsl d30,d20,d19 @ Maj(a,b,c)
793
+ veor d17,d26 @ Sigma0(a)
794
+ vadd.i64 d21,d27
795
+ vadd.i64 d30,d27
796
+ @ vadd.i64 d17,d30
797
+ vshr.u64 d24,d21,#14 @ 7
798
+ #if 7<16
799
+ vld1.64 {d7},[r1]! @ handles unaligned
800
+ #endif
801
+ vshr.u64 d25,d21,#18
802
+ #if 7>0
803
+ vadd.i64 d17,d30 @ h+=Maj from the past
804
+ #endif
805
+ vshr.u64 d26,d21,#41
806
+ vld1.64 {d28},[r3,:64]! @ K[i++]
807
+ vsli.64 d24,d21,#50
808
+ vsli.64 d25,d21,#46
809
+ vmov d29,d21
810
+ vsli.64 d26,d21,#23
811
+ #if 7<16 && defined(__ARMEL__)
812
+ vrev64.8 d7,d7
813
+ #endif
814
+ veor d25,d24
815
+ vbsl d29,d22,d23 @ Ch(e,f,g)
816
+ vshr.u64 d24,d17,#28
817
+ veor d26,d25 @ Sigma1(e)
818
+ vadd.i64 d27,d29,d16
819
+ vshr.u64 d25,d17,#34
820
+ vsli.64 d24,d17,#36
821
+ vadd.i64 d27,d26
822
+ vshr.u64 d26,d17,#39
823
+ vadd.i64 d28,d7
824
+ vsli.64 d25,d17,#30
825
+ veor d30,d17,d18
826
+ vsli.64 d26,d17,#25
827
+ veor d16,d24,d25
828
+ vadd.i64 d27,d28
829
+ vbsl d30,d19,d18 @ Maj(a,b,c)
830
+ veor d16,d26 @ Sigma0(a)
831
+ vadd.i64 d20,d27
832
+ vadd.i64 d30,d27
833
+ @ vadd.i64 d16,d30
834
+ vshr.u64 d24,d20,#14 @ 8
835
+ #if 8<16
836
+ vld1.64 {d8},[r1]! @ handles unaligned
837
+ #endif
838
+ vshr.u64 d25,d20,#18
839
+ #if 8>0
840
+ vadd.i64 d16,d30 @ h+=Maj from the past
841
+ #endif
842
+ vshr.u64 d26,d20,#41
843
+ vld1.64 {d28},[r3,:64]! @ K[i++]
844
+ vsli.64 d24,d20,#50
845
+ vsli.64 d25,d20,#46
846
+ vmov d29,d20
847
+ vsli.64 d26,d20,#23
848
+ #if 8<16 && defined(__ARMEL__)
849
+ vrev64.8 d8,d8
850
+ #endif
851
+ veor d25,d24
852
+ vbsl d29,d21,d22 @ Ch(e,f,g)
853
+ vshr.u64 d24,d16,#28
854
+ veor d26,d25 @ Sigma1(e)
855
+ vadd.i64 d27,d29,d23
856
+ vshr.u64 d25,d16,#34
857
+ vsli.64 d24,d16,#36
858
+ vadd.i64 d27,d26
859
+ vshr.u64 d26,d16,#39
860
+ vadd.i64 d28,d8
861
+ vsli.64 d25,d16,#30
862
+ veor d30,d16,d17
863
+ vsli.64 d26,d16,#25
864
+ veor d23,d24,d25
865
+ vadd.i64 d27,d28
866
+ vbsl d30,d18,d17 @ Maj(a,b,c)
867
+ veor d23,d26 @ Sigma0(a)
868
+ vadd.i64 d19,d27
869
+ vadd.i64 d30,d27
870
+ @ vadd.i64 d23,d30
871
+ vshr.u64 d24,d19,#14 @ 9
872
+ #if 9<16
873
+ vld1.64 {d9},[r1]! @ handles unaligned
874
+ #endif
875
+ vshr.u64 d25,d19,#18
876
+ #if 9>0
877
+ vadd.i64 d23,d30 @ h+=Maj from the past
878
+ #endif
879
+ vshr.u64 d26,d19,#41
880
+ vld1.64 {d28},[r3,:64]! @ K[i++]
881
+ vsli.64 d24,d19,#50
882
+ vsli.64 d25,d19,#46
883
+ vmov d29,d19
884
+ vsli.64 d26,d19,#23
885
+ #if 9<16 && defined(__ARMEL__)
886
+ vrev64.8 d9,d9
887
+ #endif
888
+ veor d25,d24
889
+ vbsl d29,d20,d21 @ Ch(e,f,g)
890
+ vshr.u64 d24,d23,#28
891
+ veor d26,d25 @ Sigma1(e)
892
+ vadd.i64 d27,d29,d22
893
+ vshr.u64 d25,d23,#34
894
+ vsli.64 d24,d23,#36
895
+ vadd.i64 d27,d26
896
+ vshr.u64 d26,d23,#39
897
+ vadd.i64 d28,d9
898
+ vsli.64 d25,d23,#30
899
+ veor d30,d23,d16
900
+ vsli.64 d26,d23,#25
901
+ veor d22,d24,d25
902
+ vadd.i64 d27,d28
903
+ vbsl d30,d17,d16 @ Maj(a,b,c)
904
+ veor d22,d26 @ Sigma0(a)
905
+ vadd.i64 d18,d27
906
+ vadd.i64 d30,d27
907
+ @ vadd.i64 d22,d30
908
+ vshr.u64 d24,d18,#14 @ 10
909
+ #if 10<16
910
+ vld1.64 {d10},[r1]! @ handles unaligned
911
+ #endif
912
+ vshr.u64 d25,d18,#18
913
+ #if 10>0
914
+ vadd.i64 d22,d30 @ h+=Maj from the past
915
+ #endif
916
+ vshr.u64 d26,d18,#41
917
+ vld1.64 {d28},[r3,:64]! @ K[i++]
918
+ vsli.64 d24,d18,#50
919
+ vsli.64 d25,d18,#46
920
+ vmov d29,d18
921
+ vsli.64 d26,d18,#23
922
+ #if 10<16 && defined(__ARMEL__)
923
+ vrev64.8 d10,d10
924
+ #endif
925
+ veor d25,d24
926
+ vbsl d29,d19,d20 @ Ch(e,f,g)
927
+ vshr.u64 d24,d22,#28
928
+ veor d26,d25 @ Sigma1(e)
929
+ vadd.i64 d27,d29,d21
930
+ vshr.u64 d25,d22,#34
931
+ vsli.64 d24,d22,#36
932
+ vadd.i64 d27,d26
933
+ vshr.u64 d26,d22,#39
934
+ vadd.i64 d28,d10
935
+ vsli.64 d25,d22,#30
936
+ veor d30,d22,d23
937
+ vsli.64 d26,d22,#25
938
+ veor d21,d24,d25
939
+ vadd.i64 d27,d28
940
+ vbsl d30,d16,d23 @ Maj(a,b,c)
941
+ veor d21,d26 @ Sigma0(a)
942
+ vadd.i64 d17,d27
943
+ vadd.i64 d30,d27
944
+ @ vadd.i64 d21,d30
945
+ vshr.u64 d24,d17,#14 @ 11
946
+ #if 11<16
947
+ vld1.64 {d11},[r1]! @ handles unaligned
948
+ #endif
949
+ vshr.u64 d25,d17,#18
950
+ #if 11>0
951
+ vadd.i64 d21,d30 @ h+=Maj from the past
952
+ #endif
953
+ vshr.u64 d26,d17,#41
954
+ vld1.64 {d28},[r3,:64]! @ K[i++]
955
+ vsli.64 d24,d17,#50
956
+ vsli.64 d25,d17,#46
957
+ vmov d29,d17
958
+ vsli.64 d26,d17,#23
959
+ #if 11<16 && defined(__ARMEL__)
960
+ vrev64.8 d11,d11
961
+ #endif
962
+ veor d25,d24
963
+ vbsl d29,d18,d19 @ Ch(e,f,g)
964
+ vshr.u64 d24,d21,#28
965
+ veor d26,d25 @ Sigma1(e)
966
+ vadd.i64 d27,d29,d20
967
+ vshr.u64 d25,d21,#34
968
+ vsli.64 d24,d21,#36
969
+ vadd.i64 d27,d26
970
+ vshr.u64 d26,d21,#39
971
+ vadd.i64 d28,d11
972
+ vsli.64 d25,d21,#30
973
+ veor d30,d21,d22
974
+ vsli.64 d26,d21,#25
975
+ veor d20,d24,d25
976
+ vadd.i64 d27,d28
977
+ vbsl d30,d23,d22 @ Maj(a,b,c)
978
+ veor d20,d26 @ Sigma0(a)
979
+ vadd.i64 d16,d27
980
+ vadd.i64 d30,d27
981
+ @ vadd.i64 d20,d30
982
+ vshr.u64 d24,d16,#14 @ 12
983
+ #if 12<16
984
+ vld1.64 {d12},[r1]! @ handles unaligned
985
+ #endif
986
+ vshr.u64 d25,d16,#18
987
+ #if 12>0
988
+ vadd.i64 d20,d30 @ h+=Maj from the past
989
+ #endif
990
+ vshr.u64 d26,d16,#41
991
+ vld1.64 {d28},[r3,:64]! @ K[i++]
992
+ vsli.64 d24,d16,#50
993
+ vsli.64 d25,d16,#46
994
+ vmov d29,d16
995
+ vsli.64 d26,d16,#23
996
+ #if 12<16 && defined(__ARMEL__)
997
+ vrev64.8 d12,d12
998
+ #endif
999
+ veor d25,d24
1000
+ vbsl d29,d17,d18 @ Ch(e,f,g)
1001
+ vshr.u64 d24,d20,#28
1002
+ veor d26,d25 @ Sigma1(e)
1003
+ vadd.i64 d27,d29,d19
1004
+ vshr.u64 d25,d20,#34
1005
+ vsli.64 d24,d20,#36
1006
+ vadd.i64 d27,d26
1007
+ vshr.u64 d26,d20,#39
1008
+ vadd.i64 d28,d12
1009
+ vsli.64 d25,d20,#30
1010
+ veor d30,d20,d21
1011
+ vsli.64 d26,d20,#25
1012
+ veor d19,d24,d25
1013
+ vadd.i64 d27,d28
1014
+ vbsl d30,d22,d21 @ Maj(a,b,c)
1015
+ veor d19,d26 @ Sigma0(a)
1016
+ vadd.i64 d23,d27
1017
+ vadd.i64 d30,d27
1018
+ @ vadd.i64 d19,d30
1019
+ vshr.u64 d24,d23,#14 @ 13
1020
+ #if 13<16
1021
+ vld1.64 {d13},[r1]! @ handles unaligned
1022
+ #endif
1023
+ vshr.u64 d25,d23,#18
1024
+ #if 13>0
1025
+ vadd.i64 d19,d30 @ h+=Maj from the past
1026
+ #endif
1027
+ vshr.u64 d26,d23,#41
1028
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1029
+ vsli.64 d24,d23,#50
1030
+ vsli.64 d25,d23,#46
1031
+ vmov d29,d23
1032
+ vsli.64 d26,d23,#23
1033
+ #if 13<16 && defined(__ARMEL__)
1034
+ vrev64.8 d13,d13
1035
+ #endif
1036
+ veor d25,d24
1037
+ vbsl d29,d16,d17 @ Ch(e,f,g)
1038
+ vshr.u64 d24,d19,#28
1039
+ veor d26,d25 @ Sigma1(e)
1040
+ vadd.i64 d27,d29,d18
1041
+ vshr.u64 d25,d19,#34
1042
+ vsli.64 d24,d19,#36
1043
+ vadd.i64 d27,d26
1044
+ vshr.u64 d26,d19,#39
1045
+ vadd.i64 d28,d13
1046
+ vsli.64 d25,d19,#30
1047
+ veor d30,d19,d20
1048
+ vsli.64 d26,d19,#25
1049
+ veor d18,d24,d25
1050
+ vadd.i64 d27,d28
1051
+ vbsl d30,d21,d20 @ Maj(a,b,c)
1052
+ veor d18,d26 @ Sigma0(a)
1053
+ vadd.i64 d22,d27
1054
+ vadd.i64 d30,d27
1055
+ @ vadd.i64 d18,d30
1056
+ vshr.u64 d24,d22,#14 @ 14
1057
+ #if 14<16
1058
+ vld1.64 {d14},[r1]! @ handles unaligned
1059
+ #endif
1060
+ vshr.u64 d25,d22,#18
1061
+ #if 14>0
1062
+ vadd.i64 d18,d30 @ h+=Maj from the past
1063
+ #endif
1064
+ vshr.u64 d26,d22,#41
1065
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1066
+ vsli.64 d24,d22,#50
1067
+ vsli.64 d25,d22,#46
1068
+ vmov d29,d22
1069
+ vsli.64 d26,d22,#23
1070
+ #if 14<16 && defined(__ARMEL__)
1071
+ vrev64.8 d14,d14
1072
+ #endif
1073
+ veor d25,d24
1074
+ vbsl d29,d23,d16 @ Ch(e,f,g)
1075
+ vshr.u64 d24,d18,#28
1076
+ veor d26,d25 @ Sigma1(e)
1077
+ vadd.i64 d27,d29,d17
1078
+ vshr.u64 d25,d18,#34
1079
+ vsli.64 d24,d18,#36
1080
+ vadd.i64 d27,d26
1081
+ vshr.u64 d26,d18,#39
1082
+ vadd.i64 d28,d14
1083
+ vsli.64 d25,d18,#30
1084
+ veor d30,d18,d19
1085
+ vsli.64 d26,d18,#25
1086
+ veor d17,d24,d25
1087
+ vadd.i64 d27,d28
1088
+ vbsl d30,d20,d19 @ Maj(a,b,c)
1089
+ veor d17,d26 @ Sigma0(a)
1090
+ vadd.i64 d21,d27
1091
+ vadd.i64 d30,d27
1092
+ @ vadd.i64 d17,d30
1093
+ vshr.u64 d24,d21,#14 @ 15
1094
+ #if 15<16
1095
+ vld1.64 {d15},[r1]! @ handles unaligned
1096
+ #endif
1097
+ vshr.u64 d25,d21,#18
1098
+ #if 15>0
1099
+ vadd.i64 d17,d30 @ h+=Maj from the past
1100
+ #endif
1101
+ vshr.u64 d26,d21,#41
1102
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1103
+ vsli.64 d24,d21,#50
1104
+ vsli.64 d25,d21,#46
1105
+ vmov d29,d21
1106
+ vsli.64 d26,d21,#23
1107
+ #if 15<16 && defined(__ARMEL__)
1108
+ vrev64.8 d15,d15
1109
+ #endif
1110
+ veor d25,d24
1111
+ vbsl d29,d22,d23 @ Ch(e,f,g)
1112
+ vshr.u64 d24,d17,#28
1113
+ veor d26,d25 @ Sigma1(e)
1114
+ vadd.i64 d27,d29,d16
1115
+ vshr.u64 d25,d17,#34
1116
+ vsli.64 d24,d17,#36
1117
+ vadd.i64 d27,d26
1118
+ vshr.u64 d26,d17,#39
1119
+ vadd.i64 d28,d15
1120
+ vsli.64 d25,d17,#30
1121
+ veor d30,d17,d18
1122
+ vsli.64 d26,d17,#25
1123
+ veor d16,d24,d25
1124
+ vadd.i64 d27,d28
1125
+ vbsl d30,d19,d18 @ Maj(a,b,c)
1126
+ veor d16,d26 @ Sigma0(a)
1127
+ vadd.i64 d20,d27
1128
+ vadd.i64 d30,d27
1129
+ @ vadd.i64 d16,d30
1130
+ mov r12,#4
1131
+ .L16_79_neon:
1132
+ subs r12,#1
1133
+ vshr.u64 q12,q7,#19
1134
+ vshr.u64 q13,q7,#61
1135
+ vadd.i64 d16,d30 @ h+=Maj from the past
1136
+ vshr.u64 q15,q7,#6
1137
+ vsli.64 q12,q7,#45
1138
+ vext.8 q14,q0,q1,#8 @ X[i+1]
1139
+ vsli.64 q13,q7,#3
1140
+ veor q15,q12
1141
+ vshr.u64 q12,q14,#1
1142
+ veor q15,q13 @ sigma1(X[i+14])
1143
+ vshr.u64 q13,q14,#8
1144
+ vadd.i64 q0,q15
1145
+ vshr.u64 q15,q14,#7
1146
+ vsli.64 q12,q14,#63
1147
+ vsli.64 q13,q14,#56
1148
+ vext.8 q14,q4,q5,#8 @ X[i+9]
1149
+ veor q15,q12
1150
+ vshr.u64 d24,d20,#14 @ from NEON_00_15
1151
+ vadd.i64 q0,q14
1152
+ vshr.u64 d25,d20,#18 @ from NEON_00_15
1153
+ veor q15,q13 @ sigma0(X[i+1])
1154
+ vshr.u64 d26,d20,#41 @ from NEON_00_15
1155
+ vadd.i64 q0,q15
1156
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1157
+ vsli.64 d24,d20,#50
1158
+ vsli.64 d25,d20,#46
1159
+ vmov d29,d20
1160
+ vsli.64 d26,d20,#23
1161
+ #if 16<16 && defined(__ARMEL__)
1162
+ vrev64.8 ,
1163
+ #endif
1164
+ veor d25,d24
1165
+ vbsl d29,d21,d22 @ Ch(e,f,g)
1166
+ vshr.u64 d24,d16,#28
1167
+ veor d26,d25 @ Sigma1(e)
1168
+ vadd.i64 d27,d29,d23
1169
+ vshr.u64 d25,d16,#34
1170
+ vsli.64 d24,d16,#36
1171
+ vadd.i64 d27,d26
1172
+ vshr.u64 d26,d16,#39
1173
+ vadd.i64 d28,d0
1174
+ vsli.64 d25,d16,#30
1175
+ veor d30,d16,d17
1176
+ vsli.64 d26,d16,#25
1177
+ veor d23,d24,d25
1178
+ vadd.i64 d27,d28
1179
+ vbsl d30,d18,d17 @ Maj(a,b,c)
1180
+ veor d23,d26 @ Sigma0(a)
1181
+ vadd.i64 d19,d27
1182
+ vadd.i64 d30,d27
1183
+ @ vadd.i64 d23,d30
1184
+ vshr.u64 d24,d19,#14 @ 17
1185
+ #if 17<16
1186
+ vld1.64 {d1},[r1]! @ handles unaligned
1187
+ #endif
1188
+ vshr.u64 d25,d19,#18
1189
+ #if 17>0
1190
+ vadd.i64 d23,d30 @ h+=Maj from the past
1191
+ #endif
1192
+ vshr.u64 d26,d19,#41
1193
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1194
+ vsli.64 d24,d19,#50
1195
+ vsli.64 d25,d19,#46
1196
+ vmov d29,d19
1197
+ vsli.64 d26,d19,#23
1198
+ #if 17<16 && defined(__ARMEL__)
1199
+ vrev64.8 ,
1200
+ #endif
1201
+ veor d25,d24
1202
+ vbsl d29,d20,d21 @ Ch(e,f,g)
1203
+ vshr.u64 d24,d23,#28
1204
+ veor d26,d25 @ Sigma1(e)
1205
+ vadd.i64 d27,d29,d22
1206
+ vshr.u64 d25,d23,#34
1207
+ vsli.64 d24,d23,#36
1208
+ vadd.i64 d27,d26
1209
+ vshr.u64 d26,d23,#39
1210
+ vadd.i64 d28,d1
1211
+ vsli.64 d25,d23,#30
1212
+ veor d30,d23,d16
1213
+ vsli.64 d26,d23,#25
1214
+ veor d22,d24,d25
1215
+ vadd.i64 d27,d28
1216
+ vbsl d30,d17,d16 @ Maj(a,b,c)
1217
+ veor d22,d26 @ Sigma0(a)
1218
+ vadd.i64 d18,d27
1219
+ vadd.i64 d30,d27
1220
+ @ vadd.i64 d22,d30
1221
+ vshr.u64 q12,q0,#19
1222
+ vshr.u64 q13,q0,#61
1223
+ vadd.i64 d22,d30 @ h+=Maj from the past
1224
+ vshr.u64 q15,q0,#6
1225
+ vsli.64 q12,q0,#45
1226
+ vext.8 q14,q1,q2,#8 @ X[i+1]
1227
+ vsli.64 q13,q0,#3
1228
+ veor q15,q12
1229
+ vshr.u64 q12,q14,#1
1230
+ veor q15,q13 @ sigma1(X[i+14])
1231
+ vshr.u64 q13,q14,#8
1232
+ vadd.i64 q1,q15
1233
+ vshr.u64 q15,q14,#7
1234
+ vsli.64 q12,q14,#63
1235
+ vsli.64 q13,q14,#56
1236
+ vext.8 q14,q5,q6,#8 @ X[i+9]
1237
+ veor q15,q12
1238
+ vshr.u64 d24,d18,#14 @ from NEON_00_15
1239
+ vadd.i64 q1,q14
1240
+ vshr.u64 d25,d18,#18 @ from NEON_00_15
1241
+ veor q15,q13 @ sigma0(X[i+1])
1242
+ vshr.u64 d26,d18,#41 @ from NEON_00_15
1243
+ vadd.i64 q1,q15
1244
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1245
+ vsli.64 d24,d18,#50
1246
+ vsli.64 d25,d18,#46
1247
+ vmov d29,d18
1248
+ vsli.64 d26,d18,#23
1249
+ #if 18<16 && defined(__ARMEL__)
1250
+ vrev64.8 ,
1251
+ #endif
1252
+ veor d25,d24
1253
+ vbsl d29,d19,d20 @ Ch(e,f,g)
1254
+ vshr.u64 d24,d22,#28
1255
+ veor d26,d25 @ Sigma1(e)
1256
+ vadd.i64 d27,d29,d21
1257
+ vshr.u64 d25,d22,#34
1258
+ vsli.64 d24,d22,#36
1259
+ vadd.i64 d27,d26
1260
+ vshr.u64 d26,d22,#39
1261
+ vadd.i64 d28,d2
1262
+ vsli.64 d25,d22,#30
1263
+ veor d30,d22,d23
1264
+ vsli.64 d26,d22,#25
1265
+ veor d21,d24,d25
1266
+ vadd.i64 d27,d28
1267
+ vbsl d30,d16,d23 @ Maj(a,b,c)
1268
+ veor d21,d26 @ Sigma0(a)
1269
+ vadd.i64 d17,d27
1270
+ vadd.i64 d30,d27
1271
+ @ vadd.i64 d21,d30
1272
+ vshr.u64 d24,d17,#14 @ 19
1273
+ #if 19<16
1274
+ vld1.64 {d3},[r1]! @ handles unaligned
1275
+ #endif
1276
+ vshr.u64 d25,d17,#18
1277
+ #if 19>0
1278
+ vadd.i64 d21,d30 @ h+=Maj from the past
1279
+ #endif
1280
+ vshr.u64 d26,d17,#41
1281
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1282
+ vsli.64 d24,d17,#50
1283
+ vsli.64 d25,d17,#46
1284
+ vmov d29,d17
1285
+ vsli.64 d26,d17,#23
1286
+ #if 19<16 && defined(__ARMEL__)
1287
+ vrev64.8 ,
1288
+ #endif
1289
+ veor d25,d24
1290
+ vbsl d29,d18,d19 @ Ch(e,f,g)
1291
+ vshr.u64 d24,d21,#28
1292
+ veor d26,d25 @ Sigma1(e)
1293
+ vadd.i64 d27,d29,d20
1294
+ vshr.u64 d25,d21,#34
1295
+ vsli.64 d24,d21,#36
1296
+ vadd.i64 d27,d26
1297
+ vshr.u64 d26,d21,#39
1298
+ vadd.i64 d28,d3
1299
+ vsli.64 d25,d21,#30
1300
+ veor d30,d21,d22
1301
+ vsli.64 d26,d21,#25
1302
+ veor d20,d24,d25
1303
+ vadd.i64 d27,d28
1304
+ vbsl d30,d23,d22 @ Maj(a,b,c)
1305
+ veor d20,d26 @ Sigma0(a)
1306
+ vadd.i64 d16,d27
1307
+ vadd.i64 d30,d27
1308
+ @ vadd.i64 d20,d30
1309
+ vshr.u64 q12,q1,#19
1310
+ vshr.u64 q13,q1,#61
1311
+ vadd.i64 d20,d30 @ h+=Maj from the past
1312
+ vshr.u64 q15,q1,#6
1313
+ vsli.64 q12,q1,#45
1314
+ vext.8 q14,q2,q3,#8 @ X[i+1]
1315
+ vsli.64 q13,q1,#3
1316
+ veor q15,q12
1317
+ vshr.u64 q12,q14,#1
1318
+ veor q15,q13 @ sigma1(X[i+14])
1319
+ vshr.u64 q13,q14,#8
1320
+ vadd.i64 q2,q15
1321
+ vshr.u64 q15,q14,#7
1322
+ vsli.64 q12,q14,#63
1323
+ vsli.64 q13,q14,#56
1324
+ vext.8 q14,q6,q7,#8 @ X[i+9]
1325
+ veor q15,q12
1326
+ vshr.u64 d24,d16,#14 @ from NEON_00_15
1327
+ vadd.i64 q2,q14
1328
+ vshr.u64 d25,d16,#18 @ from NEON_00_15
1329
+ veor q15,q13 @ sigma0(X[i+1])
1330
+ vshr.u64 d26,d16,#41 @ from NEON_00_15
1331
+ vadd.i64 q2,q15
1332
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1333
+ vsli.64 d24,d16,#50
1334
+ vsli.64 d25,d16,#46
1335
+ vmov d29,d16
1336
+ vsli.64 d26,d16,#23
1337
+ #if 20<16 && defined(__ARMEL__)
1338
+ vrev64.8 ,
1339
+ #endif
1340
+ veor d25,d24
1341
+ vbsl d29,d17,d18 @ Ch(e,f,g)
1342
+ vshr.u64 d24,d20,#28
1343
+ veor d26,d25 @ Sigma1(e)
1344
+ vadd.i64 d27,d29,d19
1345
+ vshr.u64 d25,d20,#34
1346
+ vsli.64 d24,d20,#36
1347
+ vadd.i64 d27,d26
1348
+ vshr.u64 d26,d20,#39
1349
+ vadd.i64 d28,d4
1350
+ vsli.64 d25,d20,#30
1351
+ veor d30,d20,d21
1352
+ vsli.64 d26,d20,#25
1353
+ veor d19,d24,d25
1354
+ vadd.i64 d27,d28
1355
+ vbsl d30,d22,d21 @ Maj(a,b,c)
1356
+ veor d19,d26 @ Sigma0(a)
1357
+ vadd.i64 d23,d27
1358
+ vadd.i64 d30,d27
1359
+ @ vadd.i64 d19,d30
1360
+ vshr.u64 d24,d23,#14 @ 21
1361
+ #if 21<16
1362
+ vld1.64 {d5},[r1]! @ handles unaligned
1363
+ #endif
1364
+ vshr.u64 d25,d23,#18
1365
+ #if 21>0
1366
+ vadd.i64 d19,d30 @ h+=Maj from the past
1367
+ #endif
1368
+ vshr.u64 d26,d23,#41
1369
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1370
+ vsli.64 d24,d23,#50
1371
+ vsli.64 d25,d23,#46
1372
+ vmov d29,d23
1373
+ vsli.64 d26,d23,#23
1374
+ #if 21<16 && defined(__ARMEL__)
1375
+ vrev64.8 ,
1376
+ #endif
1377
+ veor d25,d24
1378
+ vbsl d29,d16,d17 @ Ch(e,f,g)
1379
+ vshr.u64 d24,d19,#28
1380
+ veor d26,d25 @ Sigma1(e)
1381
+ vadd.i64 d27,d29,d18
1382
+ vshr.u64 d25,d19,#34
1383
+ vsli.64 d24,d19,#36
1384
+ vadd.i64 d27,d26
1385
+ vshr.u64 d26,d19,#39
1386
+ vadd.i64 d28,d5
1387
+ vsli.64 d25,d19,#30
1388
+ veor d30,d19,d20
1389
+ vsli.64 d26,d19,#25
1390
+ veor d18,d24,d25
1391
+ vadd.i64 d27,d28
1392
+ vbsl d30,d21,d20 @ Maj(a,b,c)
1393
+ veor d18,d26 @ Sigma0(a)
1394
+ vadd.i64 d22,d27
1395
+ vadd.i64 d30,d27
1396
+ @ vadd.i64 d18,d30
1397
+ vshr.u64 q12,q2,#19
1398
+ vshr.u64 q13,q2,#61
1399
+ vadd.i64 d18,d30 @ h+=Maj from the past
1400
+ vshr.u64 q15,q2,#6
1401
+ vsli.64 q12,q2,#45
1402
+ vext.8 q14,q3,q4,#8 @ X[i+1]
1403
+ vsli.64 q13,q2,#3
1404
+ veor q15,q12
1405
+ vshr.u64 q12,q14,#1
1406
+ veor q15,q13 @ sigma1(X[i+14])
1407
+ vshr.u64 q13,q14,#8
1408
+ vadd.i64 q3,q15
1409
+ vshr.u64 q15,q14,#7
1410
+ vsli.64 q12,q14,#63
1411
+ vsli.64 q13,q14,#56
1412
+ vext.8 q14,q7,q0,#8 @ X[i+9]
1413
+ veor q15,q12
1414
+ vshr.u64 d24,d22,#14 @ from NEON_00_15
1415
+ vadd.i64 q3,q14
1416
+ vshr.u64 d25,d22,#18 @ from NEON_00_15
1417
+ veor q15,q13 @ sigma0(X[i+1])
1418
+ vshr.u64 d26,d22,#41 @ from NEON_00_15
1419
+ vadd.i64 q3,q15
1420
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1421
+ vsli.64 d24,d22,#50
1422
+ vsli.64 d25,d22,#46
1423
+ vmov d29,d22
1424
+ vsli.64 d26,d22,#23
1425
+ #if 22<16 && defined(__ARMEL__)
1426
+ vrev64.8 ,
1427
+ #endif
1428
+ veor d25,d24
1429
+ vbsl d29,d23,d16 @ Ch(e,f,g)
1430
+ vshr.u64 d24,d18,#28
1431
+ veor d26,d25 @ Sigma1(e)
1432
+ vadd.i64 d27,d29,d17
1433
+ vshr.u64 d25,d18,#34
1434
+ vsli.64 d24,d18,#36
1435
+ vadd.i64 d27,d26
1436
+ vshr.u64 d26,d18,#39
1437
+ vadd.i64 d28,d6
1438
+ vsli.64 d25,d18,#30
1439
+ veor d30,d18,d19
1440
+ vsli.64 d26,d18,#25
1441
+ veor d17,d24,d25
1442
+ vadd.i64 d27,d28
1443
+ vbsl d30,d20,d19 @ Maj(a,b,c)
1444
+ veor d17,d26 @ Sigma0(a)
1445
+ vadd.i64 d21,d27
1446
+ vadd.i64 d30,d27
1447
+ @ vadd.i64 d17,d30
1448
+ vshr.u64 d24,d21,#14 @ 23
1449
+ #if 23<16
1450
+ vld1.64 {d7},[r1]! @ handles unaligned
1451
+ #endif
1452
+ vshr.u64 d25,d21,#18
1453
+ #if 23>0
1454
+ vadd.i64 d17,d30 @ h+=Maj from the past
1455
+ #endif
1456
+ vshr.u64 d26,d21,#41
1457
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1458
+ vsli.64 d24,d21,#50
1459
+ vsli.64 d25,d21,#46
1460
+ vmov d29,d21
1461
+ vsli.64 d26,d21,#23
1462
+ #if 23<16 && defined(__ARMEL__)
1463
+ vrev64.8 ,
1464
+ #endif
1465
+ veor d25,d24
1466
+ vbsl d29,d22,d23 @ Ch(e,f,g)
1467
+ vshr.u64 d24,d17,#28
1468
+ veor d26,d25 @ Sigma1(e)
1469
+ vadd.i64 d27,d29,d16
1470
+ vshr.u64 d25,d17,#34
1471
+ vsli.64 d24,d17,#36
1472
+ vadd.i64 d27,d26
1473
+ vshr.u64 d26,d17,#39
1474
+ vadd.i64 d28,d7
1475
+ vsli.64 d25,d17,#30
1476
+ veor d30,d17,d18
1477
+ vsli.64 d26,d17,#25
1478
+ veor d16,d24,d25
1479
+ vadd.i64 d27,d28
1480
+ vbsl d30,d19,d18 @ Maj(a,b,c)
1481
+ veor d16,d26 @ Sigma0(a)
1482
+ vadd.i64 d20,d27
1483
+ vadd.i64 d30,d27
1484
+ @ vadd.i64 d16,d30
1485
+ vshr.u64 q12,q3,#19
1486
+ vshr.u64 q13,q3,#61
1487
+ vadd.i64 d16,d30 @ h+=Maj from the past
1488
+ vshr.u64 q15,q3,#6
1489
+ vsli.64 q12,q3,#45
1490
+ vext.8 q14,q4,q5,#8 @ X[i+1]
1491
+ vsli.64 q13,q3,#3
1492
+ veor q15,q12
1493
+ vshr.u64 q12,q14,#1
1494
+ veor q15,q13 @ sigma1(X[i+14])
1495
+ vshr.u64 q13,q14,#8
1496
+ vadd.i64 q4,q15
1497
+ vshr.u64 q15,q14,#7
1498
+ vsli.64 q12,q14,#63
1499
+ vsli.64 q13,q14,#56
1500
+ vext.8 q14,q0,q1,#8 @ X[i+9]
1501
+ veor q15,q12
1502
+ vshr.u64 d24,d20,#14 @ from NEON_00_15
1503
+ vadd.i64 q4,q14
1504
+ vshr.u64 d25,d20,#18 @ from NEON_00_15
1505
+ veor q15,q13 @ sigma0(X[i+1])
1506
+ vshr.u64 d26,d20,#41 @ from NEON_00_15
1507
+ vadd.i64 q4,q15
1508
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1509
+ vsli.64 d24,d20,#50
1510
+ vsli.64 d25,d20,#46
1511
+ vmov d29,d20
1512
+ vsli.64 d26,d20,#23
1513
+ #if 24<16 && defined(__ARMEL__)
1514
+ vrev64.8 ,
1515
+ #endif
1516
+ veor d25,d24
1517
+ vbsl d29,d21,d22 @ Ch(e,f,g)
1518
+ vshr.u64 d24,d16,#28
1519
+ veor d26,d25 @ Sigma1(e)
1520
+ vadd.i64 d27,d29,d23
1521
+ vshr.u64 d25,d16,#34
1522
+ vsli.64 d24,d16,#36
1523
+ vadd.i64 d27,d26
1524
+ vshr.u64 d26,d16,#39
1525
+ vadd.i64 d28,d8
1526
+ vsli.64 d25,d16,#30
1527
+ veor d30,d16,d17
1528
+ vsli.64 d26,d16,#25
1529
+ veor d23,d24,d25
1530
+ vadd.i64 d27,d28
1531
+ vbsl d30,d18,d17 @ Maj(a,b,c)
1532
+ veor d23,d26 @ Sigma0(a)
1533
+ vadd.i64 d19,d27
1534
+ vadd.i64 d30,d27
1535
+ @ vadd.i64 d23,d30
1536
+ vshr.u64 d24,d19,#14 @ 25
1537
+ #if 25<16
1538
+ vld1.64 {d9},[r1]! @ handles unaligned
1539
+ #endif
1540
+ vshr.u64 d25,d19,#18
1541
+ #if 25>0
1542
+ vadd.i64 d23,d30 @ h+=Maj from the past
1543
+ #endif
1544
+ vshr.u64 d26,d19,#41
1545
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1546
+ vsli.64 d24,d19,#50
1547
+ vsli.64 d25,d19,#46
1548
+ vmov d29,d19
1549
+ vsli.64 d26,d19,#23
1550
+ #if 25<16 && defined(__ARMEL__)
1551
+ vrev64.8 ,
1552
+ #endif
1553
+ veor d25,d24
1554
+ vbsl d29,d20,d21 @ Ch(e,f,g)
1555
+ vshr.u64 d24,d23,#28
1556
+ veor d26,d25 @ Sigma1(e)
1557
+ vadd.i64 d27,d29,d22
1558
+ vshr.u64 d25,d23,#34
1559
+ vsli.64 d24,d23,#36
1560
+ vadd.i64 d27,d26
1561
+ vshr.u64 d26,d23,#39
1562
+ vadd.i64 d28,d9
1563
+ vsli.64 d25,d23,#30
1564
+ veor d30,d23,d16
1565
+ vsli.64 d26,d23,#25
1566
+ veor d22,d24,d25
1567
+ vadd.i64 d27,d28
1568
+ vbsl d30,d17,d16 @ Maj(a,b,c)
1569
+ veor d22,d26 @ Sigma0(a)
1570
+ vadd.i64 d18,d27
1571
+ vadd.i64 d30,d27
1572
+ @ vadd.i64 d22,d30
1573
+ vshr.u64 q12,q4,#19
1574
+ vshr.u64 q13,q4,#61
1575
+ vadd.i64 d22,d30 @ h+=Maj from the past
1576
+ vshr.u64 q15,q4,#6
1577
+ vsli.64 q12,q4,#45
1578
+ vext.8 q14,q5,q6,#8 @ X[i+1]
1579
+ vsli.64 q13,q4,#3
1580
+ veor q15,q12
1581
+ vshr.u64 q12,q14,#1
1582
+ veor q15,q13 @ sigma1(X[i+14])
1583
+ vshr.u64 q13,q14,#8
1584
+ vadd.i64 q5,q15
1585
+ vshr.u64 q15,q14,#7
1586
+ vsli.64 q12,q14,#63
1587
+ vsli.64 q13,q14,#56
1588
+ vext.8 q14,q1,q2,#8 @ X[i+9]
1589
+ veor q15,q12
1590
+ vshr.u64 d24,d18,#14 @ from NEON_00_15
1591
+ vadd.i64 q5,q14
1592
+ vshr.u64 d25,d18,#18 @ from NEON_00_15
1593
+ veor q15,q13 @ sigma0(X[i+1])
1594
+ vshr.u64 d26,d18,#41 @ from NEON_00_15
1595
+ vadd.i64 q5,q15
1596
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1597
+ vsli.64 d24,d18,#50
1598
+ vsli.64 d25,d18,#46
1599
+ vmov d29,d18
1600
+ vsli.64 d26,d18,#23
1601
+ #if 26<16 && defined(__ARMEL__)
1602
+ vrev64.8 ,
1603
+ #endif
1604
+ veor d25,d24
1605
+ vbsl d29,d19,d20 @ Ch(e,f,g)
1606
+ vshr.u64 d24,d22,#28
1607
+ veor d26,d25 @ Sigma1(e)
1608
+ vadd.i64 d27,d29,d21
1609
+ vshr.u64 d25,d22,#34
1610
+ vsli.64 d24,d22,#36
1611
+ vadd.i64 d27,d26
1612
+ vshr.u64 d26,d22,#39
1613
+ vadd.i64 d28,d10
1614
+ vsli.64 d25,d22,#30
1615
+ veor d30,d22,d23
1616
+ vsli.64 d26,d22,#25
1617
+ veor d21,d24,d25
1618
+ vadd.i64 d27,d28
1619
+ vbsl d30,d16,d23 @ Maj(a,b,c)
1620
+ veor d21,d26 @ Sigma0(a)
1621
+ vadd.i64 d17,d27
1622
+ vadd.i64 d30,d27
1623
+ @ vadd.i64 d21,d30
1624
+ vshr.u64 d24,d17,#14 @ 27
1625
+ #if 27<16
1626
+ vld1.64 {d11},[r1]! @ handles unaligned
1627
+ #endif
1628
+ vshr.u64 d25,d17,#18
1629
+ #if 27>0
1630
+ vadd.i64 d21,d30 @ h+=Maj from the past
1631
+ #endif
1632
+ vshr.u64 d26,d17,#41
1633
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1634
+ vsli.64 d24,d17,#50
1635
+ vsli.64 d25,d17,#46
1636
+ vmov d29,d17
1637
+ vsli.64 d26,d17,#23
1638
+ #if 27<16 && defined(__ARMEL__)
1639
+ vrev64.8 ,
1640
+ #endif
1641
+ veor d25,d24
1642
+ vbsl d29,d18,d19 @ Ch(e,f,g)
1643
+ vshr.u64 d24,d21,#28
1644
+ veor d26,d25 @ Sigma1(e)
1645
+ vadd.i64 d27,d29,d20
1646
+ vshr.u64 d25,d21,#34
1647
+ vsli.64 d24,d21,#36
1648
+ vadd.i64 d27,d26
1649
+ vshr.u64 d26,d21,#39
1650
+ vadd.i64 d28,d11
1651
+ vsli.64 d25,d21,#30
1652
+ veor d30,d21,d22
1653
+ vsli.64 d26,d21,#25
1654
+ veor d20,d24,d25
1655
+ vadd.i64 d27,d28
1656
+ vbsl d30,d23,d22 @ Maj(a,b,c)
1657
+ veor d20,d26 @ Sigma0(a)
1658
+ vadd.i64 d16,d27
1659
+ vadd.i64 d30,d27
1660
+ @ vadd.i64 d20,d30
1661
+ vshr.u64 q12,q5,#19
1662
+ vshr.u64 q13,q5,#61
1663
+ vadd.i64 d20,d30 @ h+=Maj from the past
1664
+ vshr.u64 q15,q5,#6
1665
+ vsli.64 q12,q5,#45
1666
+ vext.8 q14,q6,q7,#8 @ X[i+1]
1667
+ vsli.64 q13,q5,#3
1668
+ veor q15,q12
1669
+ vshr.u64 q12,q14,#1
1670
+ veor q15,q13 @ sigma1(X[i+14])
1671
+ vshr.u64 q13,q14,#8
1672
+ vadd.i64 q6,q15
1673
+ vshr.u64 q15,q14,#7
1674
+ vsli.64 q12,q14,#63
1675
+ vsli.64 q13,q14,#56
1676
+ vext.8 q14,q2,q3,#8 @ X[i+9]
1677
+ veor q15,q12
1678
+ vshr.u64 d24,d16,#14 @ from NEON_00_15
1679
+ vadd.i64 q6,q14
1680
+ vshr.u64 d25,d16,#18 @ from NEON_00_15
1681
+ veor q15,q13 @ sigma0(X[i+1])
1682
+ vshr.u64 d26,d16,#41 @ from NEON_00_15
1683
+ vadd.i64 q6,q15
1684
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1685
+ vsli.64 d24,d16,#50
1686
+ vsli.64 d25,d16,#46
1687
+ vmov d29,d16
1688
+ vsli.64 d26,d16,#23
1689
+ #if 28<16 && defined(__ARMEL__)
1690
+ vrev64.8 ,
1691
+ #endif
1692
+ veor d25,d24
1693
+ vbsl d29,d17,d18 @ Ch(e,f,g)
1694
+ vshr.u64 d24,d20,#28
1695
+ veor d26,d25 @ Sigma1(e)
1696
+ vadd.i64 d27,d29,d19
1697
+ vshr.u64 d25,d20,#34
1698
+ vsli.64 d24,d20,#36
1699
+ vadd.i64 d27,d26
1700
+ vshr.u64 d26,d20,#39
1701
+ vadd.i64 d28,d12
1702
+ vsli.64 d25,d20,#30
1703
+ veor d30,d20,d21
1704
+ vsli.64 d26,d20,#25
1705
+ veor d19,d24,d25
1706
+ vadd.i64 d27,d28
1707
+ vbsl d30,d22,d21 @ Maj(a,b,c)
1708
+ veor d19,d26 @ Sigma0(a)
1709
+ vadd.i64 d23,d27
1710
+ vadd.i64 d30,d27
1711
+ @ vadd.i64 d19,d30
1712
+ vshr.u64 d24,d23,#14 @ 29
1713
+ #if 29<16
1714
+ vld1.64 {d13},[r1]! @ handles unaligned
1715
+ #endif
1716
+ vshr.u64 d25,d23,#18
1717
+ #if 29>0
1718
+ vadd.i64 d19,d30 @ h+=Maj from the past
1719
+ #endif
1720
+ vshr.u64 d26,d23,#41
1721
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1722
+ vsli.64 d24,d23,#50
1723
+ vsli.64 d25,d23,#46
1724
+ vmov d29,d23
1725
+ vsli.64 d26,d23,#23
1726
+ #if 29<16 && defined(__ARMEL__)
1727
+ vrev64.8 ,
1728
+ #endif
1729
+ veor d25,d24
1730
+ vbsl d29,d16,d17 @ Ch(e,f,g)
1731
+ vshr.u64 d24,d19,#28
1732
+ veor d26,d25 @ Sigma1(e)
1733
+ vadd.i64 d27,d29,d18
1734
+ vshr.u64 d25,d19,#34
1735
+ vsli.64 d24,d19,#36
1736
+ vadd.i64 d27,d26
1737
+ vshr.u64 d26,d19,#39
1738
+ vadd.i64 d28,d13
1739
+ vsli.64 d25,d19,#30
1740
+ veor d30,d19,d20
1741
+ vsli.64 d26,d19,#25
1742
+ veor d18,d24,d25
1743
+ vadd.i64 d27,d28
1744
+ vbsl d30,d21,d20 @ Maj(a,b,c)
1745
+ veor d18,d26 @ Sigma0(a)
1746
+ vadd.i64 d22,d27
1747
+ vadd.i64 d30,d27
1748
+ @ vadd.i64 d18,d30
1749
+ vshr.u64 q12,q6,#19
1750
+ vshr.u64 q13,q6,#61
1751
+ vadd.i64 d18,d30 @ h+=Maj from the past
1752
+ vshr.u64 q15,q6,#6
1753
+ vsli.64 q12,q6,#45
1754
+ vext.8 q14,q7,q0,#8 @ X[i+1]
1755
+ vsli.64 q13,q6,#3
1756
+ veor q15,q12
1757
+ vshr.u64 q12,q14,#1
1758
+ veor q15,q13 @ sigma1(X[i+14])
1759
+ vshr.u64 q13,q14,#8
1760
+ vadd.i64 q7,q15
1761
+ vshr.u64 q15,q14,#7
1762
+ vsli.64 q12,q14,#63
1763
+ vsli.64 q13,q14,#56
1764
+ vext.8 q14,q3,q4,#8 @ X[i+9]
1765
+ veor q15,q12
1766
+ vshr.u64 d24,d22,#14 @ from NEON_00_15
1767
+ vadd.i64 q7,q14
1768
+ vshr.u64 d25,d22,#18 @ from NEON_00_15
1769
+ veor q15,q13 @ sigma0(X[i+1])
1770
+ vshr.u64 d26,d22,#41 @ from NEON_00_15
1771
+ vadd.i64 q7,q15
1772
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1773
+ vsli.64 d24,d22,#50
1774
+ vsli.64 d25,d22,#46
1775
+ vmov d29,d22
1776
+ vsli.64 d26,d22,#23
1777
+ #if 30<16 && defined(__ARMEL__)
1778
+ vrev64.8 ,
1779
+ #endif
1780
+ veor d25,d24
1781
+ vbsl d29,d23,d16 @ Ch(e,f,g)
1782
+ vshr.u64 d24,d18,#28
1783
+ veor d26,d25 @ Sigma1(e)
1784
+ vadd.i64 d27,d29,d17
1785
+ vshr.u64 d25,d18,#34
1786
+ vsli.64 d24,d18,#36
1787
+ vadd.i64 d27,d26
1788
+ vshr.u64 d26,d18,#39
1789
+ vadd.i64 d28,d14
1790
+ vsli.64 d25,d18,#30
1791
+ veor d30,d18,d19
1792
+ vsli.64 d26,d18,#25
1793
+ veor d17,d24,d25
1794
+ vadd.i64 d27,d28
1795
+ vbsl d30,d20,d19 @ Maj(a,b,c)
1796
+ veor d17,d26 @ Sigma0(a)
1797
+ vadd.i64 d21,d27
1798
+ vadd.i64 d30,d27
1799
+ @ vadd.i64 d17,d30
1800
+ vshr.u64 d24,d21,#14 @ 31
1801
+ #if 31<16
1802
+ vld1.64 {d15},[r1]! @ handles unaligned
1803
+ #endif
1804
+ vshr.u64 d25,d21,#18
1805
+ #if 31>0
1806
+ vadd.i64 d17,d30 @ h+=Maj from the past
1807
+ #endif
1808
+ vshr.u64 d26,d21,#41
1809
+ vld1.64 {d28},[r3,:64]! @ K[i++]
1810
+ vsli.64 d24,d21,#50
1811
+ vsli.64 d25,d21,#46
1812
+ vmov d29,d21
1813
+ vsli.64 d26,d21,#23
1814
+ #if 31<16 && defined(__ARMEL__)
1815
+ vrev64.8 ,
1816
+ #endif
1817
+ veor d25,d24
1818
+ vbsl d29,d22,d23 @ Ch(e,f,g)
1819
+ vshr.u64 d24,d17,#28
1820
+ veor d26,d25 @ Sigma1(e)
1821
+ vadd.i64 d27,d29,d16
1822
+ vshr.u64 d25,d17,#34
1823
+ vsli.64 d24,d17,#36
1824
+ vadd.i64 d27,d26
1825
+ vshr.u64 d26,d17,#39
1826
+ vadd.i64 d28,d15
1827
+ vsli.64 d25,d17,#30
1828
+ veor d30,d17,d18
1829
+ vsli.64 d26,d17,#25
1830
+ veor d16,d24,d25
1831
+ vadd.i64 d27,d28
1832
+ vbsl d30,d19,d18 @ Maj(a,b,c)
1833
+ veor d16,d26 @ Sigma0(a)
1834
+ vadd.i64 d20,d27
1835
+ vadd.i64 d30,d27
1836
+ @ vadd.i64 d16,d30
1837
+ bne .L16_79_neon
1838
+
1839
+ vadd.i64 d16,d30 @ h+=Maj from the past
1840
+ vldmia r0,{d24,d25,d26,d27,d28,d29,d30,d31} @ load context to temp
1841
+ vadd.i64 q8,q12 @ vectorized accumulate
1842
+ vadd.i64 q9,q13
1843
+ vadd.i64 q10,q14
1844
+ vadd.i64 q11,q15
1845
+ vstmia r0,{d16,d17,d18,d19,d20,d21,d22,d23} @ save context
1846
+ teq r1,r2
1847
+ sub r3,#640 @ rewind K512
1848
+ bne .Loop_neon
1849
+
1850
+ VFP_ABI_POP
1851
+ bx lr @ .word 0xe12fff1e
1852
+ .size sha512_block_data_order_neon,.-sha512_block_data_order_neon
1853
+ #endif
1854
+ .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,52,47,78,69,79,78,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
1855
+ .align 2
1856
+ .align 2
1857
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_ARM) && defined(__ELF__)