visaljs 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1237 @@
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_X86_64) && defined(__ELF__)
7
+ .text
8
+
9
+ .globl bn_mul_mont_nohw
10
+ .hidden bn_mul_mont_nohw
11
+ .type bn_mul_mont_nohw,@function
12
+ .align 16
13
+ bn_mul_mont_nohw:
14
+ .cfi_startproc
15
+ _CET_ENDBR
16
+ movl %r9d,%r9d
17
+ movq %rsp,%rax
18
+ .cfi_def_cfa_register %rax
19
+ pushq %rbx
20
+ .cfi_offset %rbx,-16
21
+ pushq %rbp
22
+ .cfi_offset %rbp,-24
23
+ pushq %r12
24
+ .cfi_offset %r12,-32
25
+ pushq %r13
26
+ .cfi_offset %r13,-40
27
+ pushq %r14
28
+ .cfi_offset %r14,-48
29
+ pushq %r15
30
+ .cfi_offset %r15,-56
31
+
32
+ negq %r9
33
+ movq %rsp,%r11
34
+ leaq -16(%rsp,%r9,8),%r10 // future alloca(8*(num+2))
35
+ negq %r9 // restore %r9
36
+ andq $-1024,%r10 // minimize TLB usage
37
+
38
+ // An OS-agnostic version of __chkstk.
39
+ //
40
+ // Some OSes (Windows) insist on stack being "wired" to
41
+ // physical memory in strictly sequential manner, i.e. if stack
42
+ // allocation spans two pages, then reference to farmost one can
43
+ // be punishable by SEGV. But page walking can do good even on
44
+ // other OSes, because it guarantees that villain thread hits
45
+ // the guard page before it can make damage to innocent one...
46
+ subq %r10,%r11
47
+ andq $-4096,%r11
48
+ leaq (%r10,%r11,1),%rsp
49
+ movq (%rsp),%r11
50
+ cmpq %r10,%rsp
51
+ ja .Lmul_page_walk
52
+ jmp .Lmul_page_walk_done
53
+
54
+ .align 16
55
+ .Lmul_page_walk:
56
+ leaq -4096(%rsp),%rsp
57
+ movq (%rsp),%r11
58
+ cmpq %r10,%rsp
59
+ ja .Lmul_page_walk
60
+ .Lmul_page_walk_done:
61
+
62
+ movq %rax,8(%rsp,%r9,8) // tp[num+1]=%rsp
63
+ .cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08
64
+ .Lmul_body:
65
+ movq %rdx,%r12 // reassign %rdx
66
+ movq (%r8),%r8 // pull n0[0] value
67
+ movq (%r12),%rbx // m0=bp[0]
68
+ movq (%rsi),%rax
69
+
70
+ xorq %r14,%r14 // i=0
71
+ xorq %r15,%r15 // j=0
72
+
73
+ movq %r8,%rbp
74
+ mulq %rbx // ap[0]*bp[0]
75
+ movq %rax,%r10
76
+ movq (%rcx),%rax
77
+
78
+ imulq %r10,%rbp // "tp[0]"*n0
79
+ movq %rdx,%r11
80
+
81
+ mulq %rbp // np[0]*m1
82
+ addq %rax,%r10 // discarded
83
+ movq 8(%rsi),%rax
84
+ adcq $0,%rdx
85
+ movq %rdx,%r13
86
+
87
+ leaq 1(%r15),%r15 // j++
88
+ jmp .L1st_enter
89
+
90
+ .align 16
91
+ .L1st:
92
+ addq %rax,%r13
93
+ movq (%rsi,%r15,8),%rax
94
+ adcq $0,%rdx
95
+ addq %r11,%r13 // np[j]*m1+ap[j]*bp[0]
96
+ movq %r10,%r11
97
+ adcq $0,%rdx
98
+ movq %r13,-16(%rsp,%r15,8) // tp[j-1]
99
+ movq %rdx,%r13
100
+
101
+ .L1st_enter:
102
+ mulq %rbx // ap[j]*bp[0]
103
+ addq %rax,%r11
104
+ movq (%rcx,%r15,8),%rax
105
+ adcq $0,%rdx
106
+ leaq 1(%r15),%r15 // j++
107
+ movq %rdx,%r10
108
+
109
+ mulq %rbp // np[j]*m1
110
+ cmpq %r9,%r15
111
+ jne .L1st
112
+
113
+ addq %rax,%r13
114
+ movq (%rsi),%rax // ap[0]
115
+ adcq $0,%rdx
116
+ addq %r11,%r13 // np[j]*m1+ap[j]*bp[0]
117
+ adcq $0,%rdx
118
+ movq %r13,-16(%rsp,%r15,8) // tp[j-1]
119
+ movq %rdx,%r13
120
+ movq %r10,%r11
121
+
122
+ xorq %rdx,%rdx
123
+ addq %r11,%r13
124
+ adcq $0,%rdx
125
+ movq %r13,-8(%rsp,%r9,8)
126
+ movq %rdx,(%rsp,%r9,8) // store upmost overflow bit
127
+
128
+ leaq 1(%r14),%r14 // i++
129
+ jmp .Louter
130
+ .align 16
131
+ .Louter:
132
+ movq (%r12,%r14,8),%rbx // m0=bp[i]
133
+ xorq %r15,%r15 // j=0
134
+ movq %r8,%rbp
135
+ movq (%rsp),%r10
136
+ mulq %rbx // ap[0]*bp[i]
137
+ addq %rax,%r10 // ap[0]*bp[i]+tp[0]
138
+ movq (%rcx),%rax
139
+ adcq $0,%rdx
140
+
141
+ imulq %r10,%rbp // tp[0]*n0
142
+ movq %rdx,%r11
143
+
144
+ mulq %rbp // np[0]*m1
145
+ addq %rax,%r10 // discarded
146
+ movq 8(%rsi),%rax
147
+ adcq $0,%rdx
148
+ movq 8(%rsp),%r10 // tp[1]
149
+ movq %rdx,%r13
150
+
151
+ leaq 1(%r15),%r15 // j++
152
+ jmp .Linner_enter
153
+
154
+ .align 16
155
+ .Linner:
156
+ addq %rax,%r13
157
+ movq (%rsi,%r15,8),%rax
158
+ adcq $0,%rdx
159
+ addq %r10,%r13 // np[j]*m1+ap[j]*bp[i]+tp[j]
160
+ movq (%rsp,%r15,8),%r10
161
+ adcq $0,%rdx
162
+ movq %r13,-16(%rsp,%r15,8) // tp[j-1]
163
+ movq %rdx,%r13
164
+
165
+ .Linner_enter:
166
+ mulq %rbx // ap[j]*bp[i]
167
+ addq %rax,%r11
168
+ movq (%rcx,%r15,8),%rax
169
+ adcq $0,%rdx
170
+ addq %r11,%r10 // ap[j]*bp[i]+tp[j]
171
+ movq %rdx,%r11
172
+ adcq $0,%r11
173
+ leaq 1(%r15),%r15 // j++
174
+
175
+ mulq %rbp // np[j]*m1
176
+ cmpq %r9,%r15
177
+ jne .Linner
178
+
179
+ addq %rax,%r13
180
+ movq (%rsi),%rax // ap[0]
181
+ adcq $0,%rdx
182
+ addq %r10,%r13 // np[j]*m1+ap[j]*bp[i]+tp[j]
183
+ movq (%rsp,%r15,8),%r10
184
+ adcq $0,%rdx
185
+ movq %r13,-16(%rsp,%r15,8) // tp[j-1]
186
+ movq %rdx,%r13
187
+
188
+ xorq %rdx,%rdx
189
+ addq %r11,%r13
190
+ adcq $0,%rdx
191
+ addq %r10,%r13 // pull upmost overflow bit
192
+ adcq $0,%rdx
193
+ movq %r13,-8(%rsp,%r9,8)
194
+ movq %rdx,(%rsp,%r9,8) // store upmost overflow bit
195
+
196
+ leaq 1(%r14),%r14 // i++
197
+ cmpq %r9,%r14
198
+ jb .Louter
199
+
200
+ xorq %r14,%r14 // i=0 and clear CF
201
+ movq (%rsp),%rax // tp[0]
202
+ movq %r9,%r15 // j=num
203
+
204
+ .align 16
205
+ .Lsub: sbbq (%rcx,%r14,8),%rax
206
+ movq %rax,(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
207
+ movq 8(%rsp,%r14,8),%rax // tp[i+1]
208
+ leaq 1(%r14),%r14 // i++
209
+ decq %r15 // doesn't affect CF
210
+ jnz .Lsub
211
+
212
+ sbbq $0,%rax // handle upmost overflow bit
213
+ movq $-1,%rbx
214
+ xorq %rax,%rbx // not %rax
215
+ xorq %r14,%r14
216
+ movq %r9,%r15 // j=num
217
+
218
+ .Lcopy: // conditional copy
219
+ movq (%rdi,%r14,8),%rcx
220
+ movq (%rsp,%r14,8),%rdx
221
+ andq %rbx,%rcx
222
+ andq %rax,%rdx
223
+ movq %r9,(%rsp,%r14,8) // zap temporary vector
224
+ orq %rcx,%rdx
225
+ movq %rdx,(%rdi,%r14,8) // rp[i]=tp[i]
226
+ leaq 1(%r14),%r14
227
+ subq $1,%r15
228
+ jnz .Lcopy
229
+
230
+ movq 8(%rsp,%r9,8),%rsi // restore %rsp
231
+ .cfi_def_cfa %rsi,8
232
+ // No return value
233
+ movq -48(%rsi),%r15
234
+ .cfi_restore %r15
235
+ movq -40(%rsi),%r14
236
+ .cfi_restore %r14
237
+ movq -32(%rsi),%r13
238
+ .cfi_restore %r13
239
+ movq -24(%rsi),%r12
240
+ .cfi_restore %r12
241
+ movq -16(%rsi),%rbp
242
+ .cfi_restore %rbp
243
+ movq -8(%rsi),%rbx
244
+ .cfi_restore %rbx
245
+ leaq (%rsi),%rsp
246
+ .cfi_def_cfa_register %rsp
247
+ .Lmul_epilogue:
248
+ ret
249
+ .cfi_endproc
250
+ .size bn_mul_mont_nohw,.-bn_mul_mont_nohw
251
+ .globl bn_mul4x_mont
252
+ .hidden bn_mul4x_mont
253
+ .type bn_mul4x_mont,@function
254
+ .align 16
255
+ bn_mul4x_mont:
256
+ .cfi_startproc
257
+ _CET_ENDBR
258
+ movl %r9d,%r9d
259
+ movq %rsp,%rax
260
+ .cfi_def_cfa_register %rax
261
+ pushq %rbx
262
+ .cfi_offset %rbx,-16
263
+ pushq %rbp
264
+ .cfi_offset %rbp,-24
265
+ pushq %r12
266
+ .cfi_offset %r12,-32
267
+ pushq %r13
268
+ .cfi_offset %r13,-40
269
+ pushq %r14
270
+ .cfi_offset %r14,-48
271
+ pushq %r15
272
+ .cfi_offset %r15,-56
273
+
274
+ negq %r9
275
+ movq %rsp,%r11
276
+ leaq -32(%rsp,%r9,8),%r10 // future alloca(8*(num+4))
277
+ negq %r9 // restore
278
+ andq $-1024,%r10 // minimize TLB usage
279
+
280
+ subq %r10,%r11
281
+ andq $-4096,%r11
282
+ leaq (%r10,%r11,1),%rsp
283
+ movq (%rsp),%r11
284
+ cmpq %r10,%rsp
285
+ ja .Lmul4x_page_walk
286
+ jmp .Lmul4x_page_walk_done
287
+
288
+ .Lmul4x_page_walk:
289
+ leaq -4096(%rsp),%rsp
290
+ movq (%rsp),%r11
291
+ cmpq %r10,%rsp
292
+ ja .Lmul4x_page_walk
293
+ .Lmul4x_page_walk_done:
294
+
295
+ movq %rax,8(%rsp,%r9,8) // tp[num+1]=%rsp
296
+ .cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08
297
+ .Lmul4x_body:
298
+ movq %rdi,16(%rsp,%r9,8) // tp[num+2]=%rdi
299
+ movq %rdx,%r12 // reassign %r12
300
+ movq (%r8),%r8 // pull n0[0] value
301
+ movq (%r12),%rbx // m0=bp[0]
302
+ movq (%rsi),%rax
303
+
304
+ xorq %r14,%r14 // i=0
305
+ xorq %r15,%r15 // j=0
306
+
307
+ movq %r8,%rbp
308
+ mulq %rbx // ap[0]*bp[0]
309
+ movq %rax,%r10
310
+ movq (%rcx),%rax
311
+
312
+ imulq %r10,%rbp // "tp[0]"*n0
313
+ movq %rdx,%r11
314
+
315
+ mulq %rbp // np[0]*m1
316
+ addq %rax,%r10 // discarded
317
+ movq 8(%rsi),%rax
318
+ adcq $0,%rdx
319
+ movq %rdx,%rdi
320
+
321
+ mulq %rbx
322
+ addq %rax,%r11
323
+ movq 8(%rcx),%rax
324
+ adcq $0,%rdx
325
+ movq %rdx,%r10
326
+
327
+ mulq %rbp
328
+ addq %rax,%rdi
329
+ movq 16(%rsi),%rax
330
+ adcq $0,%rdx
331
+ addq %r11,%rdi
332
+ leaq 4(%r15),%r15 // j++
333
+ adcq $0,%rdx
334
+ movq %rdi,(%rsp)
335
+ movq %rdx,%r13
336
+ jmp .L1st4x
337
+ .align 16
338
+ .L1st4x:
339
+ mulq %rbx // ap[j]*bp[0]
340
+ addq %rax,%r10
341
+ movq -16(%rcx,%r15,8),%rax
342
+ adcq $0,%rdx
343
+ movq %rdx,%r11
344
+
345
+ mulq %rbp // np[j]*m1
346
+ addq %rax,%r13
347
+ movq -8(%rsi,%r15,8),%rax
348
+ adcq $0,%rdx
349
+ addq %r10,%r13 // np[j]*m1+ap[j]*bp[0]
350
+ adcq $0,%rdx
351
+ movq %r13,-24(%rsp,%r15,8) // tp[j-1]
352
+ movq %rdx,%rdi
353
+
354
+ mulq %rbx // ap[j]*bp[0]
355
+ addq %rax,%r11
356
+ movq -8(%rcx,%r15,8),%rax
357
+ adcq $0,%rdx
358
+ movq %rdx,%r10
359
+
360
+ mulq %rbp // np[j]*m1
361
+ addq %rax,%rdi
362
+ movq (%rsi,%r15,8),%rax
363
+ adcq $0,%rdx
364
+ addq %r11,%rdi // np[j]*m1+ap[j]*bp[0]
365
+ adcq $0,%rdx
366
+ movq %rdi,-16(%rsp,%r15,8) // tp[j-1]
367
+ movq %rdx,%r13
368
+
369
+ mulq %rbx // ap[j]*bp[0]
370
+ addq %rax,%r10
371
+ movq (%rcx,%r15,8),%rax
372
+ adcq $0,%rdx
373
+ movq %rdx,%r11
374
+
375
+ mulq %rbp // np[j]*m1
376
+ addq %rax,%r13
377
+ movq 8(%rsi,%r15,8),%rax
378
+ adcq $0,%rdx
379
+ addq %r10,%r13 // np[j]*m1+ap[j]*bp[0]
380
+ adcq $0,%rdx
381
+ movq %r13,-8(%rsp,%r15,8) // tp[j-1]
382
+ movq %rdx,%rdi
383
+
384
+ mulq %rbx // ap[j]*bp[0]
385
+ addq %rax,%r11
386
+ movq 8(%rcx,%r15,8),%rax
387
+ adcq $0,%rdx
388
+ leaq 4(%r15),%r15 // j++
389
+ movq %rdx,%r10
390
+
391
+ mulq %rbp // np[j]*m1
392
+ addq %rax,%rdi
393
+ movq -16(%rsi,%r15,8),%rax
394
+ adcq $0,%rdx
395
+ addq %r11,%rdi // np[j]*m1+ap[j]*bp[0]
396
+ adcq $0,%rdx
397
+ movq %rdi,-32(%rsp,%r15,8) // tp[j-1]
398
+ movq %rdx,%r13
399
+ cmpq %r9,%r15
400
+ jb .L1st4x
401
+
402
+ mulq %rbx // ap[j]*bp[0]
403
+ addq %rax,%r10
404
+ movq -16(%rcx,%r15,8),%rax
405
+ adcq $0,%rdx
406
+ movq %rdx,%r11
407
+
408
+ mulq %rbp // np[j]*m1
409
+ addq %rax,%r13
410
+ movq -8(%rsi,%r15,8),%rax
411
+ adcq $0,%rdx
412
+ addq %r10,%r13 // np[j]*m1+ap[j]*bp[0]
413
+ adcq $0,%rdx
414
+ movq %r13,-24(%rsp,%r15,8) // tp[j-1]
415
+ movq %rdx,%rdi
416
+
417
+ mulq %rbx // ap[j]*bp[0]
418
+ addq %rax,%r11
419
+ movq -8(%rcx,%r15,8),%rax
420
+ adcq $0,%rdx
421
+ movq %rdx,%r10
422
+
423
+ mulq %rbp // np[j]*m1
424
+ addq %rax,%rdi
425
+ movq (%rsi),%rax // ap[0]
426
+ adcq $0,%rdx
427
+ addq %r11,%rdi // np[j]*m1+ap[j]*bp[0]
428
+ adcq $0,%rdx
429
+ movq %rdi,-16(%rsp,%r15,8) // tp[j-1]
430
+ movq %rdx,%r13
431
+
432
+ xorq %rdi,%rdi
433
+ addq %r10,%r13
434
+ adcq $0,%rdi
435
+ movq %r13,-8(%rsp,%r15,8)
436
+ movq %rdi,(%rsp,%r15,8) // store upmost overflow bit
437
+
438
+ leaq 1(%r14),%r14 // i++
439
+ .align 4
440
+ .Louter4x:
441
+ movq (%r12,%r14,8),%rbx // m0=bp[i]
442
+ xorq %r15,%r15 // j=0
443
+ movq (%rsp),%r10
444
+ movq %r8,%rbp
445
+ mulq %rbx // ap[0]*bp[i]
446
+ addq %rax,%r10 // ap[0]*bp[i]+tp[0]
447
+ movq (%rcx),%rax
448
+ adcq $0,%rdx
449
+
450
+ imulq %r10,%rbp // tp[0]*n0
451
+ movq %rdx,%r11
452
+
453
+ mulq %rbp // np[0]*m1
454
+ addq %rax,%r10 // "%r13", discarded
455
+ movq 8(%rsi),%rax
456
+ adcq $0,%rdx
457
+ movq %rdx,%rdi
458
+
459
+ mulq %rbx // ap[j]*bp[i]
460
+ addq %rax,%r11
461
+ movq 8(%rcx),%rax
462
+ adcq $0,%rdx
463
+ addq 8(%rsp),%r11 // +tp[1]
464
+ adcq $0,%rdx
465
+ movq %rdx,%r10
466
+
467
+ mulq %rbp // np[j]*m1
468
+ addq %rax,%rdi
469
+ movq 16(%rsi),%rax
470
+ adcq $0,%rdx
471
+ addq %r11,%rdi // np[j]*m1+ap[j]*bp[i]+tp[j]
472
+ leaq 4(%r15),%r15 // j+=2
473
+ adcq $0,%rdx
474
+ movq %rdi,(%rsp) // tp[j-1]
475
+ movq %rdx,%r13
476
+ jmp .Linner4x
477
+ .align 16
478
+ .Linner4x:
479
+ mulq %rbx // ap[j]*bp[i]
480
+ addq %rax,%r10
481
+ movq -16(%rcx,%r15,8),%rax
482
+ adcq $0,%rdx
483
+ addq -16(%rsp,%r15,8),%r10 // ap[j]*bp[i]+tp[j]
484
+ adcq $0,%rdx
485
+ movq %rdx,%r11
486
+
487
+ mulq %rbp // np[j]*m1
488
+ addq %rax,%r13
489
+ movq -8(%rsi,%r15,8),%rax
490
+ adcq $0,%rdx
491
+ addq %r10,%r13
492
+ adcq $0,%rdx
493
+ movq %r13,-24(%rsp,%r15,8) // tp[j-1]
494
+ movq %rdx,%rdi
495
+
496
+ mulq %rbx // ap[j]*bp[i]
497
+ addq %rax,%r11
498
+ movq -8(%rcx,%r15,8),%rax
499
+ adcq $0,%rdx
500
+ addq -8(%rsp,%r15,8),%r11
501
+ adcq $0,%rdx
502
+ movq %rdx,%r10
503
+
504
+ mulq %rbp // np[j]*m1
505
+ addq %rax,%rdi
506
+ movq (%rsi,%r15,8),%rax
507
+ adcq $0,%rdx
508
+ addq %r11,%rdi
509
+ adcq $0,%rdx
510
+ movq %rdi,-16(%rsp,%r15,8) // tp[j-1]
511
+ movq %rdx,%r13
512
+
513
+ mulq %rbx // ap[j]*bp[i]
514
+ addq %rax,%r10
515
+ movq (%rcx,%r15,8),%rax
516
+ adcq $0,%rdx
517
+ addq (%rsp,%r15,8),%r10 // ap[j]*bp[i]+tp[j]
518
+ adcq $0,%rdx
519
+ movq %rdx,%r11
520
+
521
+ mulq %rbp // np[j]*m1
522
+ addq %rax,%r13
523
+ movq 8(%rsi,%r15,8),%rax
524
+ adcq $0,%rdx
525
+ addq %r10,%r13
526
+ adcq $0,%rdx
527
+ movq %r13,-8(%rsp,%r15,8) // tp[j-1]
528
+ movq %rdx,%rdi
529
+
530
+ mulq %rbx // ap[j]*bp[i]
531
+ addq %rax,%r11
532
+ movq 8(%rcx,%r15,8),%rax
533
+ adcq $0,%rdx
534
+ addq 8(%rsp,%r15,8),%r11
535
+ adcq $0,%rdx
536
+ leaq 4(%r15),%r15 // j++
537
+ movq %rdx,%r10
538
+
539
+ mulq %rbp // np[j]*m1
540
+ addq %rax,%rdi
541
+ movq -16(%rsi,%r15,8),%rax
542
+ adcq $0,%rdx
543
+ addq %r11,%rdi
544
+ adcq $0,%rdx
545
+ movq %rdi,-32(%rsp,%r15,8) // tp[j-1]
546
+ movq %rdx,%r13
547
+ cmpq %r9,%r15
548
+ jb .Linner4x
549
+
550
+ mulq %rbx // ap[j]*bp[i]
551
+ addq %rax,%r10
552
+ movq -16(%rcx,%r15,8),%rax
553
+ adcq $0,%rdx
554
+ addq -16(%rsp,%r15,8),%r10 // ap[j]*bp[i]+tp[j]
555
+ adcq $0,%rdx
556
+ movq %rdx,%r11
557
+
558
+ mulq %rbp // np[j]*m1
559
+ addq %rax,%r13
560
+ movq -8(%rsi,%r15,8),%rax
561
+ adcq $0,%rdx
562
+ addq %r10,%r13
563
+ adcq $0,%rdx
564
+ movq %r13,-24(%rsp,%r15,8) // tp[j-1]
565
+ movq %rdx,%rdi
566
+
567
+ mulq %rbx // ap[j]*bp[i]
568
+ addq %rax,%r11
569
+ movq -8(%rcx,%r15,8),%rax
570
+ adcq $0,%rdx
571
+ addq -8(%rsp,%r15,8),%r11
572
+ adcq $0,%rdx
573
+ leaq 1(%r14),%r14 // i++
574
+ movq %rdx,%r10
575
+
576
+ mulq %rbp // np[j]*m1
577
+ addq %rax,%rdi
578
+ movq (%rsi),%rax // ap[0]
579
+ adcq $0,%rdx
580
+ addq %r11,%rdi
581
+ adcq $0,%rdx
582
+ movq %rdi,-16(%rsp,%r15,8) // tp[j-1]
583
+ movq %rdx,%r13
584
+
585
+ xorq %rdi,%rdi
586
+ addq %r10,%r13
587
+ adcq $0,%rdi
588
+ addq (%rsp,%r9,8),%r13 // pull upmost overflow bit
589
+ adcq $0,%rdi
590
+ movq %r13,-8(%rsp,%r15,8)
591
+ movq %rdi,(%rsp,%r15,8) // store upmost overflow bit
592
+
593
+ cmpq %r9,%r14
594
+ jb .Louter4x
595
+ movq 16(%rsp,%r9,8),%rdi // restore %rdi
596
+ leaq -4(%r9),%r15
597
+ movq 0(%rsp),%rax // tp[0]
598
+ movq 8(%rsp),%rdx // tp[1]
599
+ shrq $2,%r15 // j=num/4-1
600
+ leaq (%rsp),%rsi // borrow ap for tp
601
+ xorq %r14,%r14 // i=0 and clear CF
602
+
603
+ subq 0(%rcx),%rax
604
+ movq 16(%rsi),%rbx // tp[2]
605
+ movq 24(%rsi),%rbp // tp[3]
606
+ sbbq 8(%rcx),%rdx
607
+
608
+ .Lsub4x:
609
+ movq %rax,0(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
610
+ movq %rdx,8(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
611
+ sbbq 16(%rcx,%r14,8),%rbx
612
+ movq 32(%rsi,%r14,8),%rax // tp[i+1]
613
+ movq 40(%rsi,%r14,8),%rdx
614
+ sbbq 24(%rcx,%r14,8),%rbp
615
+ movq %rbx,16(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
616
+ movq %rbp,24(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
617
+ sbbq 32(%rcx,%r14,8),%rax
618
+ movq 48(%rsi,%r14,8),%rbx
619
+ movq 56(%rsi,%r14,8),%rbp
620
+ sbbq 40(%rcx,%r14,8),%rdx
621
+ leaq 4(%r14),%r14 // i++
622
+ decq %r15 // doesn't affect CF
623
+ jnz .Lsub4x
624
+
625
+ movq %rax,0(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
626
+ movq 32(%rsi,%r14,8),%rax // load overflow bit
627
+ sbbq 16(%rcx,%r14,8),%rbx
628
+ movq %rdx,8(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
629
+ sbbq 24(%rcx,%r14,8),%rbp
630
+ movq %rbx,16(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
631
+
632
+ sbbq $0,%rax // handle upmost overflow bit
633
+ movq %rbp,24(%rdi,%r14,8) // rp[i]=tp[i]-np[i]
634
+ pxor %xmm0,%xmm0
635
+ movq %rax,%xmm4
636
+ pcmpeqd %xmm5,%xmm5
637
+ pshufd $0,%xmm4,%xmm4
638
+ movq %r9,%r15
639
+ pxor %xmm4,%xmm5
640
+ shrq $2,%r15 // j=num/4
641
+ xorl %eax,%eax // i=0
642
+
643
+ jmp .Lcopy4x
644
+ .align 16
645
+ .Lcopy4x: // conditional copy
646
+ movdqa (%rsp,%rax,1),%xmm1
647
+ movdqu (%rdi,%rax,1),%xmm2
648
+ pand %xmm4,%xmm1
649
+ pand %xmm5,%xmm2
650
+ movdqa 16(%rsp,%rax,1),%xmm3
651
+ movdqa %xmm0,(%rsp,%rax,1)
652
+ por %xmm2,%xmm1
653
+ movdqu 16(%rdi,%rax,1),%xmm2
654
+ movdqu %xmm1,(%rdi,%rax,1)
655
+ pand %xmm4,%xmm3
656
+ pand %xmm5,%xmm2
657
+ movdqa %xmm0,16(%rsp,%rax,1)
658
+ por %xmm2,%xmm3
659
+ movdqu %xmm3,16(%rdi,%rax,1)
660
+ leaq 32(%rax),%rax
661
+ decq %r15
662
+ jnz .Lcopy4x
663
+ movq 8(%rsp,%r9,8),%rsi // restore %rsp
664
+ .cfi_def_cfa %rsi, 8
665
+ // No return value
666
+ movq -48(%rsi),%r15
667
+ .cfi_restore %r15
668
+ movq -40(%rsi),%r14
669
+ .cfi_restore %r14
670
+ movq -32(%rsi),%r13
671
+ .cfi_restore %r13
672
+ movq -24(%rsi),%r12
673
+ .cfi_restore %r12
674
+ movq -16(%rsi),%rbp
675
+ .cfi_restore %rbp
676
+ movq -8(%rsi),%rbx
677
+ .cfi_restore %rbx
678
+ leaq (%rsi),%rsp
679
+ .cfi_def_cfa_register %rsp
680
+ .Lmul4x_epilogue:
681
+ ret
682
+ .cfi_endproc
683
+ .size bn_mul4x_mont,.-bn_mul4x_mont
684
+ .extern bn_sqrx8x_internal
685
+ .hidden bn_sqrx8x_internal // see x86_64-mont5 module
686
+ .extern bn_sqr8x_internal
687
+ .hidden bn_sqr8x_internal // see x86_64-mont5 module
688
+
689
+ .globl bn_sqr8x_mont
690
+ .hidden bn_sqr8x_mont
691
+ .type bn_sqr8x_mont,@function
692
+ .align 32
693
+ bn_sqr8x_mont:
694
+ .cfi_startproc
695
+ _CET_ENDBR
696
+ movl %r9d,%r9d
697
+ movq %rsp,%rax
698
+ .cfi_def_cfa_register %rax
699
+ pushq %rbx
700
+ .cfi_offset %rbx,-16
701
+ pushq %rbp
702
+ .cfi_offset %rbp,-24
703
+ pushq %r12
704
+ .cfi_offset %r12,-32
705
+ pushq %r13
706
+ .cfi_offset %r13,-40
707
+ pushq %r14
708
+ .cfi_offset %r14,-48
709
+ pushq %r15
710
+ .cfi_offset %r15,-56
711
+ .Lsqr8x_prologue:
712
+
713
+ movl %r9d,%r10d
714
+ shll $3,%r9d // convert %r9 to bytes
715
+ shlq $3+2,%r10 // 4*%r9
716
+ negq %r9
717
+
718
+ // #############################################################
719
+ // ensure that stack frame doesn't alias with %rsi modulo
720
+ // 4096. this is done to allow memory disambiguation logic
721
+ // do its job.
722
+ //
723
+ leaq -64(%rsp,%r9,2),%r11
724
+ movq %rsp,%rbp
725
+ movq (%r8),%r8 // *n0
726
+ subq %rsi,%r11
727
+ andq $4095,%r11
728
+ cmpq %r11,%r10
729
+ jb .Lsqr8x_sp_alt
730
+ subq %r11,%rbp // align with %rsi
731
+ leaq -64(%rbp,%r9,2),%rbp // future alloca(frame+2*%r9)
732
+ jmp .Lsqr8x_sp_done
733
+
734
+ .align 32
735
+ .Lsqr8x_sp_alt:
736
+ leaq 4096-64(,%r9,2),%r10 // 4096-frame-2*%r9
737
+ leaq -64(%rbp,%r9,2),%rbp // future alloca(frame+2*%r9)
738
+ subq %r10,%r11
739
+ movq $0,%r10
740
+ cmovcq %r10,%r11
741
+ subq %r11,%rbp
742
+ .Lsqr8x_sp_done:
743
+ andq $-64,%rbp
744
+ movq %rsp,%r11
745
+ subq %rbp,%r11
746
+ andq $-4096,%r11
747
+ leaq (%r11,%rbp,1),%rsp
748
+ movq (%rsp),%r10
749
+ cmpq %rbp,%rsp
750
+ ja .Lsqr8x_page_walk
751
+ jmp .Lsqr8x_page_walk_done
752
+
753
+ .align 16
754
+ .Lsqr8x_page_walk:
755
+ leaq -4096(%rsp),%rsp
756
+ movq (%rsp),%r10
757
+ cmpq %rbp,%rsp
758
+ ja .Lsqr8x_page_walk
759
+ .Lsqr8x_page_walk_done:
760
+
761
+ movq %r9,%r10
762
+ negq %r9
763
+
764
+ movq %r8,32(%rsp)
765
+ movq %rax,40(%rsp) // save original %rsp
766
+ .cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
767
+ .Lsqr8x_body:
768
+
769
+ movq %rcx,%xmm2 // save pointer to modulus
770
+ pxor %xmm0,%xmm0
771
+ movq %rdi,%xmm1 // save %rdi
772
+ movq %r10,%xmm3 // -%r9
773
+ testq %rdx,%rdx
774
+ jz .Lsqr8x_nox
775
+
776
+ call bn_sqrx8x_internal // see x86_64-mont5 module
777
+ // %rax top-most carry
778
+ // %rbp nptr
779
+ // %rcx -8*num
780
+ // %r8 end of tp[2*num]
781
+ leaq (%r8,%rcx,1),%rbx
782
+ movq %rcx,%r9
783
+ movq %rcx,%rdx
784
+ movq %xmm1,%rdi
785
+ sarq $3+2,%rcx // %cf=0
786
+ jmp .Lsqr8x_sub
787
+
788
+ .align 32
789
+ .Lsqr8x_nox:
790
+ call bn_sqr8x_internal // see x86_64-mont5 module
791
+ // %rax top-most carry
792
+ // %rbp nptr
793
+ // %r8 -8*num
794
+ // %rdi end of tp[2*num]
795
+ leaq (%rdi,%r9,1),%rbx
796
+ movq %r9,%rcx
797
+ movq %r9,%rdx
798
+ movq %xmm1,%rdi
799
+ sarq $3+2,%rcx // %cf=0
800
+ jmp .Lsqr8x_sub
801
+
802
+ .align 32
803
+ .Lsqr8x_sub:
804
+ movq 0(%rbx),%r12
805
+ movq 8(%rbx),%r13
806
+ movq 16(%rbx),%r14
807
+ movq 24(%rbx),%r15
808
+ leaq 32(%rbx),%rbx
809
+ sbbq 0(%rbp),%r12
810
+ sbbq 8(%rbp),%r13
811
+ sbbq 16(%rbp),%r14
812
+ sbbq 24(%rbp),%r15
813
+ leaq 32(%rbp),%rbp
814
+ movq %r12,0(%rdi)
815
+ movq %r13,8(%rdi)
816
+ movq %r14,16(%rdi)
817
+ movq %r15,24(%rdi)
818
+ leaq 32(%rdi),%rdi
819
+ incq %rcx // preserves %cf
820
+ jnz .Lsqr8x_sub
821
+
822
+ sbbq $0,%rax // top-most carry
823
+ leaq (%rbx,%r9,1),%rbx // rewind
824
+ leaq (%rdi,%r9,1),%rdi // rewind
825
+
826
+ movq %rax,%xmm1
827
+ pxor %xmm0,%xmm0
828
+ pshufd $0,%xmm1,%xmm1
829
+ movq 40(%rsp),%rsi // restore %rsp
830
+ .cfi_def_cfa %rsi,8
831
+ jmp .Lsqr8x_cond_copy
832
+
833
+ .align 32
834
+ .Lsqr8x_cond_copy:
835
+ movdqa 0(%rbx),%xmm2
836
+ movdqa 16(%rbx),%xmm3
837
+ leaq 32(%rbx),%rbx
838
+ movdqu 0(%rdi),%xmm4
839
+ movdqu 16(%rdi),%xmm5
840
+ leaq 32(%rdi),%rdi
841
+ movdqa %xmm0,-32(%rbx) // zero tp
842
+ movdqa %xmm0,-16(%rbx)
843
+ movdqa %xmm0,-32(%rbx,%rdx,1)
844
+ movdqa %xmm0,-16(%rbx,%rdx,1)
845
+ pcmpeqd %xmm1,%xmm0
846
+ pand %xmm1,%xmm2
847
+ pand %xmm1,%xmm3
848
+ pand %xmm0,%xmm4
849
+ pand %xmm0,%xmm5
850
+ pxor %xmm0,%xmm0
851
+ por %xmm2,%xmm4
852
+ por %xmm3,%xmm5
853
+ movdqu %xmm4,-32(%rdi)
854
+ movdqu %xmm5,-16(%rdi)
855
+ addq $32,%r9
856
+ jnz .Lsqr8x_cond_copy
857
+
858
+ // No return value
859
+ movq -48(%rsi),%r15
860
+ .cfi_restore %r15
861
+ movq -40(%rsi),%r14
862
+ .cfi_restore %r14
863
+ movq -32(%rsi),%r13
864
+ .cfi_restore %r13
865
+ movq -24(%rsi),%r12
866
+ .cfi_restore %r12
867
+ movq -16(%rsi),%rbp
868
+ .cfi_restore %rbp
869
+ movq -8(%rsi),%rbx
870
+ .cfi_restore %rbx
871
+ leaq (%rsi),%rsp
872
+ .cfi_def_cfa_register %rsp
873
+ .Lsqr8x_epilogue:
874
+ ret
875
+ .cfi_endproc
876
+ .size bn_sqr8x_mont,.-bn_sqr8x_mont
877
+ .globl bn_mulx4x_mont
878
+ .hidden bn_mulx4x_mont
879
+ .type bn_mulx4x_mont,@function
880
+ .align 32
881
+ bn_mulx4x_mont:
882
+ .cfi_startproc
883
+ _CET_ENDBR
884
+ movq %rsp,%rax
885
+ .cfi_def_cfa_register %rax
886
+ pushq %rbx
887
+ .cfi_offset %rbx,-16
888
+ pushq %rbp
889
+ .cfi_offset %rbp,-24
890
+ pushq %r12
891
+ .cfi_offset %r12,-32
892
+ pushq %r13
893
+ .cfi_offset %r13,-40
894
+ pushq %r14
895
+ .cfi_offset %r14,-48
896
+ pushq %r15
897
+ .cfi_offset %r15,-56
898
+ .Lmulx4x_prologue:
899
+
900
+ shll $3,%r9d // convert %r9 to bytes
901
+ xorq %r10,%r10
902
+ subq %r9,%r10 // -%r9
903
+ movq (%r8),%r8 // *n0
904
+ leaq -72(%rsp,%r10,1),%rbp // future alloca(frame+%r9+8)
905
+ andq $-128,%rbp
906
+ movq %rsp,%r11
907
+ subq %rbp,%r11
908
+ andq $-4096,%r11
909
+ leaq (%r11,%rbp,1),%rsp
910
+ movq (%rsp),%r10
911
+ cmpq %rbp,%rsp
912
+ ja .Lmulx4x_page_walk
913
+ jmp .Lmulx4x_page_walk_done
914
+
915
+ .align 16
916
+ .Lmulx4x_page_walk:
917
+ leaq -4096(%rsp),%rsp
918
+ movq (%rsp),%r10
919
+ cmpq %rbp,%rsp
920
+ ja .Lmulx4x_page_walk
921
+ .Lmulx4x_page_walk_done:
922
+
923
+ leaq (%rdx,%r9,1),%r10
924
+ // #############################################################
925
+ // Stack layout
926
+ // +0 num
927
+ // +8 off-loaded &b[i]
928
+ // +16 end of b[num]
929
+ // +24 saved n0
930
+ // +32 saved rp
931
+ // +40 saved %rsp
932
+ // +48 inner counter
933
+ // +56
934
+ // +64 tmp[num+1]
935
+ //
936
+ movq %r9,0(%rsp) // save %r9
937
+ shrq $5,%r9
938
+ movq %r10,16(%rsp) // end of b[num]
939
+ subq $1,%r9
940
+ movq %r8,24(%rsp) // save *n0
941
+ movq %rdi,32(%rsp) // save %rdi
942
+ movq %rax,40(%rsp) // save original %rsp
943
+ .cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
944
+ movq %r9,48(%rsp) // inner counter
945
+ jmp .Lmulx4x_body
946
+
947
+ .align 32
948
+ .Lmulx4x_body:
949
+ leaq 8(%rdx),%rdi
950
+ movq (%rdx),%rdx // b[0], %rdx==%rdx actually
951
+ leaq 64+32(%rsp),%rbx
952
+ movq %rdx,%r9
953
+
954
+ mulxq 0(%rsi),%r8,%rax // a[0]*b[0]
955
+ mulxq 8(%rsi),%r11,%r14 // a[1]*b[0]
956
+ addq %rax,%r11
957
+ movq %rdi,8(%rsp) // off-load &b[i]
958
+ mulxq 16(%rsi),%r12,%r13 // ...
959
+ adcq %r14,%r12
960
+ adcq $0,%r13
961
+
962
+ movq %r8,%rdi // borrow %rdi
963
+ imulq 24(%rsp),%r8 // "t[0]"*n0
964
+ xorq %rbp,%rbp // cf=0, of=0
965
+
966
+ mulxq 24(%rsi),%rax,%r14
967
+ movq %r8,%rdx
968
+ leaq 32(%rsi),%rsi
969
+ adcxq %rax,%r13
970
+ adcxq %rbp,%r14 // cf=0
971
+
972
+ mulxq 0(%rcx),%rax,%r10
973
+ adcxq %rax,%rdi // discarded
974
+ adoxq %r11,%r10
975
+ mulxq 8(%rcx),%rax,%r11
976
+ adcxq %rax,%r10
977
+ adoxq %r12,%r11
978
+ .byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00 // mulx 2*8(%rcx),%rax,%r12
979
+ movq 48(%rsp),%rdi // counter value
980
+ movq %r10,-32(%rbx)
981
+ adcxq %rax,%r11
982
+ adoxq %r13,%r12
983
+ mulxq 24(%rcx),%rax,%r15
984
+ movq %r9,%rdx
985
+ movq %r11,-24(%rbx)
986
+ adcxq %rax,%r12
987
+ adoxq %rbp,%r15 // of=0
988
+ leaq 32(%rcx),%rcx
989
+ movq %r12,-16(%rbx)
990
+
991
+ jmp .Lmulx4x_1st
992
+
993
+ .align 32
994
+ .Lmulx4x_1st:
995
+ adcxq %rbp,%r15 // cf=0, modulo-scheduled
996
+ mulxq 0(%rsi),%r10,%rax // a[4]*b[0]
997
+ adcxq %r14,%r10
998
+ mulxq 8(%rsi),%r11,%r14 // a[5]*b[0]
999
+ adcxq %rax,%r11
1000
+ mulxq 16(%rsi),%r12,%rax // ...
1001
+ adcxq %r14,%r12
1002
+ mulxq 24(%rsi),%r13,%r14
1003
+ .byte 0x67,0x67
1004
+ movq %r8,%rdx
1005
+ adcxq %rax,%r13
1006
+ adcxq %rbp,%r14 // cf=0
1007
+ leaq 32(%rsi),%rsi
1008
+ leaq 32(%rbx),%rbx
1009
+
1010
+ adoxq %r15,%r10
1011
+ mulxq 0(%rcx),%rax,%r15
1012
+ adcxq %rax,%r10
1013
+ adoxq %r15,%r11
1014
+ mulxq 8(%rcx),%rax,%r15
1015
+ adcxq %rax,%r11
1016
+ adoxq %r15,%r12
1017
+ mulxq 16(%rcx),%rax,%r15
1018
+ movq %r10,-40(%rbx)
1019
+ adcxq %rax,%r12
1020
+ movq %r11,-32(%rbx)
1021
+ adoxq %r15,%r13
1022
+ mulxq 24(%rcx),%rax,%r15
1023
+ movq %r9,%rdx
1024
+ movq %r12,-24(%rbx)
1025
+ adcxq %rax,%r13
1026
+ adoxq %rbp,%r15
1027
+ leaq 32(%rcx),%rcx
1028
+ movq %r13,-16(%rbx)
1029
+
1030
+ decq %rdi // of=0, pass cf
1031
+ jnz .Lmulx4x_1st
1032
+
1033
+ movq 0(%rsp),%rax // load num
1034
+ movq 8(%rsp),%rdi // re-load &b[i]
1035
+ adcq %rbp,%r15 // modulo-scheduled
1036
+ addq %r15,%r14
1037
+ sbbq %r15,%r15 // top-most carry
1038
+ movq %r14,-8(%rbx)
1039
+ jmp .Lmulx4x_outer
1040
+
1041
+ .align 32
1042
+ .Lmulx4x_outer:
1043
+ movq (%rdi),%rdx // b[i]
1044
+ leaq 8(%rdi),%rdi // b++
1045
+ subq %rax,%rsi // rewind %rsi
1046
+ movq %r15,(%rbx) // save top-most carry
1047
+ leaq 64+32(%rsp),%rbx
1048
+ subq %rax,%rcx // rewind %rcx
1049
+
1050
+ mulxq 0(%rsi),%r8,%r11 // a[0]*b[i]
1051
+ xorl %ebp,%ebp // xor %rbp,%rbp # cf=0, of=0
1052
+ movq %rdx,%r9
1053
+ mulxq 8(%rsi),%r14,%r12 // a[1]*b[i]
1054
+ adoxq -32(%rbx),%r8
1055
+ adcxq %r14,%r11
1056
+ mulxq 16(%rsi),%r15,%r13 // ...
1057
+ adoxq -24(%rbx),%r11
1058
+ adcxq %r15,%r12
1059
+ adoxq -16(%rbx),%r12
1060
+ adcxq %rbp,%r13
1061
+ adoxq %rbp,%r13
1062
+
1063
+ movq %rdi,8(%rsp) // off-load &b[i]
1064
+ movq %r8,%r15
1065
+ imulq 24(%rsp),%r8 // "t[0]"*n0
1066
+ xorl %ebp,%ebp // xor %rbp,%rbp # cf=0, of=0
1067
+
1068
+ mulxq 24(%rsi),%rax,%r14
1069
+ movq %r8,%rdx
1070
+ adcxq %rax,%r13
1071
+ adoxq -8(%rbx),%r13
1072
+ adcxq %rbp,%r14
1073
+ leaq 32(%rsi),%rsi
1074
+ adoxq %rbp,%r14
1075
+
1076
+ mulxq 0(%rcx),%rax,%r10
1077
+ adcxq %rax,%r15 // discarded
1078
+ adoxq %r11,%r10
1079
+ mulxq 8(%rcx),%rax,%r11
1080
+ adcxq %rax,%r10
1081
+ adoxq %r12,%r11
1082
+ mulxq 16(%rcx),%rax,%r12
1083
+ movq %r10,-32(%rbx)
1084
+ adcxq %rax,%r11
1085
+ adoxq %r13,%r12
1086
+ mulxq 24(%rcx),%rax,%r15
1087
+ movq %r9,%rdx
1088
+ movq %r11,-24(%rbx)
1089
+ leaq 32(%rcx),%rcx
1090
+ adcxq %rax,%r12
1091
+ adoxq %rbp,%r15 // of=0
1092
+ movq 48(%rsp),%rdi // counter value
1093
+ movq %r12,-16(%rbx)
1094
+
1095
+ jmp .Lmulx4x_inner
1096
+
1097
+ .align 32
1098
+ .Lmulx4x_inner:
1099
+ mulxq 0(%rsi),%r10,%rax // a[4]*b[i]
1100
+ adcxq %rbp,%r15 // cf=0, modulo-scheduled
1101
+ adoxq %r14,%r10
1102
+ mulxq 8(%rsi),%r11,%r14 // a[5]*b[i]
1103
+ adcxq 0(%rbx),%r10
1104
+ adoxq %rax,%r11
1105
+ mulxq 16(%rsi),%r12,%rax // ...
1106
+ adcxq 8(%rbx),%r11
1107
+ adoxq %r14,%r12
1108
+ mulxq 24(%rsi),%r13,%r14
1109
+ movq %r8,%rdx
1110
+ adcxq 16(%rbx),%r12
1111
+ adoxq %rax,%r13
1112
+ adcxq 24(%rbx),%r13
1113
+ adoxq %rbp,%r14 // of=0
1114
+ leaq 32(%rsi),%rsi
1115
+ leaq 32(%rbx),%rbx
1116
+ adcxq %rbp,%r14 // cf=0
1117
+
1118
+ adoxq %r15,%r10
1119
+ mulxq 0(%rcx),%rax,%r15
1120
+ adcxq %rax,%r10
1121
+ adoxq %r15,%r11
1122
+ mulxq 8(%rcx),%rax,%r15
1123
+ adcxq %rax,%r11
1124
+ adoxq %r15,%r12
1125
+ mulxq 16(%rcx),%rax,%r15
1126
+ movq %r10,-40(%rbx)
1127
+ adcxq %rax,%r12
1128
+ adoxq %r15,%r13
1129
+ mulxq 24(%rcx),%rax,%r15
1130
+ movq %r9,%rdx
1131
+ movq %r11,-32(%rbx)
1132
+ movq %r12,-24(%rbx)
1133
+ adcxq %rax,%r13
1134
+ adoxq %rbp,%r15
1135
+ leaq 32(%rcx),%rcx
1136
+ movq %r13,-16(%rbx)
1137
+
1138
+ decq %rdi // of=0, pass cf
1139
+ jnz .Lmulx4x_inner
1140
+
1141
+ movq 0(%rsp),%rax // load num
1142
+ movq 8(%rsp),%rdi // re-load &b[i]
1143
+ adcq %rbp,%r15 // modulo-scheduled
1144
+ subq 0(%rbx),%rbp // pull top-most carry
1145
+ adcq %r15,%r14
1146
+ sbbq %r15,%r15 // top-most carry
1147
+ movq %r14,-8(%rbx)
1148
+
1149
+ cmpq 16(%rsp),%rdi
1150
+ jne .Lmulx4x_outer
1151
+
1152
+ leaq 64(%rsp),%rbx
1153
+ subq %rax,%rcx // rewind %rcx
1154
+ negq %r15
1155
+ movq %rax,%rdx
1156
+ shrq $3+2,%rax // %cf=0
1157
+ movq 32(%rsp),%rdi // restore rp
1158
+ jmp .Lmulx4x_sub
1159
+
1160
+ .align 32
1161
+ .Lmulx4x_sub:
1162
+ movq 0(%rbx),%r11
1163
+ movq 8(%rbx),%r12
1164
+ movq 16(%rbx),%r13
1165
+ movq 24(%rbx),%r14
1166
+ leaq 32(%rbx),%rbx
1167
+ sbbq 0(%rcx),%r11
1168
+ sbbq 8(%rcx),%r12
1169
+ sbbq 16(%rcx),%r13
1170
+ sbbq 24(%rcx),%r14
1171
+ leaq 32(%rcx),%rcx
1172
+ movq %r11,0(%rdi)
1173
+ movq %r12,8(%rdi)
1174
+ movq %r13,16(%rdi)
1175
+ movq %r14,24(%rdi)
1176
+ leaq 32(%rdi),%rdi
1177
+ decq %rax // preserves %cf
1178
+ jnz .Lmulx4x_sub
1179
+
1180
+ sbbq $0,%r15 // top-most carry
1181
+ leaq 64(%rsp),%rbx
1182
+ subq %rdx,%rdi // rewind
1183
+
1184
+ movq %r15,%xmm1
1185
+ pxor %xmm0,%xmm0
1186
+ pshufd $0,%xmm1,%xmm1
1187
+ movq 40(%rsp),%rsi // restore %rsp
1188
+ .cfi_def_cfa %rsi,8
1189
+ jmp .Lmulx4x_cond_copy
1190
+
1191
+ .align 32
1192
+ .Lmulx4x_cond_copy:
1193
+ movdqa 0(%rbx),%xmm2
1194
+ movdqa 16(%rbx),%xmm3
1195
+ leaq 32(%rbx),%rbx
1196
+ movdqu 0(%rdi),%xmm4
1197
+ movdqu 16(%rdi),%xmm5
1198
+ leaq 32(%rdi),%rdi
1199
+ movdqa %xmm0,-32(%rbx) // zero tp
1200
+ movdqa %xmm0,-16(%rbx)
1201
+ pcmpeqd %xmm1,%xmm0
1202
+ pand %xmm1,%xmm2
1203
+ pand %xmm1,%xmm3
1204
+ pand %xmm0,%xmm4
1205
+ pand %xmm0,%xmm5
1206
+ pxor %xmm0,%xmm0
1207
+ por %xmm2,%xmm4
1208
+ por %xmm3,%xmm5
1209
+ movdqu %xmm4,-32(%rdi)
1210
+ movdqu %xmm5,-16(%rdi)
1211
+ subq $32,%rdx
1212
+ jnz .Lmulx4x_cond_copy
1213
+
1214
+ movq %rdx,(%rbx)
1215
+
1216
+ // No return value
1217
+ movq -48(%rsi),%r15
1218
+ .cfi_restore %r15
1219
+ movq -40(%rsi),%r14
1220
+ .cfi_restore %r14
1221
+ movq -32(%rsi),%r13
1222
+ .cfi_restore %r13
1223
+ movq -24(%rsi),%r12
1224
+ .cfi_restore %r12
1225
+ movq -16(%rsi),%rbp
1226
+ .cfi_restore %rbp
1227
+ movq -8(%rsi),%rbx
1228
+ .cfi_restore %rbx
1229
+ leaq (%rsi),%rsp
1230
+ .cfi_def_cfa_register %rsp
1231
+ .Lmulx4x_epilogue:
1232
+ ret
1233
+ .cfi_endproc
1234
+ .size bn_mulx4x_mont,.-bn_mulx4x_mont
1235
+ .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1236
+ .align 16
1237
+ #endif