visaljs 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1007) hide show
  1. package/cli.js +393 -62
  2. package/node/include/js_node.h +28 -5
  3. package/node/include/js_uv.h +36 -0
  4. package/node/prelude/crypto.js +7 -10
  5. package/node/prelude/dns.js +99 -0
  6. package/node/prelude/dns_promises.js +10 -0
  7. package/node/prelude/http.js +1039 -195
  8. package/node/prelude/internal/crypto/asym.js +39 -12
  9. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  10. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  11. package/node/prelude/internal/crypto/hash.js +1 -1
  12. package/node/prelude/internal/crypto/key_type.js +3 -0
  13. package/node/prelude/internal/crypto/keys.js +39 -9
  14. package/node/prelude/internal/http_agent.js +249 -0
  15. package/node/prelude/internal/net.js +33 -0
  16. package/node/prelude/internal/socketaddress.js +249 -0
  17. package/node/prelude/internal/tls/common.js +306 -0
  18. package/node/prelude/internal/tls/wrap.js +1217 -0
  19. package/node/prelude/internal/tls/x509.js +394 -0
  20. package/node/prelude/net.js +1083 -50
  21. package/node/prelude/stream.js +6 -0
  22. package/node/prelude/tls.js +141 -0
  23. package/node/prelude/util.js +5 -2
  24. package/node/prelude/util_types.js +85 -0
  25. package/node/src/host_http.c +268 -270
  26. package/node/src/host_loop.c +84 -0
  27. package/node/src/host_net.c +495 -0
  28. package/node/src/host_sys.c +16 -0
  29. package/package.json +1 -1
  30. package/runtime/include/js_builtins.h +16 -0
  31. package/runtime/include/js_console.h +2 -0
  32. package/runtime/include/js_core.def +23 -0
  33. package/runtime/include/js_crypto.h +23 -0
  34. package/runtime/include/js_generator.h +2 -3
  35. package/runtime/include/js_promise.h +0 -2
  36. package/runtime/src/async_iter.c +4 -1
  37. package/runtime/src/boringssl_support.cc +34 -0
  38. package/runtime/src/builtin_table.c +8 -0
  39. package/runtime/src/components.c +10 -0
  40. package/runtime/src/console.c +6 -18
  41. package/runtime/src/core_all.c +1 -0
  42. package/runtime/src/crypto_asym.c +450 -241
  43. package/runtime/src/crypto_bn.c +91 -0
  44. package/runtime/src/crypto_cipher.c +153 -75
  45. package/runtime/src/crypto_hash.c +68 -53
  46. package/runtime/src/crypto_internal.h +55 -26
  47. package/runtime/src/crypto_pkey.c +198 -61
  48. package/runtime/src/crypto_subtle.c +42 -16
  49. package/runtime/src/crypto_tls.c +678 -0
  50. package/runtime/src/generator.c +8 -1
  51. package/runtime/src/global.c +2 -4
  52. package/runtime/src/internal.h +0 -1
  53. package/runtime/src/jobs.c +2 -1
  54. package/runtime/src/promise.c +4 -1
  55. package/runtime/src/tls_roots.gen.h +3215 -0
  56. package/runtime/src/util_types.c +52 -0
  57. package/runtime/src/weak.c +2 -1
  58. package/runtime/third_party/boringssl/LICENSE +238 -0
  59. package/runtime/third_party/boringssl/README.md +46 -0
  60. package/runtime/third_party/boringssl/VERSION +1 -0
  61. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  62. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  63. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  91. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  92. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  93. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  95. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  96. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  97. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  98. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  99. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  100. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  101. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  102. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  103. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  105. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  106. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  107. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  108. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  109. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  110. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  111. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  112. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  118. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  120. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  133. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  134. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  135. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  136. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  146. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  147. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  154. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  155. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  156. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  157. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  158. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  159. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  162. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  164. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  165. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  166. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  167. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  169. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  170. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  171. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  172. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  176. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  177. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  187. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  188. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  189. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  190. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  191. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  192. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  305. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  306. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  307. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  310. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  311. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  313. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  314. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  315. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  316. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  317. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  318. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  319. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  320. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  323. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  324. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  325. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  340. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  345. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  346. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  347. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  348. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  349. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  350. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  351. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  352. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  353. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  354. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  355. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  356. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  357. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  358. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  359. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  364. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  367. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  368. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  369. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  371. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  372. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  373. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  374. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  375. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  376. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  380. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  383. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  384. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  385. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  387. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  388. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  389. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  390. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  391. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  392. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  396. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  419. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  451. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  452. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  469. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  473. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  479. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  481. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  497. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  507. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  511. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  535. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  543. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  549. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  553. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  566. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  567. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  571. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  572. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  573. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  574. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  575. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  578. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  579. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  580. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  581. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  582. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  583. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  584. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  585. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  586. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  587. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  588. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  589. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  590. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  591. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  592. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  593. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  594. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  596. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  597. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  598. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  599. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  600. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  601. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  602. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  603. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  604. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  606. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  608. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  609. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  610. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  612. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  613. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  614. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  615. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  616. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  617. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  618. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  619. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  620. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  621. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  622. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  623. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  624. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  625. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  626. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  628. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  631. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  633. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  634. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  637. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  638. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  639. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  640. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  643. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  644. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  645. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  646. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  647. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  648. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  649. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  651. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  652. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  653. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  654. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  655. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  657. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  658. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  659. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  660. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  661. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  663. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  664. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  665. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  666. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  670. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  671. package/runtime/third_party/boringssl/sources.json +696 -0
  672. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  673. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  674. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  675. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  676. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  677. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  679. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  680. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  681. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  682. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  683. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  685. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  686. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  687. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  688. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  689. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  704. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  705. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  709. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  710. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  711. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  728. package/runtime/third_party/v8-ieee754/README.md +2 -1
  729. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  730. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  731. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  732. package/runtime/third_party/bearssl/README.txt +0 -136
  733. package/runtime/third_party/bearssl/VERSION +0 -1
  734. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  735. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  736. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  737. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  738. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  739. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  740. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  741. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  742. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  743. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  744. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  745. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  746. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  747. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  748. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  749. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  750. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  751. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  752. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  764. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  765. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  766. package/runtime/third_party/bearssl/src/config.h +0 -247
  767. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  769. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  775. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  776. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  777. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  778. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  782. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  784. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  785. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  786. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  787. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  788. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  804. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  805. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  806. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  809. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  810. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  811. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  812. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  813. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  814. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  815. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  816. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  817. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  818. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  819. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  820. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  821. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  822. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  823. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  824. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  825. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  826. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  827. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  828. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  829. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  830. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  831. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  832. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  833. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  834. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  835. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  836. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  837. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  838. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  839. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  840. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  841. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  842. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  843. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  844. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  845. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  846. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  847. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  848. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  849. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  850. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  851. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  852. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  853. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  854. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  855. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  856. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  857. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  858. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  859. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  860. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  861. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  862. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  863. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  864. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  865. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  866. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  867. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  868. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  869. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  870. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  871. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  872. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  873. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  874. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  875. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  876. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  877. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  878. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  879. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  880. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  881. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  882. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  894. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  936. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  938. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  942. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  943. package/runtime/third_party/bearssl/src/settings.c +0 -306
  944. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  950. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  951. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  965. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  970. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  976. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  981. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  983. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  986. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  987. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  990. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  994. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  995. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  996. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  998. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1000. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1002. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1004. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1005. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,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__)