visaljs 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1450 @@
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
+ @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both
8
+ @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions.
9
+ .arch armv7-a
10
+
11
+ .text
12
+ #if defined(__thumb2__) || defined(__clang__)
13
+ .syntax unified
14
+ #endif
15
+ #if defined(__thumb2__)
16
+ .thumb
17
+ #else
18
+ .code 32
19
+ #endif
20
+
21
+ #if defined(__thumb2__) || defined(__clang__)
22
+ #define ldrhsb ldrbhs
23
+ #endif
24
+
25
+ .align 5
26
+ chacha_constants:
27
+ .Lsigma:
28
+ .long 0x61707865,0x3320646e,0x79622d32,0x6b206574 @ endian-neutral
29
+ .Lone:
30
+ .long 1,0,0,0
31
+
32
+ .globl ChaCha20_ctr32_nohw
33
+ .hidden ChaCha20_ctr32_nohw
34
+ .type ChaCha20_ctr32_nohw,%function
35
+ .align 5
36
+ ChaCha20_ctr32_nohw:
37
+ ldr r12,[sp,#0] @ pull pointer to counter and nonce
38
+ stmdb sp!,{r0,r1,r2,r4-r11,lr}
39
+ adr r14,.Lsigma
40
+ ldmia r12,{r4,r5,r6,r7} @ load counter and nonce
41
+ sub sp,sp,#4*(16) @ off-load area
42
+ stmdb sp!,{r4,r5,r6,r7} @ copy counter and nonce
43
+ ldmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} @ load key
44
+ ldmia r14,{r0,r1,r2,r3} @ load sigma
45
+ stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy key
46
+ stmdb sp!,{r0,r1,r2,r3} @ copy sigma
47
+ str r10,[sp,#4*(16+10)] @ off-load "rx"
48
+ str r11,[sp,#4*(16+11)] @ off-load "rx"
49
+ b .Loop_outer_enter
50
+
51
+ .align 4
52
+ .Loop_outer:
53
+ ldmia sp,{r0,r1,r2,r3,r4,r5,r6,r7,r8,r9} @ load key material
54
+ str r11,[sp,#4*(32+2)] @ save len
55
+ str r12, [sp,#4*(32+1)] @ save inp
56
+ str r14, [sp,#4*(32+0)] @ save out
57
+ .Loop_outer_enter:
58
+ ldr r11, [sp,#4*(15)]
59
+ ldr r12,[sp,#4*(12)] @ modulo-scheduled load
60
+ ldr r10, [sp,#4*(13)]
61
+ ldr r14,[sp,#4*(14)]
62
+ str r11, [sp,#4*(16+15)]
63
+ mov r11,#10
64
+ b .Loop
65
+
66
+ .align 4
67
+ .Loop:
68
+ subs r11,r11,#1
69
+ add r0,r0,r4
70
+ mov r12,r12,ror#16
71
+ add r1,r1,r5
72
+ mov r10,r10,ror#16
73
+ eor r12,r12,r0,ror#16
74
+ eor r10,r10,r1,ror#16
75
+ add r8,r8,r12
76
+ mov r4,r4,ror#20
77
+ add r9,r9,r10
78
+ mov r5,r5,ror#20
79
+ eor r4,r4,r8,ror#20
80
+ eor r5,r5,r9,ror#20
81
+ add r0,r0,r4
82
+ mov r12,r12,ror#24
83
+ add r1,r1,r5
84
+ mov r10,r10,ror#24
85
+ eor r12,r12,r0,ror#24
86
+ eor r10,r10,r1,ror#24
87
+ add r8,r8,r12
88
+ mov r4,r4,ror#25
89
+ add r9,r9,r10
90
+ mov r5,r5,ror#25
91
+ str r10,[sp,#4*(16+13)]
92
+ ldr r10,[sp,#4*(16+15)]
93
+ eor r4,r4,r8,ror#25
94
+ eor r5,r5,r9,ror#25
95
+ str r8,[sp,#4*(16+8)]
96
+ ldr r8,[sp,#4*(16+10)]
97
+ add r2,r2,r6
98
+ mov r14,r14,ror#16
99
+ str r9,[sp,#4*(16+9)]
100
+ ldr r9,[sp,#4*(16+11)]
101
+ add r3,r3,r7
102
+ mov r10,r10,ror#16
103
+ eor r14,r14,r2,ror#16
104
+ eor r10,r10,r3,ror#16
105
+ add r8,r8,r14
106
+ mov r6,r6,ror#20
107
+ add r9,r9,r10
108
+ mov r7,r7,ror#20
109
+ eor r6,r6,r8,ror#20
110
+ eor r7,r7,r9,ror#20
111
+ add r2,r2,r6
112
+ mov r14,r14,ror#24
113
+ add r3,r3,r7
114
+ mov r10,r10,ror#24
115
+ eor r14,r14,r2,ror#24
116
+ eor r10,r10,r3,ror#24
117
+ add r8,r8,r14
118
+ mov r6,r6,ror#25
119
+ add r9,r9,r10
120
+ mov r7,r7,ror#25
121
+ eor r6,r6,r8,ror#25
122
+ eor r7,r7,r9,ror#25
123
+ add r0,r0,r5
124
+ mov r10,r10,ror#16
125
+ add r1,r1,r6
126
+ mov r12,r12,ror#16
127
+ eor r10,r10,r0,ror#16
128
+ eor r12,r12,r1,ror#16
129
+ add r8,r8,r10
130
+ mov r5,r5,ror#20
131
+ add r9,r9,r12
132
+ mov r6,r6,ror#20
133
+ eor r5,r5,r8,ror#20
134
+ eor r6,r6,r9,ror#20
135
+ add r0,r0,r5
136
+ mov r10,r10,ror#24
137
+ add r1,r1,r6
138
+ mov r12,r12,ror#24
139
+ eor r10,r10,r0,ror#24
140
+ eor r12,r12,r1,ror#24
141
+ add r8,r8,r10
142
+ mov r5,r5,ror#25
143
+ str r10,[sp,#4*(16+15)]
144
+ ldr r10,[sp,#4*(16+13)]
145
+ add r9,r9,r12
146
+ mov r6,r6,ror#25
147
+ eor r5,r5,r8,ror#25
148
+ eor r6,r6,r9,ror#25
149
+ str r8,[sp,#4*(16+10)]
150
+ ldr r8,[sp,#4*(16+8)]
151
+ add r2,r2,r7
152
+ mov r10,r10,ror#16
153
+ str r9,[sp,#4*(16+11)]
154
+ ldr r9,[sp,#4*(16+9)]
155
+ add r3,r3,r4
156
+ mov r14,r14,ror#16
157
+ eor r10,r10,r2,ror#16
158
+ eor r14,r14,r3,ror#16
159
+ add r8,r8,r10
160
+ mov r7,r7,ror#20
161
+ add r9,r9,r14
162
+ mov r4,r4,ror#20
163
+ eor r7,r7,r8,ror#20
164
+ eor r4,r4,r9,ror#20
165
+ add r2,r2,r7
166
+ mov r10,r10,ror#24
167
+ add r3,r3,r4
168
+ mov r14,r14,ror#24
169
+ eor r10,r10,r2,ror#24
170
+ eor r14,r14,r3,ror#24
171
+ add r8,r8,r10
172
+ mov r7,r7,ror#25
173
+ add r9,r9,r14
174
+ mov r4,r4,ror#25
175
+ eor r7,r7,r8,ror#25
176
+ eor r4,r4,r9,ror#25
177
+ bne .Loop
178
+
179
+ ldr r11,[sp,#4*(32+2)] @ load len
180
+
181
+ str r8, [sp,#4*(16+8)] @ modulo-scheduled store
182
+ str r9, [sp,#4*(16+9)]
183
+ str r12,[sp,#4*(16+12)]
184
+ str r10, [sp,#4*(16+13)]
185
+ str r14,[sp,#4*(16+14)]
186
+
187
+ @ at this point we have first half of 512-bit result in
188
+ @ rx and second half at sp+4*(16+8)
189
+
190
+ cmp r11,#64 @ done yet?
191
+ #ifdef __thumb2__
192
+ itete lo
193
+ #endif
194
+ addlo r12,sp,#4*(0) @ shortcut or ...
195
+ ldrhs r12,[sp,#4*(32+1)] @ ... load inp
196
+ addlo r14,sp,#4*(0) @ shortcut or ...
197
+ ldrhs r14,[sp,#4*(32+0)] @ ... load out
198
+
199
+ ldr r8,[sp,#4*(0)] @ load key material
200
+ ldr r9,[sp,#4*(1)]
201
+
202
+ #if __ARM_ARCH>=6 || !defined(__ARMEB__)
203
+ # if __ARM_ARCH<7
204
+ orr r10,r12,r14
205
+ tst r10,#3 @ are input and output aligned?
206
+ ldr r10,[sp,#4*(2)]
207
+ bne .Lunaligned
208
+ cmp r11,#64 @ restore flags
209
+ # else
210
+ ldr r10,[sp,#4*(2)]
211
+ # endif
212
+ ldr r11,[sp,#4*(3)]
213
+
214
+ add r0,r0,r8 @ accumulate key material
215
+ add r1,r1,r9
216
+ # ifdef __thumb2__
217
+ itt hs
218
+ # endif
219
+ ldrhs r8,[r12],#16 @ load input
220
+ ldrhs r9,[r12,#-12]
221
+
222
+ add r2,r2,r10
223
+ add r3,r3,r11
224
+ # ifdef __thumb2__
225
+ itt hs
226
+ # endif
227
+ ldrhs r10,[r12,#-8]
228
+ ldrhs r11,[r12,#-4]
229
+ # if __ARM_ARCH>=6 && defined(__ARMEB__)
230
+ rev r0,r0
231
+ rev r1,r1
232
+ rev r2,r2
233
+ rev r3,r3
234
+ # endif
235
+ # ifdef __thumb2__
236
+ itt hs
237
+ # endif
238
+ eorhs r0,r0,r8 @ xor with input
239
+ eorhs r1,r1,r9
240
+ add r8,sp,#4*(4)
241
+ str r0,[r14],#16 @ store output
242
+ # ifdef __thumb2__
243
+ itt hs
244
+ # endif
245
+ eorhs r2,r2,r10
246
+ eorhs r3,r3,r11
247
+ ldmia r8,{r8,r9,r10,r11} @ load key material
248
+ str r1,[r14,#-12]
249
+ str r2,[r14,#-8]
250
+ str r3,[r14,#-4]
251
+
252
+ add r4,r4,r8 @ accumulate key material
253
+ add r5,r5,r9
254
+ # ifdef __thumb2__
255
+ itt hs
256
+ # endif
257
+ ldrhs r8,[r12],#16 @ load input
258
+ ldrhs r9,[r12,#-12]
259
+ add r6,r6,r10
260
+ add r7,r7,r11
261
+ # ifdef __thumb2__
262
+ itt hs
263
+ # endif
264
+ ldrhs r10,[r12,#-8]
265
+ ldrhs r11,[r12,#-4]
266
+ # if __ARM_ARCH>=6 && defined(__ARMEB__)
267
+ rev r4,r4
268
+ rev r5,r5
269
+ rev r6,r6
270
+ rev r7,r7
271
+ # endif
272
+ # ifdef __thumb2__
273
+ itt hs
274
+ # endif
275
+ eorhs r4,r4,r8
276
+ eorhs r5,r5,r9
277
+ add r8,sp,#4*(8)
278
+ str r4,[r14],#16 @ store output
279
+ # ifdef __thumb2__
280
+ itt hs
281
+ # endif
282
+ eorhs r6,r6,r10
283
+ eorhs r7,r7,r11
284
+ str r5,[r14,#-12]
285
+ ldmia r8,{r8,r9,r10,r11} @ load key material
286
+ str r6,[r14,#-8]
287
+ add r0,sp,#4*(16+8)
288
+ str r7,[r14,#-4]
289
+
290
+ ldmia r0,{r0,r1,r2,r3,r4,r5,r6,r7} @ load second half
291
+
292
+ add r0,r0,r8 @ accumulate key material
293
+ add r1,r1,r9
294
+ # ifdef __thumb2__
295
+ itt hs
296
+ # endif
297
+ ldrhs r8,[r12],#16 @ load input
298
+ ldrhs r9,[r12,#-12]
299
+ # ifdef __thumb2__
300
+ itt hi
301
+ # endif
302
+ strhi r10,[sp,#4*(16+10)] @ copy "rx" while at it
303
+ strhi r11,[sp,#4*(16+11)] @ copy "rx" while at it
304
+ add r2,r2,r10
305
+ add r3,r3,r11
306
+ # ifdef __thumb2__
307
+ itt hs
308
+ # endif
309
+ ldrhs r10,[r12,#-8]
310
+ ldrhs r11,[r12,#-4]
311
+ # if __ARM_ARCH>=6 && defined(__ARMEB__)
312
+ rev r0,r0
313
+ rev r1,r1
314
+ rev r2,r2
315
+ rev r3,r3
316
+ # endif
317
+ # ifdef __thumb2__
318
+ itt hs
319
+ # endif
320
+ eorhs r0,r0,r8
321
+ eorhs r1,r1,r9
322
+ add r8,sp,#4*(12)
323
+ str r0,[r14],#16 @ store output
324
+ # ifdef __thumb2__
325
+ itt hs
326
+ # endif
327
+ eorhs r2,r2,r10
328
+ eorhs r3,r3,r11
329
+ str r1,[r14,#-12]
330
+ ldmia r8,{r8,r9,r10,r11} @ load key material
331
+ str r2,[r14,#-8]
332
+ str r3,[r14,#-4]
333
+
334
+ add r4,r4,r8 @ accumulate key material
335
+ add r5,r5,r9
336
+ # ifdef __thumb2__
337
+ itt hi
338
+ # endif
339
+ addhi r8,r8,#1 @ next counter value
340
+ strhi r8,[sp,#4*(12)] @ save next counter value
341
+ # ifdef __thumb2__
342
+ itt hs
343
+ # endif
344
+ ldrhs r8,[r12],#16 @ load input
345
+ ldrhs r9,[r12,#-12]
346
+ add r6,r6,r10
347
+ add r7,r7,r11
348
+ # ifdef __thumb2__
349
+ itt hs
350
+ # endif
351
+ ldrhs r10,[r12,#-8]
352
+ ldrhs r11,[r12,#-4]
353
+ # if __ARM_ARCH>=6 && defined(__ARMEB__)
354
+ rev r4,r4
355
+ rev r5,r5
356
+ rev r6,r6
357
+ rev r7,r7
358
+ # endif
359
+ # ifdef __thumb2__
360
+ itt hs
361
+ # endif
362
+ eorhs r4,r4,r8
363
+ eorhs r5,r5,r9
364
+ # ifdef __thumb2__
365
+ it ne
366
+ # endif
367
+ ldrne r8,[sp,#4*(32+2)] @ re-load len
368
+ # ifdef __thumb2__
369
+ itt hs
370
+ # endif
371
+ eorhs r6,r6,r10
372
+ eorhs r7,r7,r11
373
+ str r4,[r14],#16 @ store output
374
+ str r5,[r14,#-12]
375
+ # ifdef __thumb2__
376
+ it hs
377
+ # endif
378
+ subhs r11,r8,#64 @ len-=64
379
+ str r6,[r14,#-8]
380
+ str r7,[r14,#-4]
381
+ bhi .Loop_outer
382
+
383
+ beq .Ldone
384
+ # if __ARM_ARCH<7
385
+ b .Ltail
386
+
387
+ .align 4
388
+ .Lunaligned:@ unaligned endian-neutral path
389
+ cmp r11,#64 @ restore flags
390
+ # endif
391
+ #endif
392
+ #if __ARM_ARCH<7
393
+ ldr r11,[sp,#4*(3)]
394
+ add r0,r0,r8 @ accumulate key material
395
+ add r1,r1,r9
396
+ add r2,r2,r10
397
+ # ifdef __thumb2__
398
+ itete lo
399
+ # endif
400
+ eorlo r8,r8,r8 @ zero or ...
401
+ ldrhsb r8,[r12],#16 @ ... load input
402
+ eorlo r9,r9,r9
403
+ ldrhsb r9,[r12,#-12]
404
+
405
+ add r3,r3,r11
406
+ # ifdef __thumb2__
407
+ itete lo
408
+ # endif
409
+ eorlo r10,r10,r10
410
+ ldrhsb r10,[r12,#-8]
411
+ eorlo r11,r11,r11
412
+ ldrhsb r11,[r12,#-4]
413
+
414
+ eor r0,r8,r0 @ xor with input (or zero)
415
+ eor r1,r9,r1
416
+ # ifdef __thumb2__
417
+ itt hs
418
+ # endif
419
+ ldrhsb r8,[r12,#-15] @ load more input
420
+ ldrhsb r9,[r12,#-11]
421
+ eor r2,r10,r2
422
+ strb r0,[r14],#16 @ store output
423
+ eor r3,r11,r3
424
+ # ifdef __thumb2__
425
+ itt hs
426
+ # endif
427
+ ldrhsb r10,[r12,#-7]
428
+ ldrhsb r11,[r12,#-3]
429
+ strb r1,[r14,#-12]
430
+ eor r0,r8,r0,lsr#8
431
+ strb r2,[r14,#-8]
432
+ eor r1,r9,r1,lsr#8
433
+ # ifdef __thumb2__
434
+ itt hs
435
+ # endif
436
+ ldrhsb r8,[r12,#-14] @ load more input
437
+ ldrhsb r9,[r12,#-10]
438
+ strb r3,[r14,#-4]
439
+ eor r2,r10,r2,lsr#8
440
+ strb r0,[r14,#-15]
441
+ eor r3,r11,r3,lsr#8
442
+ # ifdef __thumb2__
443
+ itt hs
444
+ # endif
445
+ ldrhsb r10,[r12,#-6]
446
+ ldrhsb r11,[r12,#-2]
447
+ strb r1,[r14,#-11]
448
+ eor r0,r8,r0,lsr#8
449
+ strb r2,[r14,#-7]
450
+ eor r1,r9,r1,lsr#8
451
+ # ifdef __thumb2__
452
+ itt hs
453
+ # endif
454
+ ldrhsb r8,[r12,#-13] @ load more input
455
+ ldrhsb r9,[r12,#-9]
456
+ strb r3,[r14,#-3]
457
+ eor r2,r10,r2,lsr#8
458
+ strb r0,[r14,#-14]
459
+ eor r3,r11,r3,lsr#8
460
+ # ifdef __thumb2__
461
+ itt hs
462
+ # endif
463
+ ldrhsb r10,[r12,#-5]
464
+ ldrhsb r11,[r12,#-1]
465
+ strb r1,[r14,#-10]
466
+ strb r2,[r14,#-6]
467
+ eor r0,r8,r0,lsr#8
468
+ strb r3,[r14,#-2]
469
+ eor r1,r9,r1,lsr#8
470
+ strb r0,[r14,#-13]
471
+ eor r2,r10,r2,lsr#8
472
+ strb r1,[r14,#-9]
473
+ eor r3,r11,r3,lsr#8
474
+ strb r2,[r14,#-5]
475
+ strb r3,[r14,#-1]
476
+ add r8,sp,#4*(4+0)
477
+ ldmia r8,{r8,r9,r10,r11} @ load key material
478
+ add r0,sp,#4*(16+8)
479
+ add r4,r4,r8 @ accumulate key material
480
+ add r5,r5,r9
481
+ add r6,r6,r10
482
+ # ifdef __thumb2__
483
+ itete lo
484
+ # endif
485
+ eorlo r8,r8,r8 @ zero or ...
486
+ ldrhsb r8,[r12],#16 @ ... load input
487
+ eorlo r9,r9,r9
488
+ ldrhsb r9,[r12,#-12]
489
+
490
+ add r7,r7,r11
491
+ # ifdef __thumb2__
492
+ itete lo
493
+ # endif
494
+ eorlo r10,r10,r10
495
+ ldrhsb r10,[r12,#-8]
496
+ eorlo r11,r11,r11
497
+ ldrhsb r11,[r12,#-4]
498
+
499
+ eor r4,r8,r4 @ xor with input (or zero)
500
+ eor r5,r9,r5
501
+ # ifdef __thumb2__
502
+ itt hs
503
+ # endif
504
+ ldrhsb r8,[r12,#-15] @ load more input
505
+ ldrhsb r9,[r12,#-11]
506
+ eor r6,r10,r6
507
+ strb r4,[r14],#16 @ store output
508
+ eor r7,r11,r7
509
+ # ifdef __thumb2__
510
+ itt hs
511
+ # endif
512
+ ldrhsb r10,[r12,#-7]
513
+ ldrhsb r11,[r12,#-3]
514
+ strb r5,[r14,#-12]
515
+ eor r4,r8,r4,lsr#8
516
+ strb r6,[r14,#-8]
517
+ eor r5,r9,r5,lsr#8
518
+ # ifdef __thumb2__
519
+ itt hs
520
+ # endif
521
+ ldrhsb r8,[r12,#-14] @ load more input
522
+ ldrhsb r9,[r12,#-10]
523
+ strb r7,[r14,#-4]
524
+ eor r6,r10,r6,lsr#8
525
+ strb r4,[r14,#-15]
526
+ eor r7,r11,r7,lsr#8
527
+ # ifdef __thumb2__
528
+ itt hs
529
+ # endif
530
+ ldrhsb r10,[r12,#-6]
531
+ ldrhsb r11,[r12,#-2]
532
+ strb r5,[r14,#-11]
533
+ eor r4,r8,r4,lsr#8
534
+ strb r6,[r14,#-7]
535
+ eor r5,r9,r5,lsr#8
536
+ # ifdef __thumb2__
537
+ itt hs
538
+ # endif
539
+ ldrhsb r8,[r12,#-13] @ load more input
540
+ ldrhsb r9,[r12,#-9]
541
+ strb r7,[r14,#-3]
542
+ eor r6,r10,r6,lsr#8
543
+ strb r4,[r14,#-14]
544
+ eor r7,r11,r7,lsr#8
545
+ # ifdef __thumb2__
546
+ itt hs
547
+ # endif
548
+ ldrhsb r10,[r12,#-5]
549
+ ldrhsb r11,[r12,#-1]
550
+ strb r5,[r14,#-10]
551
+ strb r6,[r14,#-6]
552
+ eor r4,r8,r4,lsr#8
553
+ strb r7,[r14,#-2]
554
+ eor r5,r9,r5,lsr#8
555
+ strb r4,[r14,#-13]
556
+ eor r6,r10,r6,lsr#8
557
+ strb r5,[r14,#-9]
558
+ eor r7,r11,r7,lsr#8
559
+ strb r6,[r14,#-5]
560
+ strb r7,[r14,#-1]
561
+ add r8,sp,#4*(4+4)
562
+ ldmia r8,{r8,r9,r10,r11} @ load key material
563
+ ldmia r0,{r0,r1,r2,r3,r4,r5,r6,r7} @ load second half
564
+ # ifdef __thumb2__
565
+ itt hi
566
+ # endif
567
+ strhi r10,[sp,#4*(16+10)] @ copy "rx"
568
+ strhi r11,[sp,#4*(16+11)] @ copy "rx"
569
+ add r0,r0,r8 @ accumulate key material
570
+ add r1,r1,r9
571
+ add r2,r2,r10
572
+ # ifdef __thumb2__
573
+ itete lo
574
+ # endif
575
+ eorlo r8,r8,r8 @ zero or ...
576
+ ldrhsb r8,[r12],#16 @ ... load input
577
+ eorlo r9,r9,r9
578
+ ldrhsb r9,[r12,#-12]
579
+
580
+ add r3,r3,r11
581
+ # ifdef __thumb2__
582
+ itete lo
583
+ # endif
584
+ eorlo r10,r10,r10
585
+ ldrhsb r10,[r12,#-8]
586
+ eorlo r11,r11,r11
587
+ ldrhsb r11,[r12,#-4]
588
+
589
+ eor r0,r8,r0 @ xor with input (or zero)
590
+ eor r1,r9,r1
591
+ # ifdef __thumb2__
592
+ itt hs
593
+ # endif
594
+ ldrhsb r8,[r12,#-15] @ load more input
595
+ ldrhsb r9,[r12,#-11]
596
+ eor r2,r10,r2
597
+ strb r0,[r14],#16 @ store output
598
+ eor r3,r11,r3
599
+ # ifdef __thumb2__
600
+ itt hs
601
+ # endif
602
+ ldrhsb r10,[r12,#-7]
603
+ ldrhsb r11,[r12,#-3]
604
+ strb r1,[r14,#-12]
605
+ eor r0,r8,r0,lsr#8
606
+ strb r2,[r14,#-8]
607
+ eor r1,r9,r1,lsr#8
608
+ # ifdef __thumb2__
609
+ itt hs
610
+ # endif
611
+ ldrhsb r8,[r12,#-14] @ load more input
612
+ ldrhsb r9,[r12,#-10]
613
+ strb r3,[r14,#-4]
614
+ eor r2,r10,r2,lsr#8
615
+ strb r0,[r14,#-15]
616
+ eor r3,r11,r3,lsr#8
617
+ # ifdef __thumb2__
618
+ itt hs
619
+ # endif
620
+ ldrhsb r10,[r12,#-6]
621
+ ldrhsb r11,[r12,#-2]
622
+ strb r1,[r14,#-11]
623
+ eor r0,r8,r0,lsr#8
624
+ strb r2,[r14,#-7]
625
+ eor r1,r9,r1,lsr#8
626
+ # ifdef __thumb2__
627
+ itt hs
628
+ # endif
629
+ ldrhsb r8,[r12,#-13] @ load more input
630
+ ldrhsb r9,[r12,#-9]
631
+ strb r3,[r14,#-3]
632
+ eor r2,r10,r2,lsr#8
633
+ strb r0,[r14,#-14]
634
+ eor r3,r11,r3,lsr#8
635
+ # ifdef __thumb2__
636
+ itt hs
637
+ # endif
638
+ ldrhsb r10,[r12,#-5]
639
+ ldrhsb r11,[r12,#-1]
640
+ strb r1,[r14,#-10]
641
+ strb r2,[r14,#-6]
642
+ eor r0,r8,r0,lsr#8
643
+ strb r3,[r14,#-2]
644
+ eor r1,r9,r1,lsr#8
645
+ strb r0,[r14,#-13]
646
+ eor r2,r10,r2,lsr#8
647
+ strb r1,[r14,#-9]
648
+ eor r3,r11,r3,lsr#8
649
+ strb r2,[r14,#-5]
650
+ strb r3,[r14,#-1]
651
+ add r8,sp,#4*(4+8)
652
+ ldmia r8,{r8,r9,r10,r11} @ load key material
653
+ add r4,r4,r8 @ accumulate key material
654
+ # ifdef __thumb2__
655
+ itt hi
656
+ # endif
657
+ addhi r8,r8,#1 @ next counter value
658
+ strhi r8,[sp,#4*(12)] @ save next counter value
659
+ add r5,r5,r9
660
+ add r6,r6,r10
661
+ # ifdef __thumb2__
662
+ itete lo
663
+ # endif
664
+ eorlo r8,r8,r8 @ zero or ...
665
+ ldrhsb r8,[r12],#16 @ ... load input
666
+ eorlo r9,r9,r9
667
+ ldrhsb r9,[r12,#-12]
668
+
669
+ add r7,r7,r11
670
+ # ifdef __thumb2__
671
+ itete lo
672
+ # endif
673
+ eorlo r10,r10,r10
674
+ ldrhsb r10,[r12,#-8]
675
+ eorlo r11,r11,r11
676
+ ldrhsb r11,[r12,#-4]
677
+
678
+ eor r4,r8,r4 @ xor with input (or zero)
679
+ eor r5,r9,r5
680
+ # ifdef __thumb2__
681
+ itt hs
682
+ # endif
683
+ ldrhsb r8,[r12,#-15] @ load more input
684
+ ldrhsb r9,[r12,#-11]
685
+ eor r6,r10,r6
686
+ strb r4,[r14],#16 @ store output
687
+ eor r7,r11,r7
688
+ # ifdef __thumb2__
689
+ itt hs
690
+ # endif
691
+ ldrhsb r10,[r12,#-7]
692
+ ldrhsb r11,[r12,#-3]
693
+ strb r5,[r14,#-12]
694
+ eor r4,r8,r4,lsr#8
695
+ strb r6,[r14,#-8]
696
+ eor r5,r9,r5,lsr#8
697
+ # ifdef __thumb2__
698
+ itt hs
699
+ # endif
700
+ ldrhsb r8,[r12,#-14] @ load more input
701
+ ldrhsb r9,[r12,#-10]
702
+ strb r7,[r14,#-4]
703
+ eor r6,r10,r6,lsr#8
704
+ strb r4,[r14,#-15]
705
+ eor r7,r11,r7,lsr#8
706
+ # ifdef __thumb2__
707
+ itt hs
708
+ # endif
709
+ ldrhsb r10,[r12,#-6]
710
+ ldrhsb r11,[r12,#-2]
711
+ strb r5,[r14,#-11]
712
+ eor r4,r8,r4,lsr#8
713
+ strb r6,[r14,#-7]
714
+ eor r5,r9,r5,lsr#8
715
+ # ifdef __thumb2__
716
+ itt hs
717
+ # endif
718
+ ldrhsb r8,[r12,#-13] @ load more input
719
+ ldrhsb r9,[r12,#-9]
720
+ strb r7,[r14,#-3]
721
+ eor r6,r10,r6,lsr#8
722
+ strb r4,[r14,#-14]
723
+ eor r7,r11,r7,lsr#8
724
+ # ifdef __thumb2__
725
+ itt hs
726
+ # endif
727
+ ldrhsb r10,[r12,#-5]
728
+ ldrhsb r11,[r12,#-1]
729
+ strb r5,[r14,#-10]
730
+ strb r6,[r14,#-6]
731
+ eor r4,r8,r4,lsr#8
732
+ strb r7,[r14,#-2]
733
+ eor r5,r9,r5,lsr#8
734
+ strb r4,[r14,#-13]
735
+ eor r6,r10,r6,lsr#8
736
+ strb r5,[r14,#-9]
737
+ eor r7,r11,r7,lsr#8
738
+ strb r6,[r14,#-5]
739
+ strb r7,[r14,#-1]
740
+ # ifdef __thumb2__
741
+ it ne
742
+ # endif
743
+ ldrne r8,[sp,#4*(32+2)] @ re-load len
744
+ # ifdef __thumb2__
745
+ it hs
746
+ # endif
747
+ subhs r11,r8,#64 @ len-=64
748
+ bhi .Loop_outer
749
+
750
+ beq .Ldone
751
+ #endif
752
+
753
+ .Ltail:
754
+ ldr r12,[sp,#4*(32+1)] @ load inp
755
+ add r9,sp,#4*(0)
756
+ ldr r14,[sp,#4*(32+0)] @ load out
757
+
758
+ .Loop_tail:
759
+ ldrb r10,[r9],#1 @ read buffer on stack
760
+ ldrb r11,[r12],#1 @ read input
761
+ subs r8,r8,#1
762
+ eor r11,r11,r10
763
+ strb r11,[r14],#1 @ store output
764
+ bne .Loop_tail
765
+
766
+ .Ldone:
767
+ add sp,sp,#4*(32+3)
768
+ ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
769
+ .size ChaCha20_ctr32_nohw,.-ChaCha20_ctr32_nohw
770
+ #if __ARM_MAX_ARCH__>=7
771
+ .arch armv7-a
772
+ .fpu neon
773
+
774
+ .globl ChaCha20_ctr32_neon
775
+ .hidden ChaCha20_ctr32_neon
776
+ .type ChaCha20_ctr32_neon,%function
777
+ .align 5
778
+ ChaCha20_ctr32_neon:
779
+ ldr r12,[sp,#0] @ pull pointer to counter and nonce
780
+ stmdb sp!,{r0,r1,r2,r4-r11,lr}
781
+ adr r14,.Lsigma
782
+ vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI spec says so
783
+ stmdb sp!,{r0,r1,r2,r3}
784
+
785
+ vld1.32 {q1,q2},[r3] @ load key
786
+ ldmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} @ load key
787
+
788
+ sub sp,sp,#4*(16+16)
789
+ vld1.32 {q3},[r12] @ load counter and nonce
790
+ add r12,sp,#4*8
791
+ ldmia r14,{r0,r1,r2,r3} @ load sigma
792
+ vld1.32 {q0},[r14]! @ load sigma
793
+ vld1.32 {q12},[r14] @ one
794
+ vst1.32 {q2,q3},[r12] @ copy 1/2key|counter|nonce
795
+ vst1.32 {q0,q1},[sp] @ copy sigma|1/2key
796
+
797
+ str r10,[sp,#4*(16+10)] @ off-load "rx"
798
+ str r11,[sp,#4*(16+11)] @ off-load "rx"
799
+ vshl.i32 d26,d24,#1 @ two
800
+ vstr d24,[sp,#4*(16+0)]
801
+ vshl.i32 d28,d24,#2 @ four
802
+ vstr d26,[sp,#4*(16+2)]
803
+ vmov q4,q0
804
+ vstr d28,[sp,#4*(16+4)]
805
+ vmov q8,q0
806
+ vmov q5,q1
807
+ vmov q9,q1
808
+ b .Loop_neon_enter
809
+
810
+ .align 4
811
+ .Loop_neon_outer:
812
+ ldmia sp,{r0,r1,r2,r3,r4,r5,r6,r7,r8,r9} @ load key material
813
+ cmp r11,#64*2 @ if len<=64*2
814
+ bls .Lbreak_neon @ switch to integer-only
815
+ vmov q4,q0
816
+ str r11,[sp,#4*(32+2)] @ save len
817
+ vmov q8,q0
818
+ str r12, [sp,#4*(32+1)] @ save inp
819
+ vmov q5,q1
820
+ str r14, [sp,#4*(32+0)] @ save out
821
+ vmov q9,q1
822
+ .Loop_neon_enter:
823
+ ldr r11, [sp,#4*(15)]
824
+ vadd.i32 q7,q3,q12 @ counter+1
825
+ ldr r12,[sp,#4*(12)] @ modulo-scheduled load
826
+ vmov q6,q2
827
+ ldr r10, [sp,#4*(13)]
828
+ vmov q10,q2
829
+ ldr r14,[sp,#4*(14)]
830
+ vadd.i32 q11,q7,q12 @ counter+2
831
+ str r11, [sp,#4*(16+15)]
832
+ mov r11,#10
833
+ add r12,r12,#3 @ counter+3
834
+ b .Loop_neon
835
+
836
+ .align 4
837
+ .Loop_neon:
838
+ subs r11,r11,#1
839
+ vadd.i32 q0,q0,q1
840
+ add r0,r0,r4
841
+ vadd.i32 q4,q4,q5
842
+ mov r12,r12,ror#16
843
+ vadd.i32 q8,q8,q9
844
+ add r1,r1,r5
845
+ veor q3,q3,q0
846
+ mov r10,r10,ror#16
847
+ veor q7,q7,q4
848
+ eor r12,r12,r0,ror#16
849
+ veor q11,q11,q8
850
+ eor r10,r10,r1,ror#16
851
+ vrev32.16 q3,q3
852
+ add r8,r8,r12
853
+ vrev32.16 q7,q7
854
+ mov r4,r4,ror#20
855
+ vrev32.16 q11,q11
856
+ add r9,r9,r10
857
+ vadd.i32 q2,q2,q3
858
+ mov r5,r5,ror#20
859
+ vadd.i32 q6,q6,q7
860
+ eor r4,r4,r8,ror#20
861
+ vadd.i32 q10,q10,q11
862
+ eor r5,r5,r9,ror#20
863
+ veor q12,q1,q2
864
+ add r0,r0,r4
865
+ veor q13,q5,q6
866
+ mov r12,r12,ror#24
867
+ veor q14,q9,q10
868
+ add r1,r1,r5
869
+ vshr.u32 q1,q12,#20
870
+ mov r10,r10,ror#24
871
+ vshr.u32 q5,q13,#20
872
+ eor r12,r12,r0,ror#24
873
+ vshr.u32 q9,q14,#20
874
+ eor r10,r10,r1,ror#24
875
+ vsli.32 q1,q12,#12
876
+ add r8,r8,r12
877
+ vsli.32 q5,q13,#12
878
+ mov r4,r4,ror#25
879
+ vsli.32 q9,q14,#12
880
+ add r9,r9,r10
881
+ vadd.i32 q0,q0,q1
882
+ mov r5,r5,ror#25
883
+ vadd.i32 q4,q4,q5
884
+ str r10,[sp,#4*(16+13)]
885
+ vadd.i32 q8,q8,q9
886
+ ldr r10,[sp,#4*(16+15)]
887
+ veor q12,q3,q0
888
+ eor r4,r4,r8,ror#25
889
+ veor q13,q7,q4
890
+ eor r5,r5,r9,ror#25
891
+ veor q14,q11,q8
892
+ str r8,[sp,#4*(16+8)]
893
+ vshr.u32 q3,q12,#24
894
+ ldr r8,[sp,#4*(16+10)]
895
+ vshr.u32 q7,q13,#24
896
+ add r2,r2,r6
897
+ vshr.u32 q11,q14,#24
898
+ mov r14,r14,ror#16
899
+ vsli.32 q3,q12,#8
900
+ str r9,[sp,#4*(16+9)]
901
+ vsli.32 q7,q13,#8
902
+ ldr r9,[sp,#4*(16+11)]
903
+ vsli.32 q11,q14,#8
904
+ add r3,r3,r7
905
+ vadd.i32 q2,q2,q3
906
+ mov r10,r10,ror#16
907
+ vadd.i32 q6,q6,q7
908
+ eor r14,r14,r2,ror#16
909
+ vadd.i32 q10,q10,q11
910
+ eor r10,r10,r3,ror#16
911
+ veor q12,q1,q2
912
+ add r8,r8,r14
913
+ veor q13,q5,q6
914
+ mov r6,r6,ror#20
915
+ veor q14,q9,q10
916
+ add r9,r9,r10
917
+ vshr.u32 q1,q12,#25
918
+ mov r7,r7,ror#20
919
+ vshr.u32 q5,q13,#25
920
+ eor r6,r6,r8,ror#20
921
+ vshr.u32 q9,q14,#25
922
+ eor r7,r7,r9,ror#20
923
+ vsli.32 q1,q12,#7
924
+ add r2,r2,r6
925
+ vsli.32 q5,q13,#7
926
+ mov r14,r14,ror#24
927
+ vsli.32 q9,q14,#7
928
+ add r3,r3,r7
929
+ vext.8 q2,q2,q2,#8
930
+ mov r10,r10,ror#24
931
+ vext.8 q6,q6,q6,#8
932
+ eor r14,r14,r2,ror#24
933
+ vext.8 q10,q10,q10,#8
934
+ eor r10,r10,r3,ror#24
935
+ vext.8 q1,q1,q1,#4
936
+ add r8,r8,r14
937
+ vext.8 q5,q5,q5,#4
938
+ mov r6,r6,ror#25
939
+ vext.8 q9,q9,q9,#4
940
+ add r9,r9,r10
941
+ vext.8 q3,q3,q3,#12
942
+ mov r7,r7,ror#25
943
+ vext.8 q7,q7,q7,#12
944
+ eor r6,r6,r8,ror#25
945
+ vext.8 q11,q11,q11,#12
946
+ eor r7,r7,r9,ror#25
947
+ vadd.i32 q0,q0,q1
948
+ add r0,r0,r5
949
+ vadd.i32 q4,q4,q5
950
+ mov r10,r10,ror#16
951
+ vadd.i32 q8,q8,q9
952
+ add r1,r1,r6
953
+ veor q3,q3,q0
954
+ mov r12,r12,ror#16
955
+ veor q7,q7,q4
956
+ eor r10,r10,r0,ror#16
957
+ veor q11,q11,q8
958
+ eor r12,r12,r1,ror#16
959
+ vrev32.16 q3,q3
960
+ add r8,r8,r10
961
+ vrev32.16 q7,q7
962
+ mov r5,r5,ror#20
963
+ vrev32.16 q11,q11
964
+ add r9,r9,r12
965
+ vadd.i32 q2,q2,q3
966
+ mov r6,r6,ror#20
967
+ vadd.i32 q6,q6,q7
968
+ eor r5,r5,r8,ror#20
969
+ vadd.i32 q10,q10,q11
970
+ eor r6,r6,r9,ror#20
971
+ veor q12,q1,q2
972
+ add r0,r0,r5
973
+ veor q13,q5,q6
974
+ mov r10,r10,ror#24
975
+ veor q14,q9,q10
976
+ add r1,r1,r6
977
+ vshr.u32 q1,q12,#20
978
+ mov r12,r12,ror#24
979
+ vshr.u32 q5,q13,#20
980
+ eor r10,r10,r0,ror#24
981
+ vshr.u32 q9,q14,#20
982
+ eor r12,r12,r1,ror#24
983
+ vsli.32 q1,q12,#12
984
+ add r8,r8,r10
985
+ vsli.32 q5,q13,#12
986
+ mov r5,r5,ror#25
987
+ vsli.32 q9,q14,#12
988
+ str r10,[sp,#4*(16+15)]
989
+ vadd.i32 q0,q0,q1
990
+ ldr r10,[sp,#4*(16+13)]
991
+ vadd.i32 q4,q4,q5
992
+ add r9,r9,r12
993
+ vadd.i32 q8,q8,q9
994
+ mov r6,r6,ror#25
995
+ veor q12,q3,q0
996
+ eor r5,r5,r8,ror#25
997
+ veor q13,q7,q4
998
+ eor r6,r6,r9,ror#25
999
+ veor q14,q11,q8
1000
+ str r8,[sp,#4*(16+10)]
1001
+ vshr.u32 q3,q12,#24
1002
+ ldr r8,[sp,#4*(16+8)]
1003
+ vshr.u32 q7,q13,#24
1004
+ add r2,r2,r7
1005
+ vshr.u32 q11,q14,#24
1006
+ mov r10,r10,ror#16
1007
+ vsli.32 q3,q12,#8
1008
+ str r9,[sp,#4*(16+11)]
1009
+ vsli.32 q7,q13,#8
1010
+ ldr r9,[sp,#4*(16+9)]
1011
+ vsli.32 q11,q14,#8
1012
+ add r3,r3,r4
1013
+ vadd.i32 q2,q2,q3
1014
+ mov r14,r14,ror#16
1015
+ vadd.i32 q6,q6,q7
1016
+ eor r10,r10,r2,ror#16
1017
+ vadd.i32 q10,q10,q11
1018
+ eor r14,r14,r3,ror#16
1019
+ veor q12,q1,q2
1020
+ add r8,r8,r10
1021
+ veor q13,q5,q6
1022
+ mov r7,r7,ror#20
1023
+ veor q14,q9,q10
1024
+ add r9,r9,r14
1025
+ vshr.u32 q1,q12,#25
1026
+ mov r4,r4,ror#20
1027
+ vshr.u32 q5,q13,#25
1028
+ eor r7,r7,r8,ror#20
1029
+ vshr.u32 q9,q14,#25
1030
+ eor r4,r4,r9,ror#20
1031
+ vsli.32 q1,q12,#7
1032
+ add r2,r2,r7
1033
+ vsli.32 q5,q13,#7
1034
+ mov r10,r10,ror#24
1035
+ vsli.32 q9,q14,#7
1036
+ add r3,r3,r4
1037
+ vext.8 q2,q2,q2,#8
1038
+ mov r14,r14,ror#24
1039
+ vext.8 q6,q6,q6,#8
1040
+ eor r10,r10,r2,ror#24
1041
+ vext.8 q10,q10,q10,#8
1042
+ eor r14,r14,r3,ror#24
1043
+ vext.8 q1,q1,q1,#12
1044
+ add r8,r8,r10
1045
+ vext.8 q5,q5,q5,#12
1046
+ mov r7,r7,ror#25
1047
+ vext.8 q9,q9,q9,#12
1048
+ add r9,r9,r14
1049
+ vext.8 q3,q3,q3,#4
1050
+ mov r4,r4,ror#25
1051
+ vext.8 q7,q7,q7,#4
1052
+ eor r7,r7,r8,ror#25
1053
+ vext.8 q11,q11,q11,#4
1054
+ eor r4,r4,r9,ror#25
1055
+ bne .Loop_neon
1056
+
1057
+ add r11,sp,#32
1058
+ vld1.32 {q12,q13},[sp] @ load key material
1059
+ vld1.32 {q14,q15},[r11]
1060
+
1061
+ ldr r11,[sp,#4*(32+2)] @ load len
1062
+
1063
+ str r8, [sp,#4*(16+8)] @ modulo-scheduled store
1064
+ str r9, [sp,#4*(16+9)]
1065
+ str r12,[sp,#4*(16+12)]
1066
+ str r10, [sp,#4*(16+13)]
1067
+ str r14,[sp,#4*(16+14)]
1068
+
1069
+ @ at this point we have first half of 512-bit result in
1070
+ @ rx and second half at sp+4*(16+8)
1071
+
1072
+ ldr r12,[sp,#4*(32+1)] @ load inp
1073
+ ldr r14,[sp,#4*(32+0)] @ load out
1074
+
1075
+ vadd.i32 q0,q0,q12 @ accumulate key material
1076
+ vadd.i32 q4,q4,q12
1077
+ vadd.i32 q8,q8,q12
1078
+ vldr d24,[sp,#4*(16+0)] @ one
1079
+
1080
+ vadd.i32 q1,q1,q13
1081
+ vadd.i32 q5,q5,q13
1082
+ vadd.i32 q9,q9,q13
1083
+ vldr d26,[sp,#4*(16+2)] @ two
1084
+
1085
+ vadd.i32 q2,q2,q14
1086
+ vadd.i32 q6,q6,q14
1087
+ vadd.i32 q10,q10,q14
1088
+ vadd.i32 d14,d14,d24 @ counter+1
1089
+ vadd.i32 d22,d22,d26 @ counter+2
1090
+
1091
+ vadd.i32 q3,q3,q15
1092
+ vadd.i32 q7,q7,q15
1093
+ vadd.i32 q11,q11,q15
1094
+
1095
+ cmp r11,#64*4
1096
+ blo .Ltail_neon
1097
+
1098
+ vld1.8 {q12,q13},[r12]! @ load input
1099
+ mov r11,sp
1100
+ vld1.8 {q14,q15},[r12]!
1101
+ veor q0,q0,q12 @ xor with input
1102
+ veor q1,q1,q13
1103
+ vld1.8 {q12,q13},[r12]!
1104
+ veor q2,q2,q14
1105
+ veor q3,q3,q15
1106
+ vld1.8 {q14,q15},[r12]!
1107
+
1108
+ veor q4,q4,q12
1109
+ vst1.8 {q0,q1},[r14]! @ store output
1110
+ veor q5,q5,q13
1111
+ vld1.8 {q12,q13},[r12]!
1112
+ veor q6,q6,q14
1113
+ vst1.8 {q2,q3},[r14]!
1114
+ veor q7,q7,q15
1115
+ vld1.8 {q14,q15},[r12]!
1116
+
1117
+ veor q8,q8,q12
1118
+ vld1.32 {q0,q1},[r11]! @ load for next iteration
1119
+ veor d25,d25,d25
1120
+ vldr d24,[sp,#4*(16+4)] @ four
1121
+ veor q9,q9,q13
1122
+ vld1.32 {q2,q3},[r11]
1123
+ veor q10,q10,q14
1124
+ vst1.8 {q4,q5},[r14]!
1125
+ veor q11,q11,q15
1126
+ vst1.8 {q6,q7},[r14]!
1127
+
1128
+ vadd.i32 d6,d6,d24 @ next counter value
1129
+ vldr d24,[sp,#4*(16+0)] @ one
1130
+
1131
+ ldmia sp,{r8,r9,r10,r11} @ load key material
1132
+ add r0,r0,r8 @ accumulate key material
1133
+ ldr r8,[r12],#16 @ load input
1134
+ vst1.8 {q8,q9},[r14]!
1135
+ add r1,r1,r9
1136
+ ldr r9,[r12,#-12]
1137
+ vst1.8 {q10,q11},[r14]!
1138
+ add r2,r2,r10
1139
+ ldr r10,[r12,#-8]
1140
+ add r3,r3,r11
1141
+ ldr r11,[r12,#-4]
1142
+ # ifdef __ARMEB__
1143
+ rev r0,r0
1144
+ rev r1,r1
1145
+ rev r2,r2
1146
+ rev r3,r3
1147
+ # endif
1148
+ eor r0,r0,r8 @ xor with input
1149
+ add r8,sp,#4*(4)
1150
+ eor r1,r1,r9
1151
+ str r0,[r14],#16 @ store output
1152
+ eor r2,r2,r10
1153
+ str r1,[r14,#-12]
1154
+ eor r3,r3,r11
1155
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1156
+ str r2,[r14,#-8]
1157
+ str r3,[r14,#-4]
1158
+
1159
+ add r4,r4,r8 @ accumulate key material
1160
+ ldr r8,[r12],#16 @ load input
1161
+ add r5,r5,r9
1162
+ ldr r9,[r12,#-12]
1163
+ add r6,r6,r10
1164
+ ldr r10,[r12,#-8]
1165
+ add r7,r7,r11
1166
+ ldr r11,[r12,#-4]
1167
+ # ifdef __ARMEB__
1168
+ rev r4,r4
1169
+ rev r5,r5
1170
+ rev r6,r6
1171
+ rev r7,r7
1172
+ # endif
1173
+ eor r4,r4,r8
1174
+ add r8,sp,#4*(8)
1175
+ eor r5,r5,r9
1176
+ str r4,[r14],#16 @ store output
1177
+ eor r6,r6,r10
1178
+ str r5,[r14,#-12]
1179
+ eor r7,r7,r11
1180
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1181
+ str r6,[r14,#-8]
1182
+ add r0,sp,#4*(16+8)
1183
+ str r7,[r14,#-4]
1184
+
1185
+ ldmia r0,{r0,r1,r2,r3,r4,r5,r6,r7} @ load second half
1186
+
1187
+ add r0,r0,r8 @ accumulate key material
1188
+ ldr r8,[r12],#16 @ load input
1189
+ add r1,r1,r9
1190
+ ldr r9,[r12,#-12]
1191
+ # ifdef __thumb2__
1192
+ it hi
1193
+ # endif
1194
+ strhi r10,[sp,#4*(16+10)] @ copy "rx" while at it
1195
+ add r2,r2,r10
1196
+ ldr r10,[r12,#-8]
1197
+ # ifdef __thumb2__
1198
+ it hi
1199
+ # endif
1200
+ strhi r11,[sp,#4*(16+11)] @ copy "rx" while at it
1201
+ add r3,r3,r11
1202
+ ldr r11,[r12,#-4]
1203
+ # ifdef __ARMEB__
1204
+ rev r0,r0
1205
+ rev r1,r1
1206
+ rev r2,r2
1207
+ rev r3,r3
1208
+ # endif
1209
+ eor r0,r0,r8
1210
+ add r8,sp,#4*(12)
1211
+ eor r1,r1,r9
1212
+ str r0,[r14],#16 @ store output
1213
+ eor r2,r2,r10
1214
+ str r1,[r14,#-12]
1215
+ eor r3,r3,r11
1216
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1217
+ str r2,[r14,#-8]
1218
+ str r3,[r14,#-4]
1219
+
1220
+ add r4,r4,r8 @ accumulate key material
1221
+ add r8,r8,#4 @ next counter value
1222
+ add r5,r5,r9
1223
+ str r8,[sp,#4*(12)] @ save next counter value
1224
+ ldr r8,[r12],#16 @ load input
1225
+ add r6,r6,r10
1226
+ add r4,r4,#3 @ counter+3
1227
+ ldr r9,[r12,#-12]
1228
+ add r7,r7,r11
1229
+ ldr r10,[r12,#-8]
1230
+ ldr r11,[r12,#-4]
1231
+ # ifdef __ARMEB__
1232
+ rev r4,r4
1233
+ rev r5,r5
1234
+ rev r6,r6
1235
+ rev r7,r7
1236
+ # endif
1237
+ eor r4,r4,r8
1238
+ # ifdef __thumb2__
1239
+ it hi
1240
+ # endif
1241
+ ldrhi r8,[sp,#4*(32+2)] @ re-load len
1242
+ eor r5,r5,r9
1243
+ eor r6,r6,r10
1244
+ str r4,[r14],#16 @ store output
1245
+ eor r7,r7,r11
1246
+ str r5,[r14,#-12]
1247
+ sub r11,r8,#64*4 @ len-=64*4
1248
+ str r6,[r14,#-8]
1249
+ str r7,[r14,#-4]
1250
+ bhi .Loop_neon_outer
1251
+
1252
+ b .Ldone_neon
1253
+
1254
+ .align 4
1255
+ .Lbreak_neon:
1256
+ @ harmonize NEON and integer-only stack frames: load data
1257
+ @ from NEON frame, but save to integer-only one; distance
1258
+ @ between the two is 4*(32+4+16-32)=4*(20).
1259
+
1260
+ str r11, [sp,#4*(20+32+2)] @ save len
1261
+ add r11,sp,#4*(32+4)
1262
+ str r12, [sp,#4*(20+32+1)] @ save inp
1263
+ str r14, [sp,#4*(20+32+0)] @ save out
1264
+
1265
+ ldr r12,[sp,#4*(16+10)]
1266
+ ldr r14,[sp,#4*(16+11)]
1267
+ vldmia r11,{d8,d9,d10,d11,d12,d13,d14,d15} @ fulfill ABI requirement
1268
+ str r12,[sp,#4*(20+16+10)] @ copy "rx"
1269
+ str r14,[sp,#4*(20+16+11)] @ copy "rx"
1270
+
1271
+ ldr r11, [sp,#4*(15)]
1272
+ ldr r12,[sp,#4*(12)] @ modulo-scheduled load
1273
+ ldr r10, [sp,#4*(13)]
1274
+ ldr r14,[sp,#4*(14)]
1275
+ str r11, [sp,#4*(20+16+15)]
1276
+ add r11,sp,#4*(20)
1277
+ vst1.32 {q0,q1},[r11]! @ copy key
1278
+ add sp,sp,#4*(20) @ switch frame
1279
+ vst1.32 {q2,q3},[r11]
1280
+ mov r11,#10
1281
+ b .Loop @ go integer-only
1282
+
1283
+ .align 4
1284
+ .Ltail_neon:
1285
+ cmp r11,#64*3
1286
+ bhs .L192_or_more_neon
1287
+ cmp r11,#64*2
1288
+ bhs .L128_or_more_neon
1289
+ cmp r11,#64*1
1290
+ bhs .L64_or_more_neon
1291
+
1292
+ add r8,sp,#4*(8)
1293
+ vst1.8 {q0,q1},[sp]
1294
+ add r10,sp,#4*(0)
1295
+ vst1.8 {q2,q3},[r8]
1296
+ b .Loop_tail_neon
1297
+
1298
+ .align 4
1299
+ .L64_or_more_neon:
1300
+ vld1.8 {q12,q13},[r12]!
1301
+ vld1.8 {q14,q15},[r12]!
1302
+ veor q0,q0,q12
1303
+ veor q1,q1,q13
1304
+ veor q2,q2,q14
1305
+ veor q3,q3,q15
1306
+ vst1.8 {q0,q1},[r14]!
1307
+ vst1.8 {q2,q3},[r14]!
1308
+
1309
+ beq .Ldone_neon
1310
+
1311
+ add r8,sp,#4*(8)
1312
+ vst1.8 {q4,q5},[sp]
1313
+ add r10,sp,#4*(0)
1314
+ vst1.8 {q6,q7},[r8]
1315
+ sub r11,r11,#64*1 @ len-=64*1
1316
+ b .Loop_tail_neon
1317
+
1318
+ .align 4
1319
+ .L128_or_more_neon:
1320
+ vld1.8 {q12,q13},[r12]!
1321
+ vld1.8 {q14,q15},[r12]!
1322
+ veor q0,q0,q12
1323
+ veor q1,q1,q13
1324
+ vld1.8 {q12,q13},[r12]!
1325
+ veor q2,q2,q14
1326
+ veor q3,q3,q15
1327
+ vld1.8 {q14,q15},[r12]!
1328
+
1329
+ veor q4,q4,q12
1330
+ veor q5,q5,q13
1331
+ vst1.8 {q0,q1},[r14]!
1332
+ veor q6,q6,q14
1333
+ vst1.8 {q2,q3},[r14]!
1334
+ veor q7,q7,q15
1335
+ vst1.8 {q4,q5},[r14]!
1336
+ vst1.8 {q6,q7},[r14]!
1337
+
1338
+ beq .Ldone_neon
1339
+
1340
+ add r8,sp,#4*(8)
1341
+ vst1.8 {q8,q9},[sp]
1342
+ add r10,sp,#4*(0)
1343
+ vst1.8 {q10,q11},[r8]
1344
+ sub r11,r11,#64*2 @ len-=64*2
1345
+ b .Loop_tail_neon
1346
+
1347
+ .align 4
1348
+ .L192_or_more_neon:
1349
+ vld1.8 {q12,q13},[r12]!
1350
+ vld1.8 {q14,q15},[r12]!
1351
+ veor q0,q0,q12
1352
+ veor q1,q1,q13
1353
+ vld1.8 {q12,q13},[r12]!
1354
+ veor q2,q2,q14
1355
+ veor q3,q3,q15
1356
+ vld1.8 {q14,q15},[r12]!
1357
+
1358
+ veor q4,q4,q12
1359
+ veor q5,q5,q13
1360
+ vld1.8 {q12,q13},[r12]!
1361
+ veor q6,q6,q14
1362
+ vst1.8 {q0,q1},[r14]!
1363
+ veor q7,q7,q15
1364
+ vld1.8 {q14,q15},[r12]!
1365
+
1366
+ veor q8,q8,q12
1367
+ vst1.8 {q2,q3},[r14]!
1368
+ veor q9,q9,q13
1369
+ vst1.8 {q4,q5},[r14]!
1370
+ veor q10,q10,q14
1371
+ vst1.8 {q6,q7},[r14]!
1372
+ veor q11,q11,q15
1373
+ vst1.8 {q8,q9},[r14]!
1374
+ vst1.8 {q10,q11},[r14]!
1375
+
1376
+ beq .Ldone_neon
1377
+
1378
+ ldmia sp,{r8,r9,r10,r11} @ load key material
1379
+ add r0,r0,r8 @ accumulate key material
1380
+ add r8,sp,#4*(4)
1381
+ add r1,r1,r9
1382
+ add r2,r2,r10
1383
+ add r3,r3,r11
1384
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1385
+
1386
+ add r4,r4,r8 @ accumulate key material
1387
+ add r8,sp,#4*(8)
1388
+ add r5,r5,r9
1389
+ add r6,r6,r10
1390
+ add r7,r7,r11
1391
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1392
+ # ifdef __ARMEB__
1393
+ rev r0,r0
1394
+ rev r1,r1
1395
+ rev r2,r2
1396
+ rev r3,r3
1397
+ rev r4,r4
1398
+ rev r5,r5
1399
+ rev r6,r6
1400
+ rev r7,r7
1401
+ # endif
1402
+ stmia sp,{r0,r1,r2,r3,r4,r5,r6,r7}
1403
+ add r0,sp,#4*(16+8)
1404
+
1405
+ ldmia r0,{r0,r1,r2,r3,r4,r5,r6,r7} @ load second half
1406
+
1407
+ add r0,r0,r8 @ accumulate key material
1408
+ add r8,sp,#4*(12)
1409
+ add r1,r1,r9
1410
+ add r2,r2,r10
1411
+ add r3,r3,r11
1412
+ ldmia r8,{r8,r9,r10,r11} @ load key material
1413
+
1414
+ add r4,r4,r8 @ accumulate key material
1415
+ add r8,sp,#4*(8)
1416
+ add r5,r5,r9
1417
+ add r4,r4,#3 @ counter+3
1418
+ add r6,r6,r10
1419
+ add r7,r7,r11
1420
+ ldr r11,[sp,#4*(32+2)] @ re-load len
1421
+ # ifdef __ARMEB__
1422
+ rev r0,r0
1423
+ rev r1,r1
1424
+ rev r2,r2
1425
+ rev r3,r3
1426
+ rev r4,r4
1427
+ rev r5,r5
1428
+ rev r6,r6
1429
+ rev r7,r7
1430
+ # endif
1431
+ stmia r8,{r0,r1,r2,r3,r4,r5,r6,r7}
1432
+ add r10,sp,#4*(0)
1433
+ sub r11,r11,#64*3 @ len-=64*3
1434
+
1435
+ .Loop_tail_neon:
1436
+ ldrb r8,[r10],#1 @ read buffer on stack
1437
+ ldrb r9,[r12],#1 @ read input
1438
+ subs r11,r11,#1
1439
+ eor r8,r8,r9
1440
+ strb r8,[r14],#1 @ store output
1441
+ bne .Loop_tail_neon
1442
+
1443
+ .Ldone_neon:
1444
+ add sp,sp,#4*(32+4)
1445
+ vldmia sp,{d8,d9,d10,d11,d12,d13,d14,d15}
1446
+ add sp,sp,#4*(16+3)
1447
+ ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc}
1448
+ .size ChaCha20_ctr32_neon,.-ChaCha20_ctr32_neon
1449
+ #endif
1450
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_ARM) && defined(__ELF__)