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,2978 @@
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 sha512_block_data_order_nohw
10
+ .hidden sha512_block_data_order_nohw
11
+ .type sha512_block_data_order_nohw,@function
12
+ .align 16
13
+ sha512_block_data_order_nohw:
14
+ .cfi_startproc
15
+ _CET_ENDBR
16
+ movq %rsp,%rax // copy %rsp
17
+ .cfi_def_cfa_register %rax
18
+ pushq %rbx
19
+ .cfi_offset %rbx,-16
20
+ pushq %rbp
21
+ .cfi_offset %rbp,-24
22
+ pushq %r12
23
+ .cfi_offset %r12,-32
24
+ pushq %r13
25
+ .cfi_offset %r13,-40
26
+ pushq %r14
27
+ .cfi_offset %r14,-48
28
+ pushq %r15
29
+ .cfi_offset %r15,-56
30
+ shlq $4,%rdx // num*16
31
+ subq $128+32,%rsp
32
+ leaq (%rsi,%rdx,8),%rdx // inp+num*16*8
33
+ andq $-64,%rsp // align stack frame
34
+ movq %rdi,128+0(%rsp) // save ctx, 1st arg
35
+ movq %rsi,128+8(%rsp) // save inp, 2nd arh
36
+ movq %rdx,128+16(%rsp) // save end pointer, "3rd" arg
37
+ movq %rax,152(%rsp) // save copy of %rsp
38
+ .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
39
+ .Lprologue:
40
+
41
+ movq 0(%rdi),%rax
42
+ movq 8(%rdi),%rbx
43
+ movq 16(%rdi),%rcx
44
+ movq 24(%rdi),%rdx
45
+ movq 32(%rdi),%r8
46
+ movq 40(%rdi),%r9
47
+ movq 48(%rdi),%r10
48
+ movq 56(%rdi),%r11
49
+ jmp .Lloop
50
+
51
+ .align 16
52
+ .Lloop:
53
+ movq %rbx,%rdi
54
+ leaq K512(%rip),%rbp
55
+ xorq %rcx,%rdi // magic
56
+ movq 0(%rsi),%r12
57
+ movq %r8,%r13
58
+ movq %rax,%r14
59
+ bswapq %r12
60
+ rorq $23,%r13
61
+ movq %r9,%r15
62
+
63
+ xorq %r8,%r13
64
+ rorq $5,%r14
65
+ xorq %r10,%r15 // f^g
66
+
67
+ movq %r12,0(%rsp)
68
+ xorq %rax,%r14
69
+ andq %r8,%r15 // (f^g)&e
70
+
71
+ rorq $4,%r13
72
+ addq %r11,%r12 // T1+=h
73
+ xorq %r10,%r15 // Ch(e,f,g)=((f^g)&e)^g
74
+
75
+ rorq $6,%r14
76
+ xorq %r8,%r13
77
+ addq %r15,%r12 // T1+=Ch(e,f,g)
78
+
79
+ movq %rax,%r15
80
+ addq (%rbp),%r12 // T1+=K[round]
81
+ xorq %rax,%r14
82
+
83
+ xorq %rbx,%r15 // a^b, b^c in next round
84
+ rorq $14,%r13 // Sigma1(e)
85
+ movq %rbx,%r11
86
+
87
+ andq %r15,%rdi
88
+ rorq $28,%r14 // Sigma0(a)
89
+ addq %r13,%r12 // T1+=Sigma1(e)
90
+
91
+ xorq %rdi,%r11 // h=Maj(a,b,c)=Ch(a^b,c,b)
92
+ addq %r12,%rdx // d+=T1
93
+ addq %r12,%r11 // h+=T1
94
+
95
+ leaq 8(%rbp),%rbp // round++
96
+ addq %r14,%r11 // h+=Sigma0(a)
97
+ movq 8(%rsi),%r12
98
+ movq %rdx,%r13
99
+ movq %r11,%r14
100
+ bswapq %r12
101
+ rorq $23,%r13
102
+ movq %r8,%rdi
103
+
104
+ xorq %rdx,%r13
105
+ rorq $5,%r14
106
+ xorq %r9,%rdi // f^g
107
+
108
+ movq %r12,8(%rsp)
109
+ xorq %r11,%r14
110
+ andq %rdx,%rdi // (f^g)&e
111
+
112
+ rorq $4,%r13
113
+ addq %r10,%r12 // T1+=h
114
+ xorq %r9,%rdi // Ch(e,f,g)=((f^g)&e)^g
115
+
116
+ rorq $6,%r14
117
+ xorq %rdx,%r13
118
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
119
+
120
+ movq %r11,%rdi
121
+ addq (%rbp),%r12 // T1+=K[round]
122
+ xorq %r11,%r14
123
+
124
+ xorq %rax,%rdi // a^b, b^c in next round
125
+ rorq $14,%r13 // Sigma1(e)
126
+ movq %rax,%r10
127
+
128
+ andq %rdi,%r15
129
+ rorq $28,%r14 // Sigma0(a)
130
+ addq %r13,%r12 // T1+=Sigma1(e)
131
+
132
+ xorq %r15,%r10 // h=Maj(a,b,c)=Ch(a^b,c,b)
133
+ addq %r12,%rcx // d+=T1
134
+ addq %r12,%r10 // h+=T1
135
+
136
+ leaq 24(%rbp),%rbp // round++
137
+ addq %r14,%r10 // h+=Sigma0(a)
138
+ movq 16(%rsi),%r12
139
+ movq %rcx,%r13
140
+ movq %r10,%r14
141
+ bswapq %r12
142
+ rorq $23,%r13
143
+ movq %rdx,%r15
144
+
145
+ xorq %rcx,%r13
146
+ rorq $5,%r14
147
+ xorq %r8,%r15 // f^g
148
+
149
+ movq %r12,16(%rsp)
150
+ xorq %r10,%r14
151
+ andq %rcx,%r15 // (f^g)&e
152
+
153
+ rorq $4,%r13
154
+ addq %r9,%r12 // T1+=h
155
+ xorq %r8,%r15 // Ch(e,f,g)=((f^g)&e)^g
156
+
157
+ rorq $6,%r14
158
+ xorq %rcx,%r13
159
+ addq %r15,%r12 // T1+=Ch(e,f,g)
160
+
161
+ movq %r10,%r15
162
+ addq (%rbp),%r12 // T1+=K[round]
163
+ xorq %r10,%r14
164
+
165
+ xorq %r11,%r15 // a^b, b^c in next round
166
+ rorq $14,%r13 // Sigma1(e)
167
+ movq %r11,%r9
168
+
169
+ andq %r15,%rdi
170
+ rorq $28,%r14 // Sigma0(a)
171
+ addq %r13,%r12 // T1+=Sigma1(e)
172
+
173
+ xorq %rdi,%r9 // h=Maj(a,b,c)=Ch(a^b,c,b)
174
+ addq %r12,%rbx // d+=T1
175
+ addq %r12,%r9 // h+=T1
176
+
177
+ leaq 8(%rbp),%rbp // round++
178
+ addq %r14,%r9 // h+=Sigma0(a)
179
+ movq 24(%rsi),%r12
180
+ movq %rbx,%r13
181
+ movq %r9,%r14
182
+ bswapq %r12
183
+ rorq $23,%r13
184
+ movq %rcx,%rdi
185
+
186
+ xorq %rbx,%r13
187
+ rorq $5,%r14
188
+ xorq %rdx,%rdi // f^g
189
+
190
+ movq %r12,24(%rsp)
191
+ xorq %r9,%r14
192
+ andq %rbx,%rdi // (f^g)&e
193
+
194
+ rorq $4,%r13
195
+ addq %r8,%r12 // T1+=h
196
+ xorq %rdx,%rdi // Ch(e,f,g)=((f^g)&e)^g
197
+
198
+ rorq $6,%r14
199
+ xorq %rbx,%r13
200
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
201
+
202
+ movq %r9,%rdi
203
+ addq (%rbp),%r12 // T1+=K[round]
204
+ xorq %r9,%r14
205
+
206
+ xorq %r10,%rdi // a^b, b^c in next round
207
+ rorq $14,%r13 // Sigma1(e)
208
+ movq %r10,%r8
209
+
210
+ andq %rdi,%r15
211
+ rorq $28,%r14 // Sigma0(a)
212
+ addq %r13,%r12 // T1+=Sigma1(e)
213
+
214
+ xorq %r15,%r8 // h=Maj(a,b,c)=Ch(a^b,c,b)
215
+ addq %r12,%rax // d+=T1
216
+ addq %r12,%r8 // h+=T1
217
+
218
+ leaq 24(%rbp),%rbp // round++
219
+ addq %r14,%r8 // h+=Sigma0(a)
220
+ movq 32(%rsi),%r12
221
+ movq %rax,%r13
222
+ movq %r8,%r14
223
+ bswapq %r12
224
+ rorq $23,%r13
225
+ movq %rbx,%r15
226
+
227
+ xorq %rax,%r13
228
+ rorq $5,%r14
229
+ xorq %rcx,%r15 // f^g
230
+
231
+ movq %r12,32(%rsp)
232
+ xorq %r8,%r14
233
+ andq %rax,%r15 // (f^g)&e
234
+
235
+ rorq $4,%r13
236
+ addq %rdx,%r12 // T1+=h
237
+ xorq %rcx,%r15 // Ch(e,f,g)=((f^g)&e)^g
238
+
239
+ rorq $6,%r14
240
+ xorq %rax,%r13
241
+ addq %r15,%r12 // T1+=Ch(e,f,g)
242
+
243
+ movq %r8,%r15
244
+ addq (%rbp),%r12 // T1+=K[round]
245
+ xorq %r8,%r14
246
+
247
+ xorq %r9,%r15 // a^b, b^c in next round
248
+ rorq $14,%r13 // Sigma1(e)
249
+ movq %r9,%rdx
250
+
251
+ andq %r15,%rdi
252
+ rorq $28,%r14 // Sigma0(a)
253
+ addq %r13,%r12 // T1+=Sigma1(e)
254
+
255
+ xorq %rdi,%rdx // h=Maj(a,b,c)=Ch(a^b,c,b)
256
+ addq %r12,%r11 // d+=T1
257
+ addq %r12,%rdx // h+=T1
258
+
259
+ leaq 8(%rbp),%rbp // round++
260
+ addq %r14,%rdx // h+=Sigma0(a)
261
+ movq 40(%rsi),%r12
262
+ movq %r11,%r13
263
+ movq %rdx,%r14
264
+ bswapq %r12
265
+ rorq $23,%r13
266
+ movq %rax,%rdi
267
+
268
+ xorq %r11,%r13
269
+ rorq $5,%r14
270
+ xorq %rbx,%rdi // f^g
271
+
272
+ movq %r12,40(%rsp)
273
+ xorq %rdx,%r14
274
+ andq %r11,%rdi // (f^g)&e
275
+
276
+ rorq $4,%r13
277
+ addq %rcx,%r12 // T1+=h
278
+ xorq %rbx,%rdi // Ch(e,f,g)=((f^g)&e)^g
279
+
280
+ rorq $6,%r14
281
+ xorq %r11,%r13
282
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
283
+
284
+ movq %rdx,%rdi
285
+ addq (%rbp),%r12 // T1+=K[round]
286
+ xorq %rdx,%r14
287
+
288
+ xorq %r8,%rdi // a^b, b^c in next round
289
+ rorq $14,%r13 // Sigma1(e)
290
+ movq %r8,%rcx
291
+
292
+ andq %rdi,%r15
293
+ rorq $28,%r14 // Sigma0(a)
294
+ addq %r13,%r12 // T1+=Sigma1(e)
295
+
296
+ xorq %r15,%rcx // h=Maj(a,b,c)=Ch(a^b,c,b)
297
+ addq %r12,%r10 // d+=T1
298
+ addq %r12,%rcx // h+=T1
299
+
300
+ leaq 24(%rbp),%rbp // round++
301
+ addq %r14,%rcx // h+=Sigma0(a)
302
+ movq 48(%rsi),%r12
303
+ movq %r10,%r13
304
+ movq %rcx,%r14
305
+ bswapq %r12
306
+ rorq $23,%r13
307
+ movq %r11,%r15
308
+
309
+ xorq %r10,%r13
310
+ rorq $5,%r14
311
+ xorq %rax,%r15 // f^g
312
+
313
+ movq %r12,48(%rsp)
314
+ xorq %rcx,%r14
315
+ andq %r10,%r15 // (f^g)&e
316
+
317
+ rorq $4,%r13
318
+ addq %rbx,%r12 // T1+=h
319
+ xorq %rax,%r15 // Ch(e,f,g)=((f^g)&e)^g
320
+
321
+ rorq $6,%r14
322
+ xorq %r10,%r13
323
+ addq %r15,%r12 // T1+=Ch(e,f,g)
324
+
325
+ movq %rcx,%r15
326
+ addq (%rbp),%r12 // T1+=K[round]
327
+ xorq %rcx,%r14
328
+
329
+ xorq %rdx,%r15 // a^b, b^c in next round
330
+ rorq $14,%r13 // Sigma1(e)
331
+ movq %rdx,%rbx
332
+
333
+ andq %r15,%rdi
334
+ rorq $28,%r14 // Sigma0(a)
335
+ addq %r13,%r12 // T1+=Sigma1(e)
336
+
337
+ xorq %rdi,%rbx // h=Maj(a,b,c)=Ch(a^b,c,b)
338
+ addq %r12,%r9 // d+=T1
339
+ addq %r12,%rbx // h+=T1
340
+
341
+ leaq 8(%rbp),%rbp // round++
342
+ addq %r14,%rbx // h+=Sigma0(a)
343
+ movq 56(%rsi),%r12
344
+ movq %r9,%r13
345
+ movq %rbx,%r14
346
+ bswapq %r12
347
+ rorq $23,%r13
348
+ movq %r10,%rdi
349
+
350
+ xorq %r9,%r13
351
+ rorq $5,%r14
352
+ xorq %r11,%rdi // f^g
353
+
354
+ movq %r12,56(%rsp)
355
+ xorq %rbx,%r14
356
+ andq %r9,%rdi // (f^g)&e
357
+
358
+ rorq $4,%r13
359
+ addq %rax,%r12 // T1+=h
360
+ xorq %r11,%rdi // Ch(e,f,g)=((f^g)&e)^g
361
+
362
+ rorq $6,%r14
363
+ xorq %r9,%r13
364
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
365
+
366
+ movq %rbx,%rdi
367
+ addq (%rbp),%r12 // T1+=K[round]
368
+ xorq %rbx,%r14
369
+
370
+ xorq %rcx,%rdi // a^b, b^c in next round
371
+ rorq $14,%r13 // Sigma1(e)
372
+ movq %rcx,%rax
373
+
374
+ andq %rdi,%r15
375
+ rorq $28,%r14 // Sigma0(a)
376
+ addq %r13,%r12 // T1+=Sigma1(e)
377
+
378
+ xorq %r15,%rax // h=Maj(a,b,c)=Ch(a^b,c,b)
379
+ addq %r12,%r8 // d+=T1
380
+ addq %r12,%rax // h+=T1
381
+
382
+ leaq 24(%rbp),%rbp // round++
383
+ addq %r14,%rax // h+=Sigma0(a)
384
+ movq 64(%rsi),%r12
385
+ movq %r8,%r13
386
+ movq %rax,%r14
387
+ bswapq %r12
388
+ rorq $23,%r13
389
+ movq %r9,%r15
390
+
391
+ xorq %r8,%r13
392
+ rorq $5,%r14
393
+ xorq %r10,%r15 // f^g
394
+
395
+ movq %r12,64(%rsp)
396
+ xorq %rax,%r14
397
+ andq %r8,%r15 // (f^g)&e
398
+
399
+ rorq $4,%r13
400
+ addq %r11,%r12 // T1+=h
401
+ xorq %r10,%r15 // Ch(e,f,g)=((f^g)&e)^g
402
+
403
+ rorq $6,%r14
404
+ xorq %r8,%r13
405
+ addq %r15,%r12 // T1+=Ch(e,f,g)
406
+
407
+ movq %rax,%r15
408
+ addq (%rbp),%r12 // T1+=K[round]
409
+ xorq %rax,%r14
410
+
411
+ xorq %rbx,%r15 // a^b, b^c in next round
412
+ rorq $14,%r13 // Sigma1(e)
413
+ movq %rbx,%r11
414
+
415
+ andq %r15,%rdi
416
+ rorq $28,%r14 // Sigma0(a)
417
+ addq %r13,%r12 // T1+=Sigma1(e)
418
+
419
+ xorq %rdi,%r11 // h=Maj(a,b,c)=Ch(a^b,c,b)
420
+ addq %r12,%rdx // d+=T1
421
+ addq %r12,%r11 // h+=T1
422
+
423
+ leaq 8(%rbp),%rbp // round++
424
+ addq %r14,%r11 // h+=Sigma0(a)
425
+ movq 72(%rsi),%r12
426
+ movq %rdx,%r13
427
+ movq %r11,%r14
428
+ bswapq %r12
429
+ rorq $23,%r13
430
+ movq %r8,%rdi
431
+
432
+ xorq %rdx,%r13
433
+ rorq $5,%r14
434
+ xorq %r9,%rdi // f^g
435
+
436
+ movq %r12,72(%rsp)
437
+ xorq %r11,%r14
438
+ andq %rdx,%rdi // (f^g)&e
439
+
440
+ rorq $4,%r13
441
+ addq %r10,%r12 // T1+=h
442
+ xorq %r9,%rdi // Ch(e,f,g)=((f^g)&e)^g
443
+
444
+ rorq $6,%r14
445
+ xorq %rdx,%r13
446
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
447
+
448
+ movq %r11,%rdi
449
+ addq (%rbp),%r12 // T1+=K[round]
450
+ xorq %r11,%r14
451
+
452
+ xorq %rax,%rdi // a^b, b^c in next round
453
+ rorq $14,%r13 // Sigma1(e)
454
+ movq %rax,%r10
455
+
456
+ andq %rdi,%r15
457
+ rorq $28,%r14 // Sigma0(a)
458
+ addq %r13,%r12 // T1+=Sigma1(e)
459
+
460
+ xorq %r15,%r10 // h=Maj(a,b,c)=Ch(a^b,c,b)
461
+ addq %r12,%rcx // d+=T1
462
+ addq %r12,%r10 // h+=T1
463
+
464
+ leaq 24(%rbp),%rbp // round++
465
+ addq %r14,%r10 // h+=Sigma0(a)
466
+ movq 80(%rsi),%r12
467
+ movq %rcx,%r13
468
+ movq %r10,%r14
469
+ bswapq %r12
470
+ rorq $23,%r13
471
+ movq %rdx,%r15
472
+
473
+ xorq %rcx,%r13
474
+ rorq $5,%r14
475
+ xorq %r8,%r15 // f^g
476
+
477
+ movq %r12,80(%rsp)
478
+ xorq %r10,%r14
479
+ andq %rcx,%r15 // (f^g)&e
480
+
481
+ rorq $4,%r13
482
+ addq %r9,%r12 // T1+=h
483
+ xorq %r8,%r15 // Ch(e,f,g)=((f^g)&e)^g
484
+
485
+ rorq $6,%r14
486
+ xorq %rcx,%r13
487
+ addq %r15,%r12 // T1+=Ch(e,f,g)
488
+
489
+ movq %r10,%r15
490
+ addq (%rbp),%r12 // T1+=K[round]
491
+ xorq %r10,%r14
492
+
493
+ xorq %r11,%r15 // a^b, b^c in next round
494
+ rorq $14,%r13 // Sigma1(e)
495
+ movq %r11,%r9
496
+
497
+ andq %r15,%rdi
498
+ rorq $28,%r14 // Sigma0(a)
499
+ addq %r13,%r12 // T1+=Sigma1(e)
500
+
501
+ xorq %rdi,%r9 // h=Maj(a,b,c)=Ch(a^b,c,b)
502
+ addq %r12,%rbx // d+=T1
503
+ addq %r12,%r9 // h+=T1
504
+
505
+ leaq 8(%rbp),%rbp // round++
506
+ addq %r14,%r9 // h+=Sigma0(a)
507
+ movq 88(%rsi),%r12
508
+ movq %rbx,%r13
509
+ movq %r9,%r14
510
+ bswapq %r12
511
+ rorq $23,%r13
512
+ movq %rcx,%rdi
513
+
514
+ xorq %rbx,%r13
515
+ rorq $5,%r14
516
+ xorq %rdx,%rdi // f^g
517
+
518
+ movq %r12,88(%rsp)
519
+ xorq %r9,%r14
520
+ andq %rbx,%rdi // (f^g)&e
521
+
522
+ rorq $4,%r13
523
+ addq %r8,%r12 // T1+=h
524
+ xorq %rdx,%rdi // Ch(e,f,g)=((f^g)&e)^g
525
+
526
+ rorq $6,%r14
527
+ xorq %rbx,%r13
528
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
529
+
530
+ movq %r9,%rdi
531
+ addq (%rbp),%r12 // T1+=K[round]
532
+ xorq %r9,%r14
533
+
534
+ xorq %r10,%rdi // a^b, b^c in next round
535
+ rorq $14,%r13 // Sigma1(e)
536
+ movq %r10,%r8
537
+
538
+ andq %rdi,%r15
539
+ rorq $28,%r14 // Sigma0(a)
540
+ addq %r13,%r12 // T1+=Sigma1(e)
541
+
542
+ xorq %r15,%r8 // h=Maj(a,b,c)=Ch(a^b,c,b)
543
+ addq %r12,%rax // d+=T1
544
+ addq %r12,%r8 // h+=T1
545
+
546
+ leaq 24(%rbp),%rbp // round++
547
+ addq %r14,%r8 // h+=Sigma0(a)
548
+ movq 96(%rsi),%r12
549
+ movq %rax,%r13
550
+ movq %r8,%r14
551
+ bswapq %r12
552
+ rorq $23,%r13
553
+ movq %rbx,%r15
554
+
555
+ xorq %rax,%r13
556
+ rorq $5,%r14
557
+ xorq %rcx,%r15 // f^g
558
+
559
+ movq %r12,96(%rsp)
560
+ xorq %r8,%r14
561
+ andq %rax,%r15 // (f^g)&e
562
+
563
+ rorq $4,%r13
564
+ addq %rdx,%r12 // T1+=h
565
+ xorq %rcx,%r15 // Ch(e,f,g)=((f^g)&e)^g
566
+
567
+ rorq $6,%r14
568
+ xorq %rax,%r13
569
+ addq %r15,%r12 // T1+=Ch(e,f,g)
570
+
571
+ movq %r8,%r15
572
+ addq (%rbp),%r12 // T1+=K[round]
573
+ xorq %r8,%r14
574
+
575
+ xorq %r9,%r15 // a^b, b^c in next round
576
+ rorq $14,%r13 // Sigma1(e)
577
+ movq %r9,%rdx
578
+
579
+ andq %r15,%rdi
580
+ rorq $28,%r14 // Sigma0(a)
581
+ addq %r13,%r12 // T1+=Sigma1(e)
582
+
583
+ xorq %rdi,%rdx // h=Maj(a,b,c)=Ch(a^b,c,b)
584
+ addq %r12,%r11 // d+=T1
585
+ addq %r12,%rdx // h+=T1
586
+
587
+ leaq 8(%rbp),%rbp // round++
588
+ addq %r14,%rdx // h+=Sigma0(a)
589
+ movq 104(%rsi),%r12
590
+ movq %r11,%r13
591
+ movq %rdx,%r14
592
+ bswapq %r12
593
+ rorq $23,%r13
594
+ movq %rax,%rdi
595
+
596
+ xorq %r11,%r13
597
+ rorq $5,%r14
598
+ xorq %rbx,%rdi // f^g
599
+
600
+ movq %r12,104(%rsp)
601
+ xorq %rdx,%r14
602
+ andq %r11,%rdi // (f^g)&e
603
+
604
+ rorq $4,%r13
605
+ addq %rcx,%r12 // T1+=h
606
+ xorq %rbx,%rdi // Ch(e,f,g)=((f^g)&e)^g
607
+
608
+ rorq $6,%r14
609
+ xorq %r11,%r13
610
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
611
+
612
+ movq %rdx,%rdi
613
+ addq (%rbp),%r12 // T1+=K[round]
614
+ xorq %rdx,%r14
615
+
616
+ xorq %r8,%rdi // a^b, b^c in next round
617
+ rorq $14,%r13 // Sigma1(e)
618
+ movq %r8,%rcx
619
+
620
+ andq %rdi,%r15
621
+ rorq $28,%r14 // Sigma0(a)
622
+ addq %r13,%r12 // T1+=Sigma1(e)
623
+
624
+ xorq %r15,%rcx // h=Maj(a,b,c)=Ch(a^b,c,b)
625
+ addq %r12,%r10 // d+=T1
626
+ addq %r12,%rcx // h+=T1
627
+
628
+ leaq 24(%rbp),%rbp // round++
629
+ addq %r14,%rcx // h+=Sigma0(a)
630
+ movq 112(%rsi),%r12
631
+ movq %r10,%r13
632
+ movq %rcx,%r14
633
+ bswapq %r12
634
+ rorq $23,%r13
635
+ movq %r11,%r15
636
+
637
+ xorq %r10,%r13
638
+ rorq $5,%r14
639
+ xorq %rax,%r15 // f^g
640
+
641
+ movq %r12,112(%rsp)
642
+ xorq %rcx,%r14
643
+ andq %r10,%r15 // (f^g)&e
644
+
645
+ rorq $4,%r13
646
+ addq %rbx,%r12 // T1+=h
647
+ xorq %rax,%r15 // Ch(e,f,g)=((f^g)&e)^g
648
+
649
+ rorq $6,%r14
650
+ xorq %r10,%r13
651
+ addq %r15,%r12 // T1+=Ch(e,f,g)
652
+
653
+ movq %rcx,%r15
654
+ addq (%rbp),%r12 // T1+=K[round]
655
+ xorq %rcx,%r14
656
+
657
+ xorq %rdx,%r15 // a^b, b^c in next round
658
+ rorq $14,%r13 // Sigma1(e)
659
+ movq %rdx,%rbx
660
+
661
+ andq %r15,%rdi
662
+ rorq $28,%r14 // Sigma0(a)
663
+ addq %r13,%r12 // T1+=Sigma1(e)
664
+
665
+ xorq %rdi,%rbx // h=Maj(a,b,c)=Ch(a^b,c,b)
666
+ addq %r12,%r9 // d+=T1
667
+ addq %r12,%rbx // h+=T1
668
+
669
+ leaq 8(%rbp),%rbp // round++
670
+ addq %r14,%rbx // h+=Sigma0(a)
671
+ movq 120(%rsi),%r12
672
+ movq %r9,%r13
673
+ movq %rbx,%r14
674
+ bswapq %r12
675
+ rorq $23,%r13
676
+ movq %r10,%rdi
677
+
678
+ xorq %r9,%r13
679
+ rorq $5,%r14
680
+ xorq %r11,%rdi // f^g
681
+
682
+ movq %r12,120(%rsp)
683
+ xorq %rbx,%r14
684
+ andq %r9,%rdi // (f^g)&e
685
+
686
+ rorq $4,%r13
687
+ addq %rax,%r12 // T1+=h
688
+ xorq %r11,%rdi // Ch(e,f,g)=((f^g)&e)^g
689
+
690
+ rorq $6,%r14
691
+ xorq %r9,%r13
692
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
693
+
694
+ movq %rbx,%rdi
695
+ addq (%rbp),%r12 // T1+=K[round]
696
+ xorq %rbx,%r14
697
+
698
+ xorq %rcx,%rdi // a^b, b^c in next round
699
+ rorq $14,%r13 // Sigma1(e)
700
+ movq %rcx,%rax
701
+
702
+ andq %rdi,%r15
703
+ rorq $28,%r14 // Sigma0(a)
704
+ addq %r13,%r12 // T1+=Sigma1(e)
705
+
706
+ xorq %r15,%rax // h=Maj(a,b,c)=Ch(a^b,c,b)
707
+ addq %r12,%r8 // d+=T1
708
+ addq %r12,%rax // h+=T1
709
+
710
+ leaq 24(%rbp),%rbp // round++
711
+ jmp .Lrounds_16_xx
712
+ .align 16
713
+ .Lrounds_16_xx:
714
+ movq 8(%rsp),%r13
715
+ movq 112(%rsp),%r15
716
+
717
+ movq %r13,%r12
718
+ rorq $7,%r13
719
+ addq %r14,%rax // modulo-scheduled h+=Sigma0(a)
720
+ movq %r15,%r14
721
+ rorq $42,%r15
722
+
723
+ xorq %r12,%r13
724
+ shrq $7,%r12
725
+ rorq $1,%r13
726
+ xorq %r14,%r15
727
+ shrq $6,%r14
728
+
729
+ rorq $19,%r15
730
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
731
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
732
+ addq 72(%rsp),%r12
733
+
734
+ addq 0(%rsp),%r12
735
+ movq %r8,%r13
736
+ addq %r15,%r12
737
+ movq %rax,%r14
738
+ rorq $23,%r13
739
+ movq %r9,%r15
740
+
741
+ xorq %r8,%r13
742
+ rorq $5,%r14
743
+ xorq %r10,%r15 // f^g
744
+
745
+ movq %r12,0(%rsp)
746
+ xorq %rax,%r14
747
+ andq %r8,%r15 // (f^g)&e
748
+
749
+ rorq $4,%r13
750
+ addq %r11,%r12 // T1+=h
751
+ xorq %r10,%r15 // Ch(e,f,g)=((f^g)&e)^g
752
+
753
+ rorq $6,%r14
754
+ xorq %r8,%r13
755
+ addq %r15,%r12 // T1+=Ch(e,f,g)
756
+
757
+ movq %rax,%r15
758
+ addq (%rbp),%r12 // T1+=K[round]
759
+ xorq %rax,%r14
760
+
761
+ xorq %rbx,%r15 // a^b, b^c in next round
762
+ rorq $14,%r13 // Sigma1(e)
763
+ movq %rbx,%r11
764
+
765
+ andq %r15,%rdi
766
+ rorq $28,%r14 // Sigma0(a)
767
+ addq %r13,%r12 // T1+=Sigma1(e)
768
+
769
+ xorq %rdi,%r11 // h=Maj(a,b,c)=Ch(a^b,c,b)
770
+ addq %r12,%rdx // d+=T1
771
+ addq %r12,%r11 // h+=T1
772
+
773
+ leaq 8(%rbp),%rbp // round++
774
+ movq 16(%rsp),%r13
775
+ movq 120(%rsp),%rdi
776
+
777
+ movq %r13,%r12
778
+ rorq $7,%r13
779
+ addq %r14,%r11 // modulo-scheduled h+=Sigma0(a)
780
+ movq %rdi,%r14
781
+ rorq $42,%rdi
782
+
783
+ xorq %r12,%r13
784
+ shrq $7,%r12
785
+ rorq $1,%r13
786
+ xorq %r14,%rdi
787
+ shrq $6,%r14
788
+
789
+ rorq $19,%rdi
790
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
791
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
792
+ addq 80(%rsp),%r12
793
+
794
+ addq 8(%rsp),%r12
795
+ movq %rdx,%r13
796
+ addq %rdi,%r12
797
+ movq %r11,%r14
798
+ rorq $23,%r13
799
+ movq %r8,%rdi
800
+
801
+ xorq %rdx,%r13
802
+ rorq $5,%r14
803
+ xorq %r9,%rdi // f^g
804
+
805
+ movq %r12,8(%rsp)
806
+ xorq %r11,%r14
807
+ andq %rdx,%rdi // (f^g)&e
808
+
809
+ rorq $4,%r13
810
+ addq %r10,%r12 // T1+=h
811
+ xorq %r9,%rdi // Ch(e,f,g)=((f^g)&e)^g
812
+
813
+ rorq $6,%r14
814
+ xorq %rdx,%r13
815
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
816
+
817
+ movq %r11,%rdi
818
+ addq (%rbp),%r12 // T1+=K[round]
819
+ xorq %r11,%r14
820
+
821
+ xorq %rax,%rdi // a^b, b^c in next round
822
+ rorq $14,%r13 // Sigma1(e)
823
+ movq %rax,%r10
824
+
825
+ andq %rdi,%r15
826
+ rorq $28,%r14 // Sigma0(a)
827
+ addq %r13,%r12 // T1+=Sigma1(e)
828
+
829
+ xorq %r15,%r10 // h=Maj(a,b,c)=Ch(a^b,c,b)
830
+ addq %r12,%rcx // d+=T1
831
+ addq %r12,%r10 // h+=T1
832
+
833
+ leaq 24(%rbp),%rbp // round++
834
+ movq 24(%rsp),%r13
835
+ movq 0(%rsp),%r15
836
+
837
+ movq %r13,%r12
838
+ rorq $7,%r13
839
+ addq %r14,%r10 // modulo-scheduled h+=Sigma0(a)
840
+ movq %r15,%r14
841
+ rorq $42,%r15
842
+
843
+ xorq %r12,%r13
844
+ shrq $7,%r12
845
+ rorq $1,%r13
846
+ xorq %r14,%r15
847
+ shrq $6,%r14
848
+
849
+ rorq $19,%r15
850
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
851
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
852
+ addq 88(%rsp),%r12
853
+
854
+ addq 16(%rsp),%r12
855
+ movq %rcx,%r13
856
+ addq %r15,%r12
857
+ movq %r10,%r14
858
+ rorq $23,%r13
859
+ movq %rdx,%r15
860
+
861
+ xorq %rcx,%r13
862
+ rorq $5,%r14
863
+ xorq %r8,%r15 // f^g
864
+
865
+ movq %r12,16(%rsp)
866
+ xorq %r10,%r14
867
+ andq %rcx,%r15 // (f^g)&e
868
+
869
+ rorq $4,%r13
870
+ addq %r9,%r12 // T1+=h
871
+ xorq %r8,%r15 // Ch(e,f,g)=((f^g)&e)^g
872
+
873
+ rorq $6,%r14
874
+ xorq %rcx,%r13
875
+ addq %r15,%r12 // T1+=Ch(e,f,g)
876
+
877
+ movq %r10,%r15
878
+ addq (%rbp),%r12 // T1+=K[round]
879
+ xorq %r10,%r14
880
+
881
+ xorq %r11,%r15 // a^b, b^c in next round
882
+ rorq $14,%r13 // Sigma1(e)
883
+ movq %r11,%r9
884
+
885
+ andq %r15,%rdi
886
+ rorq $28,%r14 // Sigma0(a)
887
+ addq %r13,%r12 // T1+=Sigma1(e)
888
+
889
+ xorq %rdi,%r9 // h=Maj(a,b,c)=Ch(a^b,c,b)
890
+ addq %r12,%rbx // d+=T1
891
+ addq %r12,%r9 // h+=T1
892
+
893
+ leaq 8(%rbp),%rbp // round++
894
+ movq 32(%rsp),%r13
895
+ movq 8(%rsp),%rdi
896
+
897
+ movq %r13,%r12
898
+ rorq $7,%r13
899
+ addq %r14,%r9 // modulo-scheduled h+=Sigma0(a)
900
+ movq %rdi,%r14
901
+ rorq $42,%rdi
902
+
903
+ xorq %r12,%r13
904
+ shrq $7,%r12
905
+ rorq $1,%r13
906
+ xorq %r14,%rdi
907
+ shrq $6,%r14
908
+
909
+ rorq $19,%rdi
910
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
911
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
912
+ addq 96(%rsp),%r12
913
+
914
+ addq 24(%rsp),%r12
915
+ movq %rbx,%r13
916
+ addq %rdi,%r12
917
+ movq %r9,%r14
918
+ rorq $23,%r13
919
+ movq %rcx,%rdi
920
+
921
+ xorq %rbx,%r13
922
+ rorq $5,%r14
923
+ xorq %rdx,%rdi // f^g
924
+
925
+ movq %r12,24(%rsp)
926
+ xorq %r9,%r14
927
+ andq %rbx,%rdi // (f^g)&e
928
+
929
+ rorq $4,%r13
930
+ addq %r8,%r12 // T1+=h
931
+ xorq %rdx,%rdi // Ch(e,f,g)=((f^g)&e)^g
932
+
933
+ rorq $6,%r14
934
+ xorq %rbx,%r13
935
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
936
+
937
+ movq %r9,%rdi
938
+ addq (%rbp),%r12 // T1+=K[round]
939
+ xorq %r9,%r14
940
+
941
+ xorq %r10,%rdi // a^b, b^c in next round
942
+ rorq $14,%r13 // Sigma1(e)
943
+ movq %r10,%r8
944
+
945
+ andq %rdi,%r15
946
+ rorq $28,%r14 // Sigma0(a)
947
+ addq %r13,%r12 // T1+=Sigma1(e)
948
+
949
+ xorq %r15,%r8 // h=Maj(a,b,c)=Ch(a^b,c,b)
950
+ addq %r12,%rax // d+=T1
951
+ addq %r12,%r8 // h+=T1
952
+
953
+ leaq 24(%rbp),%rbp // round++
954
+ movq 40(%rsp),%r13
955
+ movq 16(%rsp),%r15
956
+
957
+ movq %r13,%r12
958
+ rorq $7,%r13
959
+ addq %r14,%r8 // modulo-scheduled h+=Sigma0(a)
960
+ movq %r15,%r14
961
+ rorq $42,%r15
962
+
963
+ xorq %r12,%r13
964
+ shrq $7,%r12
965
+ rorq $1,%r13
966
+ xorq %r14,%r15
967
+ shrq $6,%r14
968
+
969
+ rorq $19,%r15
970
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
971
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
972
+ addq 104(%rsp),%r12
973
+
974
+ addq 32(%rsp),%r12
975
+ movq %rax,%r13
976
+ addq %r15,%r12
977
+ movq %r8,%r14
978
+ rorq $23,%r13
979
+ movq %rbx,%r15
980
+
981
+ xorq %rax,%r13
982
+ rorq $5,%r14
983
+ xorq %rcx,%r15 // f^g
984
+
985
+ movq %r12,32(%rsp)
986
+ xorq %r8,%r14
987
+ andq %rax,%r15 // (f^g)&e
988
+
989
+ rorq $4,%r13
990
+ addq %rdx,%r12 // T1+=h
991
+ xorq %rcx,%r15 // Ch(e,f,g)=((f^g)&e)^g
992
+
993
+ rorq $6,%r14
994
+ xorq %rax,%r13
995
+ addq %r15,%r12 // T1+=Ch(e,f,g)
996
+
997
+ movq %r8,%r15
998
+ addq (%rbp),%r12 // T1+=K[round]
999
+ xorq %r8,%r14
1000
+
1001
+ xorq %r9,%r15 // a^b, b^c in next round
1002
+ rorq $14,%r13 // Sigma1(e)
1003
+ movq %r9,%rdx
1004
+
1005
+ andq %r15,%rdi
1006
+ rorq $28,%r14 // Sigma0(a)
1007
+ addq %r13,%r12 // T1+=Sigma1(e)
1008
+
1009
+ xorq %rdi,%rdx // h=Maj(a,b,c)=Ch(a^b,c,b)
1010
+ addq %r12,%r11 // d+=T1
1011
+ addq %r12,%rdx // h+=T1
1012
+
1013
+ leaq 8(%rbp),%rbp // round++
1014
+ movq 48(%rsp),%r13
1015
+ movq 24(%rsp),%rdi
1016
+
1017
+ movq %r13,%r12
1018
+ rorq $7,%r13
1019
+ addq %r14,%rdx // modulo-scheduled h+=Sigma0(a)
1020
+ movq %rdi,%r14
1021
+ rorq $42,%rdi
1022
+
1023
+ xorq %r12,%r13
1024
+ shrq $7,%r12
1025
+ rorq $1,%r13
1026
+ xorq %r14,%rdi
1027
+ shrq $6,%r14
1028
+
1029
+ rorq $19,%rdi
1030
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1031
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1032
+ addq 112(%rsp),%r12
1033
+
1034
+ addq 40(%rsp),%r12
1035
+ movq %r11,%r13
1036
+ addq %rdi,%r12
1037
+ movq %rdx,%r14
1038
+ rorq $23,%r13
1039
+ movq %rax,%rdi
1040
+
1041
+ xorq %r11,%r13
1042
+ rorq $5,%r14
1043
+ xorq %rbx,%rdi // f^g
1044
+
1045
+ movq %r12,40(%rsp)
1046
+ xorq %rdx,%r14
1047
+ andq %r11,%rdi // (f^g)&e
1048
+
1049
+ rorq $4,%r13
1050
+ addq %rcx,%r12 // T1+=h
1051
+ xorq %rbx,%rdi // Ch(e,f,g)=((f^g)&e)^g
1052
+
1053
+ rorq $6,%r14
1054
+ xorq %r11,%r13
1055
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1056
+
1057
+ movq %rdx,%rdi
1058
+ addq (%rbp),%r12 // T1+=K[round]
1059
+ xorq %rdx,%r14
1060
+
1061
+ xorq %r8,%rdi // a^b, b^c in next round
1062
+ rorq $14,%r13 // Sigma1(e)
1063
+ movq %r8,%rcx
1064
+
1065
+ andq %rdi,%r15
1066
+ rorq $28,%r14 // Sigma0(a)
1067
+ addq %r13,%r12 // T1+=Sigma1(e)
1068
+
1069
+ xorq %r15,%rcx // h=Maj(a,b,c)=Ch(a^b,c,b)
1070
+ addq %r12,%r10 // d+=T1
1071
+ addq %r12,%rcx // h+=T1
1072
+
1073
+ leaq 24(%rbp),%rbp // round++
1074
+ movq 56(%rsp),%r13
1075
+ movq 32(%rsp),%r15
1076
+
1077
+ movq %r13,%r12
1078
+ rorq $7,%r13
1079
+ addq %r14,%rcx // modulo-scheduled h+=Sigma0(a)
1080
+ movq %r15,%r14
1081
+ rorq $42,%r15
1082
+
1083
+ xorq %r12,%r13
1084
+ shrq $7,%r12
1085
+ rorq $1,%r13
1086
+ xorq %r14,%r15
1087
+ shrq $6,%r14
1088
+
1089
+ rorq $19,%r15
1090
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1091
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
1092
+ addq 120(%rsp),%r12
1093
+
1094
+ addq 48(%rsp),%r12
1095
+ movq %r10,%r13
1096
+ addq %r15,%r12
1097
+ movq %rcx,%r14
1098
+ rorq $23,%r13
1099
+ movq %r11,%r15
1100
+
1101
+ xorq %r10,%r13
1102
+ rorq $5,%r14
1103
+ xorq %rax,%r15 // f^g
1104
+
1105
+ movq %r12,48(%rsp)
1106
+ xorq %rcx,%r14
1107
+ andq %r10,%r15 // (f^g)&e
1108
+
1109
+ rorq $4,%r13
1110
+ addq %rbx,%r12 // T1+=h
1111
+ xorq %rax,%r15 // Ch(e,f,g)=((f^g)&e)^g
1112
+
1113
+ rorq $6,%r14
1114
+ xorq %r10,%r13
1115
+ addq %r15,%r12 // T1+=Ch(e,f,g)
1116
+
1117
+ movq %rcx,%r15
1118
+ addq (%rbp),%r12 // T1+=K[round]
1119
+ xorq %rcx,%r14
1120
+
1121
+ xorq %rdx,%r15 // a^b, b^c in next round
1122
+ rorq $14,%r13 // Sigma1(e)
1123
+ movq %rdx,%rbx
1124
+
1125
+ andq %r15,%rdi
1126
+ rorq $28,%r14 // Sigma0(a)
1127
+ addq %r13,%r12 // T1+=Sigma1(e)
1128
+
1129
+ xorq %rdi,%rbx // h=Maj(a,b,c)=Ch(a^b,c,b)
1130
+ addq %r12,%r9 // d+=T1
1131
+ addq %r12,%rbx // h+=T1
1132
+
1133
+ leaq 8(%rbp),%rbp // round++
1134
+ movq 64(%rsp),%r13
1135
+ movq 40(%rsp),%rdi
1136
+
1137
+ movq %r13,%r12
1138
+ rorq $7,%r13
1139
+ addq %r14,%rbx // modulo-scheduled h+=Sigma0(a)
1140
+ movq %rdi,%r14
1141
+ rorq $42,%rdi
1142
+
1143
+ xorq %r12,%r13
1144
+ shrq $7,%r12
1145
+ rorq $1,%r13
1146
+ xorq %r14,%rdi
1147
+ shrq $6,%r14
1148
+
1149
+ rorq $19,%rdi
1150
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1151
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1152
+ addq 0(%rsp),%r12
1153
+
1154
+ addq 56(%rsp),%r12
1155
+ movq %r9,%r13
1156
+ addq %rdi,%r12
1157
+ movq %rbx,%r14
1158
+ rorq $23,%r13
1159
+ movq %r10,%rdi
1160
+
1161
+ xorq %r9,%r13
1162
+ rorq $5,%r14
1163
+ xorq %r11,%rdi // f^g
1164
+
1165
+ movq %r12,56(%rsp)
1166
+ xorq %rbx,%r14
1167
+ andq %r9,%rdi // (f^g)&e
1168
+
1169
+ rorq $4,%r13
1170
+ addq %rax,%r12 // T1+=h
1171
+ xorq %r11,%rdi // Ch(e,f,g)=((f^g)&e)^g
1172
+
1173
+ rorq $6,%r14
1174
+ xorq %r9,%r13
1175
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1176
+
1177
+ movq %rbx,%rdi
1178
+ addq (%rbp),%r12 // T1+=K[round]
1179
+ xorq %rbx,%r14
1180
+
1181
+ xorq %rcx,%rdi // a^b, b^c in next round
1182
+ rorq $14,%r13 // Sigma1(e)
1183
+ movq %rcx,%rax
1184
+
1185
+ andq %rdi,%r15
1186
+ rorq $28,%r14 // Sigma0(a)
1187
+ addq %r13,%r12 // T1+=Sigma1(e)
1188
+
1189
+ xorq %r15,%rax // h=Maj(a,b,c)=Ch(a^b,c,b)
1190
+ addq %r12,%r8 // d+=T1
1191
+ addq %r12,%rax // h+=T1
1192
+
1193
+ leaq 24(%rbp),%rbp // round++
1194
+ movq 72(%rsp),%r13
1195
+ movq 48(%rsp),%r15
1196
+
1197
+ movq %r13,%r12
1198
+ rorq $7,%r13
1199
+ addq %r14,%rax // modulo-scheduled h+=Sigma0(a)
1200
+ movq %r15,%r14
1201
+ rorq $42,%r15
1202
+
1203
+ xorq %r12,%r13
1204
+ shrq $7,%r12
1205
+ rorq $1,%r13
1206
+ xorq %r14,%r15
1207
+ shrq $6,%r14
1208
+
1209
+ rorq $19,%r15
1210
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1211
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
1212
+ addq 8(%rsp),%r12
1213
+
1214
+ addq 64(%rsp),%r12
1215
+ movq %r8,%r13
1216
+ addq %r15,%r12
1217
+ movq %rax,%r14
1218
+ rorq $23,%r13
1219
+ movq %r9,%r15
1220
+
1221
+ xorq %r8,%r13
1222
+ rorq $5,%r14
1223
+ xorq %r10,%r15 // f^g
1224
+
1225
+ movq %r12,64(%rsp)
1226
+ xorq %rax,%r14
1227
+ andq %r8,%r15 // (f^g)&e
1228
+
1229
+ rorq $4,%r13
1230
+ addq %r11,%r12 // T1+=h
1231
+ xorq %r10,%r15 // Ch(e,f,g)=((f^g)&e)^g
1232
+
1233
+ rorq $6,%r14
1234
+ xorq %r8,%r13
1235
+ addq %r15,%r12 // T1+=Ch(e,f,g)
1236
+
1237
+ movq %rax,%r15
1238
+ addq (%rbp),%r12 // T1+=K[round]
1239
+ xorq %rax,%r14
1240
+
1241
+ xorq %rbx,%r15 // a^b, b^c in next round
1242
+ rorq $14,%r13 // Sigma1(e)
1243
+ movq %rbx,%r11
1244
+
1245
+ andq %r15,%rdi
1246
+ rorq $28,%r14 // Sigma0(a)
1247
+ addq %r13,%r12 // T1+=Sigma1(e)
1248
+
1249
+ xorq %rdi,%r11 // h=Maj(a,b,c)=Ch(a^b,c,b)
1250
+ addq %r12,%rdx // d+=T1
1251
+ addq %r12,%r11 // h+=T1
1252
+
1253
+ leaq 8(%rbp),%rbp // round++
1254
+ movq 80(%rsp),%r13
1255
+ movq 56(%rsp),%rdi
1256
+
1257
+ movq %r13,%r12
1258
+ rorq $7,%r13
1259
+ addq %r14,%r11 // modulo-scheduled h+=Sigma0(a)
1260
+ movq %rdi,%r14
1261
+ rorq $42,%rdi
1262
+
1263
+ xorq %r12,%r13
1264
+ shrq $7,%r12
1265
+ rorq $1,%r13
1266
+ xorq %r14,%rdi
1267
+ shrq $6,%r14
1268
+
1269
+ rorq $19,%rdi
1270
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1271
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1272
+ addq 16(%rsp),%r12
1273
+
1274
+ addq 72(%rsp),%r12
1275
+ movq %rdx,%r13
1276
+ addq %rdi,%r12
1277
+ movq %r11,%r14
1278
+ rorq $23,%r13
1279
+ movq %r8,%rdi
1280
+
1281
+ xorq %rdx,%r13
1282
+ rorq $5,%r14
1283
+ xorq %r9,%rdi // f^g
1284
+
1285
+ movq %r12,72(%rsp)
1286
+ xorq %r11,%r14
1287
+ andq %rdx,%rdi // (f^g)&e
1288
+
1289
+ rorq $4,%r13
1290
+ addq %r10,%r12 // T1+=h
1291
+ xorq %r9,%rdi // Ch(e,f,g)=((f^g)&e)^g
1292
+
1293
+ rorq $6,%r14
1294
+ xorq %rdx,%r13
1295
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1296
+
1297
+ movq %r11,%rdi
1298
+ addq (%rbp),%r12 // T1+=K[round]
1299
+ xorq %r11,%r14
1300
+
1301
+ xorq %rax,%rdi // a^b, b^c in next round
1302
+ rorq $14,%r13 // Sigma1(e)
1303
+ movq %rax,%r10
1304
+
1305
+ andq %rdi,%r15
1306
+ rorq $28,%r14 // Sigma0(a)
1307
+ addq %r13,%r12 // T1+=Sigma1(e)
1308
+
1309
+ xorq %r15,%r10 // h=Maj(a,b,c)=Ch(a^b,c,b)
1310
+ addq %r12,%rcx // d+=T1
1311
+ addq %r12,%r10 // h+=T1
1312
+
1313
+ leaq 24(%rbp),%rbp // round++
1314
+ movq 88(%rsp),%r13
1315
+ movq 64(%rsp),%r15
1316
+
1317
+ movq %r13,%r12
1318
+ rorq $7,%r13
1319
+ addq %r14,%r10 // modulo-scheduled h+=Sigma0(a)
1320
+ movq %r15,%r14
1321
+ rorq $42,%r15
1322
+
1323
+ xorq %r12,%r13
1324
+ shrq $7,%r12
1325
+ rorq $1,%r13
1326
+ xorq %r14,%r15
1327
+ shrq $6,%r14
1328
+
1329
+ rorq $19,%r15
1330
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1331
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
1332
+ addq 24(%rsp),%r12
1333
+
1334
+ addq 80(%rsp),%r12
1335
+ movq %rcx,%r13
1336
+ addq %r15,%r12
1337
+ movq %r10,%r14
1338
+ rorq $23,%r13
1339
+ movq %rdx,%r15
1340
+
1341
+ xorq %rcx,%r13
1342
+ rorq $5,%r14
1343
+ xorq %r8,%r15 // f^g
1344
+
1345
+ movq %r12,80(%rsp)
1346
+ xorq %r10,%r14
1347
+ andq %rcx,%r15 // (f^g)&e
1348
+
1349
+ rorq $4,%r13
1350
+ addq %r9,%r12 // T1+=h
1351
+ xorq %r8,%r15 // Ch(e,f,g)=((f^g)&e)^g
1352
+
1353
+ rorq $6,%r14
1354
+ xorq %rcx,%r13
1355
+ addq %r15,%r12 // T1+=Ch(e,f,g)
1356
+
1357
+ movq %r10,%r15
1358
+ addq (%rbp),%r12 // T1+=K[round]
1359
+ xorq %r10,%r14
1360
+
1361
+ xorq %r11,%r15 // a^b, b^c in next round
1362
+ rorq $14,%r13 // Sigma1(e)
1363
+ movq %r11,%r9
1364
+
1365
+ andq %r15,%rdi
1366
+ rorq $28,%r14 // Sigma0(a)
1367
+ addq %r13,%r12 // T1+=Sigma1(e)
1368
+
1369
+ xorq %rdi,%r9 // h=Maj(a,b,c)=Ch(a^b,c,b)
1370
+ addq %r12,%rbx // d+=T1
1371
+ addq %r12,%r9 // h+=T1
1372
+
1373
+ leaq 8(%rbp),%rbp // round++
1374
+ movq 96(%rsp),%r13
1375
+ movq 72(%rsp),%rdi
1376
+
1377
+ movq %r13,%r12
1378
+ rorq $7,%r13
1379
+ addq %r14,%r9 // modulo-scheduled h+=Sigma0(a)
1380
+ movq %rdi,%r14
1381
+ rorq $42,%rdi
1382
+
1383
+ xorq %r12,%r13
1384
+ shrq $7,%r12
1385
+ rorq $1,%r13
1386
+ xorq %r14,%rdi
1387
+ shrq $6,%r14
1388
+
1389
+ rorq $19,%rdi
1390
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1391
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1392
+ addq 32(%rsp),%r12
1393
+
1394
+ addq 88(%rsp),%r12
1395
+ movq %rbx,%r13
1396
+ addq %rdi,%r12
1397
+ movq %r9,%r14
1398
+ rorq $23,%r13
1399
+ movq %rcx,%rdi
1400
+
1401
+ xorq %rbx,%r13
1402
+ rorq $5,%r14
1403
+ xorq %rdx,%rdi // f^g
1404
+
1405
+ movq %r12,88(%rsp)
1406
+ xorq %r9,%r14
1407
+ andq %rbx,%rdi // (f^g)&e
1408
+
1409
+ rorq $4,%r13
1410
+ addq %r8,%r12 // T1+=h
1411
+ xorq %rdx,%rdi // Ch(e,f,g)=((f^g)&e)^g
1412
+
1413
+ rorq $6,%r14
1414
+ xorq %rbx,%r13
1415
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1416
+
1417
+ movq %r9,%rdi
1418
+ addq (%rbp),%r12 // T1+=K[round]
1419
+ xorq %r9,%r14
1420
+
1421
+ xorq %r10,%rdi // a^b, b^c in next round
1422
+ rorq $14,%r13 // Sigma1(e)
1423
+ movq %r10,%r8
1424
+
1425
+ andq %rdi,%r15
1426
+ rorq $28,%r14 // Sigma0(a)
1427
+ addq %r13,%r12 // T1+=Sigma1(e)
1428
+
1429
+ xorq %r15,%r8 // h=Maj(a,b,c)=Ch(a^b,c,b)
1430
+ addq %r12,%rax // d+=T1
1431
+ addq %r12,%r8 // h+=T1
1432
+
1433
+ leaq 24(%rbp),%rbp // round++
1434
+ movq 104(%rsp),%r13
1435
+ movq 80(%rsp),%r15
1436
+
1437
+ movq %r13,%r12
1438
+ rorq $7,%r13
1439
+ addq %r14,%r8 // modulo-scheduled h+=Sigma0(a)
1440
+ movq %r15,%r14
1441
+ rorq $42,%r15
1442
+
1443
+ xorq %r12,%r13
1444
+ shrq $7,%r12
1445
+ rorq $1,%r13
1446
+ xorq %r14,%r15
1447
+ shrq $6,%r14
1448
+
1449
+ rorq $19,%r15
1450
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1451
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
1452
+ addq 40(%rsp),%r12
1453
+
1454
+ addq 96(%rsp),%r12
1455
+ movq %rax,%r13
1456
+ addq %r15,%r12
1457
+ movq %r8,%r14
1458
+ rorq $23,%r13
1459
+ movq %rbx,%r15
1460
+
1461
+ xorq %rax,%r13
1462
+ rorq $5,%r14
1463
+ xorq %rcx,%r15 // f^g
1464
+
1465
+ movq %r12,96(%rsp)
1466
+ xorq %r8,%r14
1467
+ andq %rax,%r15 // (f^g)&e
1468
+
1469
+ rorq $4,%r13
1470
+ addq %rdx,%r12 // T1+=h
1471
+ xorq %rcx,%r15 // Ch(e,f,g)=((f^g)&e)^g
1472
+
1473
+ rorq $6,%r14
1474
+ xorq %rax,%r13
1475
+ addq %r15,%r12 // T1+=Ch(e,f,g)
1476
+
1477
+ movq %r8,%r15
1478
+ addq (%rbp),%r12 // T1+=K[round]
1479
+ xorq %r8,%r14
1480
+
1481
+ xorq %r9,%r15 // a^b, b^c in next round
1482
+ rorq $14,%r13 // Sigma1(e)
1483
+ movq %r9,%rdx
1484
+
1485
+ andq %r15,%rdi
1486
+ rorq $28,%r14 // Sigma0(a)
1487
+ addq %r13,%r12 // T1+=Sigma1(e)
1488
+
1489
+ xorq %rdi,%rdx // h=Maj(a,b,c)=Ch(a^b,c,b)
1490
+ addq %r12,%r11 // d+=T1
1491
+ addq %r12,%rdx // h+=T1
1492
+
1493
+ leaq 8(%rbp),%rbp // round++
1494
+ movq 112(%rsp),%r13
1495
+ movq 88(%rsp),%rdi
1496
+
1497
+ movq %r13,%r12
1498
+ rorq $7,%r13
1499
+ addq %r14,%rdx // modulo-scheduled h+=Sigma0(a)
1500
+ movq %rdi,%r14
1501
+ rorq $42,%rdi
1502
+
1503
+ xorq %r12,%r13
1504
+ shrq $7,%r12
1505
+ rorq $1,%r13
1506
+ xorq %r14,%rdi
1507
+ shrq $6,%r14
1508
+
1509
+ rorq $19,%rdi
1510
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1511
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1512
+ addq 48(%rsp),%r12
1513
+
1514
+ addq 104(%rsp),%r12
1515
+ movq %r11,%r13
1516
+ addq %rdi,%r12
1517
+ movq %rdx,%r14
1518
+ rorq $23,%r13
1519
+ movq %rax,%rdi
1520
+
1521
+ xorq %r11,%r13
1522
+ rorq $5,%r14
1523
+ xorq %rbx,%rdi // f^g
1524
+
1525
+ movq %r12,104(%rsp)
1526
+ xorq %rdx,%r14
1527
+ andq %r11,%rdi // (f^g)&e
1528
+
1529
+ rorq $4,%r13
1530
+ addq %rcx,%r12 // T1+=h
1531
+ xorq %rbx,%rdi // Ch(e,f,g)=((f^g)&e)^g
1532
+
1533
+ rorq $6,%r14
1534
+ xorq %r11,%r13
1535
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1536
+
1537
+ movq %rdx,%rdi
1538
+ addq (%rbp),%r12 // T1+=K[round]
1539
+ xorq %rdx,%r14
1540
+
1541
+ xorq %r8,%rdi // a^b, b^c in next round
1542
+ rorq $14,%r13 // Sigma1(e)
1543
+ movq %r8,%rcx
1544
+
1545
+ andq %rdi,%r15
1546
+ rorq $28,%r14 // Sigma0(a)
1547
+ addq %r13,%r12 // T1+=Sigma1(e)
1548
+
1549
+ xorq %r15,%rcx // h=Maj(a,b,c)=Ch(a^b,c,b)
1550
+ addq %r12,%r10 // d+=T1
1551
+ addq %r12,%rcx // h+=T1
1552
+
1553
+ leaq 24(%rbp),%rbp // round++
1554
+ movq 120(%rsp),%r13
1555
+ movq 96(%rsp),%r15
1556
+
1557
+ movq %r13,%r12
1558
+ rorq $7,%r13
1559
+ addq %r14,%rcx // modulo-scheduled h+=Sigma0(a)
1560
+ movq %r15,%r14
1561
+ rorq $42,%r15
1562
+
1563
+ xorq %r12,%r13
1564
+ shrq $7,%r12
1565
+ rorq $1,%r13
1566
+ xorq %r14,%r15
1567
+ shrq $6,%r14
1568
+
1569
+ rorq $19,%r15
1570
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1571
+ xorq %r14,%r15 // sigma1(X[(i+14)&0xf])
1572
+ addq 56(%rsp),%r12
1573
+
1574
+ addq 112(%rsp),%r12
1575
+ movq %r10,%r13
1576
+ addq %r15,%r12
1577
+ movq %rcx,%r14
1578
+ rorq $23,%r13
1579
+ movq %r11,%r15
1580
+
1581
+ xorq %r10,%r13
1582
+ rorq $5,%r14
1583
+ xorq %rax,%r15 // f^g
1584
+
1585
+ movq %r12,112(%rsp)
1586
+ xorq %rcx,%r14
1587
+ andq %r10,%r15 // (f^g)&e
1588
+
1589
+ rorq $4,%r13
1590
+ addq %rbx,%r12 // T1+=h
1591
+ xorq %rax,%r15 // Ch(e,f,g)=((f^g)&e)^g
1592
+
1593
+ rorq $6,%r14
1594
+ xorq %r10,%r13
1595
+ addq %r15,%r12 // T1+=Ch(e,f,g)
1596
+
1597
+ movq %rcx,%r15
1598
+ addq (%rbp),%r12 // T1+=K[round]
1599
+ xorq %rcx,%r14
1600
+
1601
+ xorq %rdx,%r15 // a^b, b^c in next round
1602
+ rorq $14,%r13 // Sigma1(e)
1603
+ movq %rdx,%rbx
1604
+
1605
+ andq %r15,%rdi
1606
+ rorq $28,%r14 // Sigma0(a)
1607
+ addq %r13,%r12 // T1+=Sigma1(e)
1608
+
1609
+ xorq %rdi,%rbx // h=Maj(a,b,c)=Ch(a^b,c,b)
1610
+ addq %r12,%r9 // d+=T1
1611
+ addq %r12,%rbx // h+=T1
1612
+
1613
+ leaq 8(%rbp),%rbp // round++
1614
+ movq 0(%rsp),%r13
1615
+ movq 104(%rsp),%rdi
1616
+
1617
+ movq %r13,%r12
1618
+ rorq $7,%r13
1619
+ addq %r14,%rbx // modulo-scheduled h+=Sigma0(a)
1620
+ movq %rdi,%r14
1621
+ rorq $42,%rdi
1622
+
1623
+ xorq %r12,%r13
1624
+ shrq $7,%r12
1625
+ rorq $1,%r13
1626
+ xorq %r14,%rdi
1627
+ shrq $6,%r14
1628
+
1629
+ rorq $19,%rdi
1630
+ xorq %r13,%r12 // sigma0(X[(i+1)&0xf])
1631
+ xorq %r14,%rdi // sigma1(X[(i+14)&0xf])
1632
+ addq 64(%rsp),%r12
1633
+
1634
+ addq 120(%rsp),%r12
1635
+ movq %r9,%r13
1636
+ addq %rdi,%r12
1637
+ movq %rbx,%r14
1638
+ rorq $23,%r13
1639
+ movq %r10,%rdi
1640
+
1641
+ xorq %r9,%r13
1642
+ rorq $5,%r14
1643
+ xorq %r11,%rdi // f^g
1644
+
1645
+ movq %r12,120(%rsp)
1646
+ xorq %rbx,%r14
1647
+ andq %r9,%rdi // (f^g)&e
1648
+
1649
+ rorq $4,%r13
1650
+ addq %rax,%r12 // T1+=h
1651
+ xorq %r11,%rdi // Ch(e,f,g)=((f^g)&e)^g
1652
+
1653
+ rorq $6,%r14
1654
+ xorq %r9,%r13
1655
+ addq %rdi,%r12 // T1+=Ch(e,f,g)
1656
+
1657
+ movq %rbx,%rdi
1658
+ addq (%rbp),%r12 // T1+=K[round]
1659
+ xorq %rbx,%r14
1660
+
1661
+ xorq %rcx,%rdi // a^b, b^c in next round
1662
+ rorq $14,%r13 // Sigma1(e)
1663
+ movq %rcx,%rax
1664
+
1665
+ andq %rdi,%r15
1666
+ rorq $28,%r14 // Sigma0(a)
1667
+ addq %r13,%r12 // T1+=Sigma1(e)
1668
+
1669
+ xorq %r15,%rax // h=Maj(a,b,c)=Ch(a^b,c,b)
1670
+ addq %r12,%r8 // d+=T1
1671
+ addq %r12,%rax // h+=T1
1672
+
1673
+ leaq 24(%rbp),%rbp // round++
1674
+ cmpb $0,7(%rbp)
1675
+ jnz .Lrounds_16_xx
1676
+
1677
+ movq 128+0(%rsp),%rdi
1678
+ addq %r14,%rax // modulo-scheduled h+=Sigma0(a)
1679
+ leaq 128(%rsi),%rsi
1680
+
1681
+ addq 0(%rdi),%rax
1682
+ addq 8(%rdi),%rbx
1683
+ addq 16(%rdi),%rcx
1684
+ addq 24(%rdi),%rdx
1685
+ addq 32(%rdi),%r8
1686
+ addq 40(%rdi),%r9
1687
+ addq 48(%rdi),%r10
1688
+ addq 56(%rdi),%r11
1689
+
1690
+ cmpq 128+16(%rsp),%rsi
1691
+
1692
+ movq %rax,0(%rdi)
1693
+ movq %rbx,8(%rdi)
1694
+ movq %rcx,16(%rdi)
1695
+ movq %rdx,24(%rdi)
1696
+ movq %r8,32(%rdi)
1697
+ movq %r9,40(%rdi)
1698
+ movq %r10,48(%rdi)
1699
+ movq %r11,56(%rdi)
1700
+ jb .Lloop
1701
+
1702
+ movq 152(%rsp),%rsi
1703
+ .cfi_def_cfa %rsi,8
1704
+ movq -48(%rsi),%r15
1705
+ .cfi_restore %r15
1706
+ movq -40(%rsi),%r14
1707
+ .cfi_restore %r14
1708
+ movq -32(%rsi),%r13
1709
+ .cfi_restore %r13
1710
+ movq -24(%rsi),%r12
1711
+ .cfi_restore %r12
1712
+ movq -16(%rsi),%rbp
1713
+ .cfi_restore %rbp
1714
+ movq -8(%rsi),%rbx
1715
+ .cfi_restore %rbx
1716
+ leaq (%rsi),%rsp
1717
+ .cfi_def_cfa_register %rsp
1718
+ .Lepilogue:
1719
+ ret
1720
+ .cfi_endproc
1721
+ .size sha512_block_data_order_nohw,.-sha512_block_data_order_nohw
1722
+ .section .rodata
1723
+ .align 64
1724
+ .type K512,@object
1725
+ K512:
1726
+ .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1727
+ .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1728
+ .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1729
+ .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1730
+ .quad 0x3956c25bf348b538,0x59f111f1b605d019
1731
+ .quad 0x3956c25bf348b538,0x59f111f1b605d019
1732
+ .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1733
+ .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1734
+ .quad 0xd807aa98a3030242,0x12835b0145706fbe
1735
+ .quad 0xd807aa98a3030242,0x12835b0145706fbe
1736
+ .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1737
+ .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1738
+ .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1739
+ .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1740
+ .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1741
+ .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1742
+ .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1743
+ .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1744
+ .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1745
+ .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1746
+ .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1747
+ .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1748
+ .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1749
+ .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1750
+ .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1751
+ .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1752
+ .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1753
+ .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1754
+ .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1755
+ .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1756
+ .quad 0x06ca6351e003826f,0x142929670a0e6e70
1757
+ .quad 0x06ca6351e003826f,0x142929670a0e6e70
1758
+ .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1759
+ .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1760
+ .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1761
+ .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1762
+ .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1763
+ .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1764
+ .quad 0x81c2c92e47edaee6,0x92722c851482353b
1765
+ .quad 0x81c2c92e47edaee6,0x92722c851482353b
1766
+ .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1767
+ .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1768
+ .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1769
+ .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1770
+ .quad 0xd192e819d6ef5218,0xd69906245565a910
1771
+ .quad 0xd192e819d6ef5218,0xd69906245565a910
1772
+ .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1773
+ .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1774
+ .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1775
+ .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1776
+ .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1777
+ .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1778
+ .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1779
+ .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1780
+ .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1781
+ .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1782
+ .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1783
+ .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1784
+ .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1785
+ .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1786
+ .quad 0x90befffa23631e28,0xa4506cebde82bde9
1787
+ .quad 0x90befffa23631e28,0xa4506cebde82bde9
1788
+ .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1789
+ .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1790
+ .quad 0xca273eceea26619c,0xd186b8c721c0c207
1791
+ .quad 0xca273eceea26619c,0xd186b8c721c0c207
1792
+ .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1793
+ .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1794
+ .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1795
+ .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1796
+ .quad 0x113f9804bef90dae,0x1b710b35131c471b
1797
+ .quad 0x113f9804bef90dae,0x1b710b35131c471b
1798
+ .quad 0x28db77f523047d84,0x32caab7b40c72493
1799
+ .quad 0x28db77f523047d84,0x32caab7b40c72493
1800
+ .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1801
+ .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1802
+ .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1803
+ .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1804
+ .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1805
+ .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1806
+
1807
+ .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1808
+ .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1809
+ .byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,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
1810
+ .text
1811
+ .globl sha512_block_data_order_avx
1812
+ .hidden sha512_block_data_order_avx
1813
+ .type sha512_block_data_order_avx,@function
1814
+ .align 64
1815
+ sha512_block_data_order_avx:
1816
+ .cfi_startproc
1817
+ _CET_ENDBR
1818
+ movq %rsp,%rax // copy %rsp
1819
+ .cfi_def_cfa_register %rax
1820
+ pushq %rbx
1821
+ .cfi_offset %rbx,-16
1822
+ pushq %rbp
1823
+ .cfi_offset %rbp,-24
1824
+ pushq %r12
1825
+ .cfi_offset %r12,-32
1826
+ pushq %r13
1827
+ .cfi_offset %r13,-40
1828
+ pushq %r14
1829
+ .cfi_offset %r14,-48
1830
+ pushq %r15
1831
+ .cfi_offset %r15,-56
1832
+ shlq $4,%rdx // num*16
1833
+ subq $160,%rsp
1834
+ leaq (%rsi,%rdx,8),%rdx // inp+num*16*8
1835
+ andq $-64,%rsp // align stack frame
1836
+ movq %rdi,128+0(%rsp) // save ctx, 1st arg
1837
+ movq %rsi,128+8(%rsp) // save inp, 2nd arh
1838
+ movq %rdx,128+16(%rsp) // save end pointer, "3rd" arg
1839
+ movq %rax,152(%rsp) // save copy of %rsp
1840
+ .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
1841
+ .Lprologue_avx:
1842
+
1843
+ vzeroupper
1844
+ movq 0(%rdi),%rax
1845
+ movq 8(%rdi),%rbx
1846
+ movq 16(%rdi),%rcx
1847
+ movq 24(%rdi),%rdx
1848
+ movq 32(%rdi),%r8
1849
+ movq 40(%rdi),%r9
1850
+ movq 48(%rdi),%r10
1851
+ movq 56(%rdi),%r11
1852
+ jmp .Lloop_avx
1853
+ .align 16
1854
+ .Lloop_avx:
1855
+ vmovdqa K512+1280(%rip),%xmm11
1856
+ vmovdqu 0(%rsi),%xmm0
1857
+ leaq K512+128(%rip),%rbp // size optimization
1858
+ vmovdqu 16(%rsi),%xmm1
1859
+ vmovdqu 32(%rsi),%xmm2
1860
+ vpshufb %xmm11,%xmm0,%xmm0
1861
+ vmovdqu 48(%rsi),%xmm3
1862
+ vpshufb %xmm11,%xmm1,%xmm1
1863
+ vmovdqu 64(%rsi),%xmm4
1864
+ vpshufb %xmm11,%xmm2,%xmm2
1865
+ vmovdqu 80(%rsi),%xmm5
1866
+ vpshufb %xmm11,%xmm3,%xmm3
1867
+ vmovdqu 96(%rsi),%xmm6
1868
+ vpshufb %xmm11,%xmm4,%xmm4
1869
+ vmovdqu 112(%rsi),%xmm7
1870
+ vpshufb %xmm11,%xmm5,%xmm5
1871
+ vpaddq -128(%rbp),%xmm0,%xmm8
1872
+ vpshufb %xmm11,%xmm6,%xmm6
1873
+ vpaddq -96(%rbp),%xmm1,%xmm9
1874
+ vpshufb %xmm11,%xmm7,%xmm7
1875
+ vpaddq -64(%rbp),%xmm2,%xmm10
1876
+ vpaddq -32(%rbp),%xmm3,%xmm11
1877
+ vmovdqa %xmm8,0(%rsp)
1878
+ vpaddq 0(%rbp),%xmm4,%xmm8
1879
+ vmovdqa %xmm9,16(%rsp)
1880
+ vpaddq 32(%rbp),%xmm5,%xmm9
1881
+ vmovdqa %xmm10,32(%rsp)
1882
+ vpaddq 64(%rbp),%xmm6,%xmm10
1883
+ vmovdqa %xmm11,48(%rsp)
1884
+ vpaddq 96(%rbp),%xmm7,%xmm11
1885
+ vmovdqa %xmm8,64(%rsp)
1886
+ movq %rax,%r14
1887
+ vmovdqa %xmm9,80(%rsp)
1888
+ movq %rbx,%rdi
1889
+ vmovdqa %xmm10,96(%rsp)
1890
+ xorq %rcx,%rdi // magic
1891
+ vmovdqa %xmm11,112(%rsp)
1892
+ movq %r8,%r13
1893
+ jmp .Lavx_00_47
1894
+
1895
+ .align 16
1896
+ .Lavx_00_47:
1897
+ addq $256,%rbp
1898
+ vpalignr $8,%xmm0,%xmm1,%xmm8
1899
+ shrdq $23,%r13,%r13
1900
+ movq %r14,%rax
1901
+ vpalignr $8,%xmm4,%xmm5,%xmm11
1902
+ movq %r9,%r12
1903
+ shrdq $5,%r14,%r14
1904
+ vpsrlq $1,%xmm8,%xmm10
1905
+ xorq %r8,%r13
1906
+ xorq %r10,%r12
1907
+ vpaddq %xmm11,%xmm0,%xmm0
1908
+ shrdq $4,%r13,%r13
1909
+ xorq %rax,%r14
1910
+ vpsrlq $7,%xmm8,%xmm11
1911
+ andq %r8,%r12
1912
+ xorq %r8,%r13
1913
+ vpsllq $56,%xmm8,%xmm9
1914
+ addq 0(%rsp),%r11
1915
+ movq %rax,%r15
1916
+ vpxor %xmm10,%xmm11,%xmm8
1917
+ xorq %r10,%r12
1918
+ shrdq $6,%r14,%r14
1919
+ vpsrlq $7,%xmm10,%xmm10
1920
+ xorq %rbx,%r15
1921
+ addq %r12,%r11
1922
+ vpxor %xmm9,%xmm8,%xmm8
1923
+ shrdq $14,%r13,%r13
1924
+ andq %r15,%rdi
1925
+ vpsllq $7,%xmm9,%xmm9
1926
+ xorq %rax,%r14
1927
+ addq %r13,%r11
1928
+ vpxor %xmm10,%xmm8,%xmm8
1929
+ xorq %rbx,%rdi
1930
+ shrdq $28,%r14,%r14
1931
+ vpsrlq $6,%xmm7,%xmm11
1932
+ addq %r11,%rdx
1933
+ addq %rdi,%r11
1934
+ vpxor %xmm9,%xmm8,%xmm8
1935
+ movq %rdx,%r13
1936
+ addq %r11,%r14
1937
+ vpsllq $3,%xmm7,%xmm10
1938
+ shrdq $23,%r13,%r13
1939
+ movq %r14,%r11
1940
+ vpaddq %xmm8,%xmm0,%xmm0
1941
+ movq %r8,%r12
1942
+ shrdq $5,%r14,%r14
1943
+ vpsrlq $19,%xmm7,%xmm9
1944
+ xorq %rdx,%r13
1945
+ xorq %r9,%r12
1946
+ vpxor %xmm10,%xmm11,%xmm11
1947
+ shrdq $4,%r13,%r13
1948
+ xorq %r11,%r14
1949
+ vpsllq $42,%xmm10,%xmm10
1950
+ andq %rdx,%r12
1951
+ xorq %rdx,%r13
1952
+ vpxor %xmm9,%xmm11,%xmm11
1953
+ addq 8(%rsp),%r10
1954
+ movq %r11,%rdi
1955
+ vpsrlq $42,%xmm9,%xmm9
1956
+ xorq %r9,%r12
1957
+ shrdq $6,%r14,%r14
1958
+ vpxor %xmm10,%xmm11,%xmm11
1959
+ xorq %rax,%rdi
1960
+ addq %r12,%r10
1961
+ vpxor %xmm9,%xmm11,%xmm11
1962
+ shrdq $14,%r13,%r13
1963
+ andq %rdi,%r15
1964
+ vpaddq %xmm11,%xmm0,%xmm0
1965
+ xorq %r11,%r14
1966
+ addq %r13,%r10
1967
+ vpaddq -128(%rbp),%xmm0,%xmm10
1968
+ xorq %rax,%r15
1969
+ shrdq $28,%r14,%r14
1970
+ addq %r10,%rcx
1971
+ addq %r15,%r10
1972
+ movq %rcx,%r13
1973
+ addq %r10,%r14
1974
+ vmovdqa %xmm10,0(%rsp)
1975
+ vpalignr $8,%xmm1,%xmm2,%xmm8
1976
+ shrdq $23,%r13,%r13
1977
+ movq %r14,%r10
1978
+ vpalignr $8,%xmm5,%xmm6,%xmm11
1979
+ movq %rdx,%r12
1980
+ shrdq $5,%r14,%r14
1981
+ vpsrlq $1,%xmm8,%xmm10
1982
+ xorq %rcx,%r13
1983
+ xorq %r8,%r12
1984
+ vpaddq %xmm11,%xmm1,%xmm1
1985
+ shrdq $4,%r13,%r13
1986
+ xorq %r10,%r14
1987
+ vpsrlq $7,%xmm8,%xmm11
1988
+ andq %rcx,%r12
1989
+ xorq %rcx,%r13
1990
+ vpsllq $56,%xmm8,%xmm9
1991
+ addq 16(%rsp),%r9
1992
+ movq %r10,%r15
1993
+ vpxor %xmm10,%xmm11,%xmm8
1994
+ xorq %r8,%r12
1995
+ shrdq $6,%r14,%r14
1996
+ vpsrlq $7,%xmm10,%xmm10
1997
+ xorq %r11,%r15
1998
+ addq %r12,%r9
1999
+ vpxor %xmm9,%xmm8,%xmm8
2000
+ shrdq $14,%r13,%r13
2001
+ andq %r15,%rdi
2002
+ vpsllq $7,%xmm9,%xmm9
2003
+ xorq %r10,%r14
2004
+ addq %r13,%r9
2005
+ vpxor %xmm10,%xmm8,%xmm8
2006
+ xorq %r11,%rdi
2007
+ shrdq $28,%r14,%r14
2008
+ vpsrlq $6,%xmm0,%xmm11
2009
+ addq %r9,%rbx
2010
+ addq %rdi,%r9
2011
+ vpxor %xmm9,%xmm8,%xmm8
2012
+ movq %rbx,%r13
2013
+ addq %r9,%r14
2014
+ vpsllq $3,%xmm0,%xmm10
2015
+ shrdq $23,%r13,%r13
2016
+ movq %r14,%r9
2017
+ vpaddq %xmm8,%xmm1,%xmm1
2018
+ movq %rcx,%r12
2019
+ shrdq $5,%r14,%r14
2020
+ vpsrlq $19,%xmm0,%xmm9
2021
+ xorq %rbx,%r13
2022
+ xorq %rdx,%r12
2023
+ vpxor %xmm10,%xmm11,%xmm11
2024
+ shrdq $4,%r13,%r13
2025
+ xorq %r9,%r14
2026
+ vpsllq $42,%xmm10,%xmm10
2027
+ andq %rbx,%r12
2028
+ xorq %rbx,%r13
2029
+ vpxor %xmm9,%xmm11,%xmm11
2030
+ addq 24(%rsp),%r8
2031
+ movq %r9,%rdi
2032
+ vpsrlq $42,%xmm9,%xmm9
2033
+ xorq %rdx,%r12
2034
+ shrdq $6,%r14,%r14
2035
+ vpxor %xmm10,%xmm11,%xmm11
2036
+ xorq %r10,%rdi
2037
+ addq %r12,%r8
2038
+ vpxor %xmm9,%xmm11,%xmm11
2039
+ shrdq $14,%r13,%r13
2040
+ andq %rdi,%r15
2041
+ vpaddq %xmm11,%xmm1,%xmm1
2042
+ xorq %r9,%r14
2043
+ addq %r13,%r8
2044
+ vpaddq -96(%rbp),%xmm1,%xmm10
2045
+ xorq %r10,%r15
2046
+ shrdq $28,%r14,%r14
2047
+ addq %r8,%rax
2048
+ addq %r15,%r8
2049
+ movq %rax,%r13
2050
+ addq %r8,%r14
2051
+ vmovdqa %xmm10,16(%rsp)
2052
+ vpalignr $8,%xmm2,%xmm3,%xmm8
2053
+ shrdq $23,%r13,%r13
2054
+ movq %r14,%r8
2055
+ vpalignr $8,%xmm6,%xmm7,%xmm11
2056
+ movq %rbx,%r12
2057
+ shrdq $5,%r14,%r14
2058
+ vpsrlq $1,%xmm8,%xmm10
2059
+ xorq %rax,%r13
2060
+ xorq %rcx,%r12
2061
+ vpaddq %xmm11,%xmm2,%xmm2
2062
+ shrdq $4,%r13,%r13
2063
+ xorq %r8,%r14
2064
+ vpsrlq $7,%xmm8,%xmm11
2065
+ andq %rax,%r12
2066
+ xorq %rax,%r13
2067
+ vpsllq $56,%xmm8,%xmm9
2068
+ addq 32(%rsp),%rdx
2069
+ movq %r8,%r15
2070
+ vpxor %xmm10,%xmm11,%xmm8
2071
+ xorq %rcx,%r12
2072
+ shrdq $6,%r14,%r14
2073
+ vpsrlq $7,%xmm10,%xmm10
2074
+ xorq %r9,%r15
2075
+ addq %r12,%rdx
2076
+ vpxor %xmm9,%xmm8,%xmm8
2077
+ shrdq $14,%r13,%r13
2078
+ andq %r15,%rdi
2079
+ vpsllq $7,%xmm9,%xmm9
2080
+ xorq %r8,%r14
2081
+ addq %r13,%rdx
2082
+ vpxor %xmm10,%xmm8,%xmm8
2083
+ xorq %r9,%rdi
2084
+ shrdq $28,%r14,%r14
2085
+ vpsrlq $6,%xmm1,%xmm11
2086
+ addq %rdx,%r11
2087
+ addq %rdi,%rdx
2088
+ vpxor %xmm9,%xmm8,%xmm8
2089
+ movq %r11,%r13
2090
+ addq %rdx,%r14
2091
+ vpsllq $3,%xmm1,%xmm10
2092
+ shrdq $23,%r13,%r13
2093
+ movq %r14,%rdx
2094
+ vpaddq %xmm8,%xmm2,%xmm2
2095
+ movq %rax,%r12
2096
+ shrdq $5,%r14,%r14
2097
+ vpsrlq $19,%xmm1,%xmm9
2098
+ xorq %r11,%r13
2099
+ xorq %rbx,%r12
2100
+ vpxor %xmm10,%xmm11,%xmm11
2101
+ shrdq $4,%r13,%r13
2102
+ xorq %rdx,%r14
2103
+ vpsllq $42,%xmm10,%xmm10
2104
+ andq %r11,%r12
2105
+ xorq %r11,%r13
2106
+ vpxor %xmm9,%xmm11,%xmm11
2107
+ addq 40(%rsp),%rcx
2108
+ movq %rdx,%rdi
2109
+ vpsrlq $42,%xmm9,%xmm9
2110
+ xorq %rbx,%r12
2111
+ shrdq $6,%r14,%r14
2112
+ vpxor %xmm10,%xmm11,%xmm11
2113
+ xorq %r8,%rdi
2114
+ addq %r12,%rcx
2115
+ vpxor %xmm9,%xmm11,%xmm11
2116
+ shrdq $14,%r13,%r13
2117
+ andq %rdi,%r15
2118
+ vpaddq %xmm11,%xmm2,%xmm2
2119
+ xorq %rdx,%r14
2120
+ addq %r13,%rcx
2121
+ vpaddq -64(%rbp),%xmm2,%xmm10
2122
+ xorq %r8,%r15
2123
+ shrdq $28,%r14,%r14
2124
+ addq %rcx,%r10
2125
+ addq %r15,%rcx
2126
+ movq %r10,%r13
2127
+ addq %rcx,%r14
2128
+ vmovdqa %xmm10,32(%rsp)
2129
+ vpalignr $8,%xmm3,%xmm4,%xmm8
2130
+ shrdq $23,%r13,%r13
2131
+ movq %r14,%rcx
2132
+ vpalignr $8,%xmm7,%xmm0,%xmm11
2133
+ movq %r11,%r12
2134
+ shrdq $5,%r14,%r14
2135
+ vpsrlq $1,%xmm8,%xmm10
2136
+ xorq %r10,%r13
2137
+ xorq %rax,%r12
2138
+ vpaddq %xmm11,%xmm3,%xmm3
2139
+ shrdq $4,%r13,%r13
2140
+ xorq %rcx,%r14
2141
+ vpsrlq $7,%xmm8,%xmm11
2142
+ andq %r10,%r12
2143
+ xorq %r10,%r13
2144
+ vpsllq $56,%xmm8,%xmm9
2145
+ addq 48(%rsp),%rbx
2146
+ movq %rcx,%r15
2147
+ vpxor %xmm10,%xmm11,%xmm8
2148
+ xorq %rax,%r12
2149
+ shrdq $6,%r14,%r14
2150
+ vpsrlq $7,%xmm10,%xmm10
2151
+ xorq %rdx,%r15
2152
+ addq %r12,%rbx
2153
+ vpxor %xmm9,%xmm8,%xmm8
2154
+ shrdq $14,%r13,%r13
2155
+ andq %r15,%rdi
2156
+ vpsllq $7,%xmm9,%xmm9
2157
+ xorq %rcx,%r14
2158
+ addq %r13,%rbx
2159
+ vpxor %xmm10,%xmm8,%xmm8
2160
+ xorq %rdx,%rdi
2161
+ shrdq $28,%r14,%r14
2162
+ vpsrlq $6,%xmm2,%xmm11
2163
+ addq %rbx,%r9
2164
+ addq %rdi,%rbx
2165
+ vpxor %xmm9,%xmm8,%xmm8
2166
+ movq %r9,%r13
2167
+ addq %rbx,%r14
2168
+ vpsllq $3,%xmm2,%xmm10
2169
+ shrdq $23,%r13,%r13
2170
+ movq %r14,%rbx
2171
+ vpaddq %xmm8,%xmm3,%xmm3
2172
+ movq %r10,%r12
2173
+ shrdq $5,%r14,%r14
2174
+ vpsrlq $19,%xmm2,%xmm9
2175
+ xorq %r9,%r13
2176
+ xorq %r11,%r12
2177
+ vpxor %xmm10,%xmm11,%xmm11
2178
+ shrdq $4,%r13,%r13
2179
+ xorq %rbx,%r14
2180
+ vpsllq $42,%xmm10,%xmm10
2181
+ andq %r9,%r12
2182
+ xorq %r9,%r13
2183
+ vpxor %xmm9,%xmm11,%xmm11
2184
+ addq 56(%rsp),%rax
2185
+ movq %rbx,%rdi
2186
+ vpsrlq $42,%xmm9,%xmm9
2187
+ xorq %r11,%r12
2188
+ shrdq $6,%r14,%r14
2189
+ vpxor %xmm10,%xmm11,%xmm11
2190
+ xorq %rcx,%rdi
2191
+ addq %r12,%rax
2192
+ vpxor %xmm9,%xmm11,%xmm11
2193
+ shrdq $14,%r13,%r13
2194
+ andq %rdi,%r15
2195
+ vpaddq %xmm11,%xmm3,%xmm3
2196
+ xorq %rbx,%r14
2197
+ addq %r13,%rax
2198
+ vpaddq -32(%rbp),%xmm3,%xmm10
2199
+ xorq %rcx,%r15
2200
+ shrdq $28,%r14,%r14
2201
+ addq %rax,%r8
2202
+ addq %r15,%rax
2203
+ movq %r8,%r13
2204
+ addq %rax,%r14
2205
+ vmovdqa %xmm10,48(%rsp)
2206
+ vpalignr $8,%xmm4,%xmm5,%xmm8
2207
+ shrdq $23,%r13,%r13
2208
+ movq %r14,%rax
2209
+ vpalignr $8,%xmm0,%xmm1,%xmm11
2210
+ movq %r9,%r12
2211
+ shrdq $5,%r14,%r14
2212
+ vpsrlq $1,%xmm8,%xmm10
2213
+ xorq %r8,%r13
2214
+ xorq %r10,%r12
2215
+ vpaddq %xmm11,%xmm4,%xmm4
2216
+ shrdq $4,%r13,%r13
2217
+ xorq %rax,%r14
2218
+ vpsrlq $7,%xmm8,%xmm11
2219
+ andq %r8,%r12
2220
+ xorq %r8,%r13
2221
+ vpsllq $56,%xmm8,%xmm9
2222
+ addq 64(%rsp),%r11
2223
+ movq %rax,%r15
2224
+ vpxor %xmm10,%xmm11,%xmm8
2225
+ xorq %r10,%r12
2226
+ shrdq $6,%r14,%r14
2227
+ vpsrlq $7,%xmm10,%xmm10
2228
+ xorq %rbx,%r15
2229
+ addq %r12,%r11
2230
+ vpxor %xmm9,%xmm8,%xmm8
2231
+ shrdq $14,%r13,%r13
2232
+ andq %r15,%rdi
2233
+ vpsllq $7,%xmm9,%xmm9
2234
+ xorq %rax,%r14
2235
+ addq %r13,%r11
2236
+ vpxor %xmm10,%xmm8,%xmm8
2237
+ xorq %rbx,%rdi
2238
+ shrdq $28,%r14,%r14
2239
+ vpsrlq $6,%xmm3,%xmm11
2240
+ addq %r11,%rdx
2241
+ addq %rdi,%r11
2242
+ vpxor %xmm9,%xmm8,%xmm8
2243
+ movq %rdx,%r13
2244
+ addq %r11,%r14
2245
+ vpsllq $3,%xmm3,%xmm10
2246
+ shrdq $23,%r13,%r13
2247
+ movq %r14,%r11
2248
+ vpaddq %xmm8,%xmm4,%xmm4
2249
+ movq %r8,%r12
2250
+ shrdq $5,%r14,%r14
2251
+ vpsrlq $19,%xmm3,%xmm9
2252
+ xorq %rdx,%r13
2253
+ xorq %r9,%r12
2254
+ vpxor %xmm10,%xmm11,%xmm11
2255
+ shrdq $4,%r13,%r13
2256
+ xorq %r11,%r14
2257
+ vpsllq $42,%xmm10,%xmm10
2258
+ andq %rdx,%r12
2259
+ xorq %rdx,%r13
2260
+ vpxor %xmm9,%xmm11,%xmm11
2261
+ addq 72(%rsp),%r10
2262
+ movq %r11,%rdi
2263
+ vpsrlq $42,%xmm9,%xmm9
2264
+ xorq %r9,%r12
2265
+ shrdq $6,%r14,%r14
2266
+ vpxor %xmm10,%xmm11,%xmm11
2267
+ xorq %rax,%rdi
2268
+ addq %r12,%r10
2269
+ vpxor %xmm9,%xmm11,%xmm11
2270
+ shrdq $14,%r13,%r13
2271
+ andq %rdi,%r15
2272
+ vpaddq %xmm11,%xmm4,%xmm4
2273
+ xorq %r11,%r14
2274
+ addq %r13,%r10
2275
+ vpaddq 0(%rbp),%xmm4,%xmm10
2276
+ xorq %rax,%r15
2277
+ shrdq $28,%r14,%r14
2278
+ addq %r10,%rcx
2279
+ addq %r15,%r10
2280
+ movq %rcx,%r13
2281
+ addq %r10,%r14
2282
+ vmovdqa %xmm10,64(%rsp)
2283
+ vpalignr $8,%xmm5,%xmm6,%xmm8
2284
+ shrdq $23,%r13,%r13
2285
+ movq %r14,%r10
2286
+ vpalignr $8,%xmm1,%xmm2,%xmm11
2287
+ movq %rdx,%r12
2288
+ shrdq $5,%r14,%r14
2289
+ vpsrlq $1,%xmm8,%xmm10
2290
+ xorq %rcx,%r13
2291
+ xorq %r8,%r12
2292
+ vpaddq %xmm11,%xmm5,%xmm5
2293
+ shrdq $4,%r13,%r13
2294
+ xorq %r10,%r14
2295
+ vpsrlq $7,%xmm8,%xmm11
2296
+ andq %rcx,%r12
2297
+ xorq %rcx,%r13
2298
+ vpsllq $56,%xmm8,%xmm9
2299
+ addq 80(%rsp),%r9
2300
+ movq %r10,%r15
2301
+ vpxor %xmm10,%xmm11,%xmm8
2302
+ xorq %r8,%r12
2303
+ shrdq $6,%r14,%r14
2304
+ vpsrlq $7,%xmm10,%xmm10
2305
+ xorq %r11,%r15
2306
+ addq %r12,%r9
2307
+ vpxor %xmm9,%xmm8,%xmm8
2308
+ shrdq $14,%r13,%r13
2309
+ andq %r15,%rdi
2310
+ vpsllq $7,%xmm9,%xmm9
2311
+ xorq %r10,%r14
2312
+ addq %r13,%r9
2313
+ vpxor %xmm10,%xmm8,%xmm8
2314
+ xorq %r11,%rdi
2315
+ shrdq $28,%r14,%r14
2316
+ vpsrlq $6,%xmm4,%xmm11
2317
+ addq %r9,%rbx
2318
+ addq %rdi,%r9
2319
+ vpxor %xmm9,%xmm8,%xmm8
2320
+ movq %rbx,%r13
2321
+ addq %r9,%r14
2322
+ vpsllq $3,%xmm4,%xmm10
2323
+ shrdq $23,%r13,%r13
2324
+ movq %r14,%r9
2325
+ vpaddq %xmm8,%xmm5,%xmm5
2326
+ movq %rcx,%r12
2327
+ shrdq $5,%r14,%r14
2328
+ vpsrlq $19,%xmm4,%xmm9
2329
+ xorq %rbx,%r13
2330
+ xorq %rdx,%r12
2331
+ vpxor %xmm10,%xmm11,%xmm11
2332
+ shrdq $4,%r13,%r13
2333
+ xorq %r9,%r14
2334
+ vpsllq $42,%xmm10,%xmm10
2335
+ andq %rbx,%r12
2336
+ xorq %rbx,%r13
2337
+ vpxor %xmm9,%xmm11,%xmm11
2338
+ addq 88(%rsp),%r8
2339
+ movq %r9,%rdi
2340
+ vpsrlq $42,%xmm9,%xmm9
2341
+ xorq %rdx,%r12
2342
+ shrdq $6,%r14,%r14
2343
+ vpxor %xmm10,%xmm11,%xmm11
2344
+ xorq %r10,%rdi
2345
+ addq %r12,%r8
2346
+ vpxor %xmm9,%xmm11,%xmm11
2347
+ shrdq $14,%r13,%r13
2348
+ andq %rdi,%r15
2349
+ vpaddq %xmm11,%xmm5,%xmm5
2350
+ xorq %r9,%r14
2351
+ addq %r13,%r8
2352
+ vpaddq 32(%rbp),%xmm5,%xmm10
2353
+ xorq %r10,%r15
2354
+ shrdq $28,%r14,%r14
2355
+ addq %r8,%rax
2356
+ addq %r15,%r8
2357
+ movq %rax,%r13
2358
+ addq %r8,%r14
2359
+ vmovdqa %xmm10,80(%rsp)
2360
+ vpalignr $8,%xmm6,%xmm7,%xmm8
2361
+ shrdq $23,%r13,%r13
2362
+ movq %r14,%r8
2363
+ vpalignr $8,%xmm2,%xmm3,%xmm11
2364
+ movq %rbx,%r12
2365
+ shrdq $5,%r14,%r14
2366
+ vpsrlq $1,%xmm8,%xmm10
2367
+ xorq %rax,%r13
2368
+ xorq %rcx,%r12
2369
+ vpaddq %xmm11,%xmm6,%xmm6
2370
+ shrdq $4,%r13,%r13
2371
+ xorq %r8,%r14
2372
+ vpsrlq $7,%xmm8,%xmm11
2373
+ andq %rax,%r12
2374
+ xorq %rax,%r13
2375
+ vpsllq $56,%xmm8,%xmm9
2376
+ addq 96(%rsp),%rdx
2377
+ movq %r8,%r15
2378
+ vpxor %xmm10,%xmm11,%xmm8
2379
+ xorq %rcx,%r12
2380
+ shrdq $6,%r14,%r14
2381
+ vpsrlq $7,%xmm10,%xmm10
2382
+ xorq %r9,%r15
2383
+ addq %r12,%rdx
2384
+ vpxor %xmm9,%xmm8,%xmm8
2385
+ shrdq $14,%r13,%r13
2386
+ andq %r15,%rdi
2387
+ vpsllq $7,%xmm9,%xmm9
2388
+ xorq %r8,%r14
2389
+ addq %r13,%rdx
2390
+ vpxor %xmm10,%xmm8,%xmm8
2391
+ xorq %r9,%rdi
2392
+ shrdq $28,%r14,%r14
2393
+ vpsrlq $6,%xmm5,%xmm11
2394
+ addq %rdx,%r11
2395
+ addq %rdi,%rdx
2396
+ vpxor %xmm9,%xmm8,%xmm8
2397
+ movq %r11,%r13
2398
+ addq %rdx,%r14
2399
+ vpsllq $3,%xmm5,%xmm10
2400
+ shrdq $23,%r13,%r13
2401
+ movq %r14,%rdx
2402
+ vpaddq %xmm8,%xmm6,%xmm6
2403
+ movq %rax,%r12
2404
+ shrdq $5,%r14,%r14
2405
+ vpsrlq $19,%xmm5,%xmm9
2406
+ xorq %r11,%r13
2407
+ xorq %rbx,%r12
2408
+ vpxor %xmm10,%xmm11,%xmm11
2409
+ shrdq $4,%r13,%r13
2410
+ xorq %rdx,%r14
2411
+ vpsllq $42,%xmm10,%xmm10
2412
+ andq %r11,%r12
2413
+ xorq %r11,%r13
2414
+ vpxor %xmm9,%xmm11,%xmm11
2415
+ addq 104(%rsp),%rcx
2416
+ movq %rdx,%rdi
2417
+ vpsrlq $42,%xmm9,%xmm9
2418
+ xorq %rbx,%r12
2419
+ shrdq $6,%r14,%r14
2420
+ vpxor %xmm10,%xmm11,%xmm11
2421
+ xorq %r8,%rdi
2422
+ addq %r12,%rcx
2423
+ vpxor %xmm9,%xmm11,%xmm11
2424
+ shrdq $14,%r13,%r13
2425
+ andq %rdi,%r15
2426
+ vpaddq %xmm11,%xmm6,%xmm6
2427
+ xorq %rdx,%r14
2428
+ addq %r13,%rcx
2429
+ vpaddq 64(%rbp),%xmm6,%xmm10
2430
+ xorq %r8,%r15
2431
+ shrdq $28,%r14,%r14
2432
+ addq %rcx,%r10
2433
+ addq %r15,%rcx
2434
+ movq %r10,%r13
2435
+ addq %rcx,%r14
2436
+ vmovdqa %xmm10,96(%rsp)
2437
+ vpalignr $8,%xmm7,%xmm0,%xmm8
2438
+ shrdq $23,%r13,%r13
2439
+ movq %r14,%rcx
2440
+ vpalignr $8,%xmm3,%xmm4,%xmm11
2441
+ movq %r11,%r12
2442
+ shrdq $5,%r14,%r14
2443
+ vpsrlq $1,%xmm8,%xmm10
2444
+ xorq %r10,%r13
2445
+ xorq %rax,%r12
2446
+ vpaddq %xmm11,%xmm7,%xmm7
2447
+ shrdq $4,%r13,%r13
2448
+ xorq %rcx,%r14
2449
+ vpsrlq $7,%xmm8,%xmm11
2450
+ andq %r10,%r12
2451
+ xorq %r10,%r13
2452
+ vpsllq $56,%xmm8,%xmm9
2453
+ addq 112(%rsp),%rbx
2454
+ movq %rcx,%r15
2455
+ vpxor %xmm10,%xmm11,%xmm8
2456
+ xorq %rax,%r12
2457
+ shrdq $6,%r14,%r14
2458
+ vpsrlq $7,%xmm10,%xmm10
2459
+ xorq %rdx,%r15
2460
+ addq %r12,%rbx
2461
+ vpxor %xmm9,%xmm8,%xmm8
2462
+ shrdq $14,%r13,%r13
2463
+ andq %r15,%rdi
2464
+ vpsllq $7,%xmm9,%xmm9
2465
+ xorq %rcx,%r14
2466
+ addq %r13,%rbx
2467
+ vpxor %xmm10,%xmm8,%xmm8
2468
+ xorq %rdx,%rdi
2469
+ shrdq $28,%r14,%r14
2470
+ vpsrlq $6,%xmm6,%xmm11
2471
+ addq %rbx,%r9
2472
+ addq %rdi,%rbx
2473
+ vpxor %xmm9,%xmm8,%xmm8
2474
+ movq %r9,%r13
2475
+ addq %rbx,%r14
2476
+ vpsllq $3,%xmm6,%xmm10
2477
+ shrdq $23,%r13,%r13
2478
+ movq %r14,%rbx
2479
+ vpaddq %xmm8,%xmm7,%xmm7
2480
+ movq %r10,%r12
2481
+ shrdq $5,%r14,%r14
2482
+ vpsrlq $19,%xmm6,%xmm9
2483
+ xorq %r9,%r13
2484
+ xorq %r11,%r12
2485
+ vpxor %xmm10,%xmm11,%xmm11
2486
+ shrdq $4,%r13,%r13
2487
+ xorq %rbx,%r14
2488
+ vpsllq $42,%xmm10,%xmm10
2489
+ andq %r9,%r12
2490
+ xorq %r9,%r13
2491
+ vpxor %xmm9,%xmm11,%xmm11
2492
+ addq 120(%rsp),%rax
2493
+ movq %rbx,%rdi
2494
+ vpsrlq $42,%xmm9,%xmm9
2495
+ xorq %r11,%r12
2496
+ shrdq $6,%r14,%r14
2497
+ vpxor %xmm10,%xmm11,%xmm11
2498
+ xorq %rcx,%rdi
2499
+ addq %r12,%rax
2500
+ vpxor %xmm9,%xmm11,%xmm11
2501
+ shrdq $14,%r13,%r13
2502
+ andq %rdi,%r15
2503
+ vpaddq %xmm11,%xmm7,%xmm7
2504
+ xorq %rbx,%r14
2505
+ addq %r13,%rax
2506
+ vpaddq 96(%rbp),%xmm7,%xmm10
2507
+ xorq %rcx,%r15
2508
+ shrdq $28,%r14,%r14
2509
+ addq %rax,%r8
2510
+ addq %r15,%rax
2511
+ movq %r8,%r13
2512
+ addq %rax,%r14
2513
+ vmovdqa %xmm10,112(%rsp)
2514
+ cmpb $0,135(%rbp)
2515
+ jne .Lavx_00_47
2516
+ shrdq $23,%r13,%r13
2517
+ movq %r14,%rax
2518
+ movq %r9,%r12
2519
+ shrdq $5,%r14,%r14
2520
+ xorq %r8,%r13
2521
+ xorq %r10,%r12
2522
+ shrdq $4,%r13,%r13
2523
+ xorq %rax,%r14
2524
+ andq %r8,%r12
2525
+ xorq %r8,%r13
2526
+ addq 0(%rsp),%r11
2527
+ movq %rax,%r15
2528
+ xorq %r10,%r12
2529
+ shrdq $6,%r14,%r14
2530
+ xorq %rbx,%r15
2531
+ addq %r12,%r11
2532
+ shrdq $14,%r13,%r13
2533
+ andq %r15,%rdi
2534
+ xorq %rax,%r14
2535
+ addq %r13,%r11
2536
+ xorq %rbx,%rdi
2537
+ shrdq $28,%r14,%r14
2538
+ addq %r11,%rdx
2539
+ addq %rdi,%r11
2540
+ movq %rdx,%r13
2541
+ addq %r11,%r14
2542
+ shrdq $23,%r13,%r13
2543
+ movq %r14,%r11
2544
+ movq %r8,%r12
2545
+ shrdq $5,%r14,%r14
2546
+ xorq %rdx,%r13
2547
+ xorq %r9,%r12
2548
+ shrdq $4,%r13,%r13
2549
+ xorq %r11,%r14
2550
+ andq %rdx,%r12
2551
+ xorq %rdx,%r13
2552
+ addq 8(%rsp),%r10
2553
+ movq %r11,%rdi
2554
+ xorq %r9,%r12
2555
+ shrdq $6,%r14,%r14
2556
+ xorq %rax,%rdi
2557
+ addq %r12,%r10
2558
+ shrdq $14,%r13,%r13
2559
+ andq %rdi,%r15
2560
+ xorq %r11,%r14
2561
+ addq %r13,%r10
2562
+ xorq %rax,%r15
2563
+ shrdq $28,%r14,%r14
2564
+ addq %r10,%rcx
2565
+ addq %r15,%r10
2566
+ movq %rcx,%r13
2567
+ addq %r10,%r14
2568
+ shrdq $23,%r13,%r13
2569
+ movq %r14,%r10
2570
+ movq %rdx,%r12
2571
+ shrdq $5,%r14,%r14
2572
+ xorq %rcx,%r13
2573
+ xorq %r8,%r12
2574
+ shrdq $4,%r13,%r13
2575
+ xorq %r10,%r14
2576
+ andq %rcx,%r12
2577
+ xorq %rcx,%r13
2578
+ addq 16(%rsp),%r9
2579
+ movq %r10,%r15
2580
+ xorq %r8,%r12
2581
+ shrdq $6,%r14,%r14
2582
+ xorq %r11,%r15
2583
+ addq %r12,%r9
2584
+ shrdq $14,%r13,%r13
2585
+ andq %r15,%rdi
2586
+ xorq %r10,%r14
2587
+ addq %r13,%r9
2588
+ xorq %r11,%rdi
2589
+ shrdq $28,%r14,%r14
2590
+ addq %r9,%rbx
2591
+ addq %rdi,%r9
2592
+ movq %rbx,%r13
2593
+ addq %r9,%r14
2594
+ shrdq $23,%r13,%r13
2595
+ movq %r14,%r9
2596
+ movq %rcx,%r12
2597
+ shrdq $5,%r14,%r14
2598
+ xorq %rbx,%r13
2599
+ xorq %rdx,%r12
2600
+ shrdq $4,%r13,%r13
2601
+ xorq %r9,%r14
2602
+ andq %rbx,%r12
2603
+ xorq %rbx,%r13
2604
+ addq 24(%rsp),%r8
2605
+ movq %r9,%rdi
2606
+ xorq %rdx,%r12
2607
+ shrdq $6,%r14,%r14
2608
+ xorq %r10,%rdi
2609
+ addq %r12,%r8
2610
+ shrdq $14,%r13,%r13
2611
+ andq %rdi,%r15
2612
+ xorq %r9,%r14
2613
+ addq %r13,%r8
2614
+ xorq %r10,%r15
2615
+ shrdq $28,%r14,%r14
2616
+ addq %r8,%rax
2617
+ addq %r15,%r8
2618
+ movq %rax,%r13
2619
+ addq %r8,%r14
2620
+ shrdq $23,%r13,%r13
2621
+ movq %r14,%r8
2622
+ movq %rbx,%r12
2623
+ shrdq $5,%r14,%r14
2624
+ xorq %rax,%r13
2625
+ xorq %rcx,%r12
2626
+ shrdq $4,%r13,%r13
2627
+ xorq %r8,%r14
2628
+ andq %rax,%r12
2629
+ xorq %rax,%r13
2630
+ addq 32(%rsp),%rdx
2631
+ movq %r8,%r15
2632
+ xorq %rcx,%r12
2633
+ shrdq $6,%r14,%r14
2634
+ xorq %r9,%r15
2635
+ addq %r12,%rdx
2636
+ shrdq $14,%r13,%r13
2637
+ andq %r15,%rdi
2638
+ xorq %r8,%r14
2639
+ addq %r13,%rdx
2640
+ xorq %r9,%rdi
2641
+ shrdq $28,%r14,%r14
2642
+ addq %rdx,%r11
2643
+ addq %rdi,%rdx
2644
+ movq %r11,%r13
2645
+ addq %rdx,%r14
2646
+ shrdq $23,%r13,%r13
2647
+ movq %r14,%rdx
2648
+ movq %rax,%r12
2649
+ shrdq $5,%r14,%r14
2650
+ xorq %r11,%r13
2651
+ xorq %rbx,%r12
2652
+ shrdq $4,%r13,%r13
2653
+ xorq %rdx,%r14
2654
+ andq %r11,%r12
2655
+ xorq %r11,%r13
2656
+ addq 40(%rsp),%rcx
2657
+ movq %rdx,%rdi
2658
+ xorq %rbx,%r12
2659
+ shrdq $6,%r14,%r14
2660
+ xorq %r8,%rdi
2661
+ addq %r12,%rcx
2662
+ shrdq $14,%r13,%r13
2663
+ andq %rdi,%r15
2664
+ xorq %rdx,%r14
2665
+ addq %r13,%rcx
2666
+ xorq %r8,%r15
2667
+ shrdq $28,%r14,%r14
2668
+ addq %rcx,%r10
2669
+ addq %r15,%rcx
2670
+ movq %r10,%r13
2671
+ addq %rcx,%r14
2672
+ shrdq $23,%r13,%r13
2673
+ movq %r14,%rcx
2674
+ movq %r11,%r12
2675
+ shrdq $5,%r14,%r14
2676
+ xorq %r10,%r13
2677
+ xorq %rax,%r12
2678
+ shrdq $4,%r13,%r13
2679
+ xorq %rcx,%r14
2680
+ andq %r10,%r12
2681
+ xorq %r10,%r13
2682
+ addq 48(%rsp),%rbx
2683
+ movq %rcx,%r15
2684
+ xorq %rax,%r12
2685
+ shrdq $6,%r14,%r14
2686
+ xorq %rdx,%r15
2687
+ addq %r12,%rbx
2688
+ shrdq $14,%r13,%r13
2689
+ andq %r15,%rdi
2690
+ xorq %rcx,%r14
2691
+ addq %r13,%rbx
2692
+ xorq %rdx,%rdi
2693
+ shrdq $28,%r14,%r14
2694
+ addq %rbx,%r9
2695
+ addq %rdi,%rbx
2696
+ movq %r9,%r13
2697
+ addq %rbx,%r14
2698
+ shrdq $23,%r13,%r13
2699
+ movq %r14,%rbx
2700
+ movq %r10,%r12
2701
+ shrdq $5,%r14,%r14
2702
+ xorq %r9,%r13
2703
+ xorq %r11,%r12
2704
+ shrdq $4,%r13,%r13
2705
+ xorq %rbx,%r14
2706
+ andq %r9,%r12
2707
+ xorq %r9,%r13
2708
+ addq 56(%rsp),%rax
2709
+ movq %rbx,%rdi
2710
+ xorq %r11,%r12
2711
+ shrdq $6,%r14,%r14
2712
+ xorq %rcx,%rdi
2713
+ addq %r12,%rax
2714
+ shrdq $14,%r13,%r13
2715
+ andq %rdi,%r15
2716
+ xorq %rbx,%r14
2717
+ addq %r13,%rax
2718
+ xorq %rcx,%r15
2719
+ shrdq $28,%r14,%r14
2720
+ addq %rax,%r8
2721
+ addq %r15,%rax
2722
+ movq %r8,%r13
2723
+ addq %rax,%r14
2724
+ shrdq $23,%r13,%r13
2725
+ movq %r14,%rax
2726
+ movq %r9,%r12
2727
+ shrdq $5,%r14,%r14
2728
+ xorq %r8,%r13
2729
+ xorq %r10,%r12
2730
+ shrdq $4,%r13,%r13
2731
+ xorq %rax,%r14
2732
+ andq %r8,%r12
2733
+ xorq %r8,%r13
2734
+ addq 64(%rsp),%r11
2735
+ movq %rax,%r15
2736
+ xorq %r10,%r12
2737
+ shrdq $6,%r14,%r14
2738
+ xorq %rbx,%r15
2739
+ addq %r12,%r11
2740
+ shrdq $14,%r13,%r13
2741
+ andq %r15,%rdi
2742
+ xorq %rax,%r14
2743
+ addq %r13,%r11
2744
+ xorq %rbx,%rdi
2745
+ shrdq $28,%r14,%r14
2746
+ addq %r11,%rdx
2747
+ addq %rdi,%r11
2748
+ movq %rdx,%r13
2749
+ addq %r11,%r14
2750
+ shrdq $23,%r13,%r13
2751
+ movq %r14,%r11
2752
+ movq %r8,%r12
2753
+ shrdq $5,%r14,%r14
2754
+ xorq %rdx,%r13
2755
+ xorq %r9,%r12
2756
+ shrdq $4,%r13,%r13
2757
+ xorq %r11,%r14
2758
+ andq %rdx,%r12
2759
+ xorq %rdx,%r13
2760
+ addq 72(%rsp),%r10
2761
+ movq %r11,%rdi
2762
+ xorq %r9,%r12
2763
+ shrdq $6,%r14,%r14
2764
+ xorq %rax,%rdi
2765
+ addq %r12,%r10
2766
+ shrdq $14,%r13,%r13
2767
+ andq %rdi,%r15
2768
+ xorq %r11,%r14
2769
+ addq %r13,%r10
2770
+ xorq %rax,%r15
2771
+ shrdq $28,%r14,%r14
2772
+ addq %r10,%rcx
2773
+ addq %r15,%r10
2774
+ movq %rcx,%r13
2775
+ addq %r10,%r14
2776
+ shrdq $23,%r13,%r13
2777
+ movq %r14,%r10
2778
+ movq %rdx,%r12
2779
+ shrdq $5,%r14,%r14
2780
+ xorq %rcx,%r13
2781
+ xorq %r8,%r12
2782
+ shrdq $4,%r13,%r13
2783
+ xorq %r10,%r14
2784
+ andq %rcx,%r12
2785
+ xorq %rcx,%r13
2786
+ addq 80(%rsp),%r9
2787
+ movq %r10,%r15
2788
+ xorq %r8,%r12
2789
+ shrdq $6,%r14,%r14
2790
+ xorq %r11,%r15
2791
+ addq %r12,%r9
2792
+ shrdq $14,%r13,%r13
2793
+ andq %r15,%rdi
2794
+ xorq %r10,%r14
2795
+ addq %r13,%r9
2796
+ xorq %r11,%rdi
2797
+ shrdq $28,%r14,%r14
2798
+ addq %r9,%rbx
2799
+ addq %rdi,%r9
2800
+ movq %rbx,%r13
2801
+ addq %r9,%r14
2802
+ shrdq $23,%r13,%r13
2803
+ movq %r14,%r9
2804
+ movq %rcx,%r12
2805
+ shrdq $5,%r14,%r14
2806
+ xorq %rbx,%r13
2807
+ xorq %rdx,%r12
2808
+ shrdq $4,%r13,%r13
2809
+ xorq %r9,%r14
2810
+ andq %rbx,%r12
2811
+ xorq %rbx,%r13
2812
+ addq 88(%rsp),%r8
2813
+ movq %r9,%rdi
2814
+ xorq %rdx,%r12
2815
+ shrdq $6,%r14,%r14
2816
+ xorq %r10,%rdi
2817
+ addq %r12,%r8
2818
+ shrdq $14,%r13,%r13
2819
+ andq %rdi,%r15
2820
+ xorq %r9,%r14
2821
+ addq %r13,%r8
2822
+ xorq %r10,%r15
2823
+ shrdq $28,%r14,%r14
2824
+ addq %r8,%rax
2825
+ addq %r15,%r8
2826
+ movq %rax,%r13
2827
+ addq %r8,%r14
2828
+ shrdq $23,%r13,%r13
2829
+ movq %r14,%r8
2830
+ movq %rbx,%r12
2831
+ shrdq $5,%r14,%r14
2832
+ xorq %rax,%r13
2833
+ xorq %rcx,%r12
2834
+ shrdq $4,%r13,%r13
2835
+ xorq %r8,%r14
2836
+ andq %rax,%r12
2837
+ xorq %rax,%r13
2838
+ addq 96(%rsp),%rdx
2839
+ movq %r8,%r15
2840
+ xorq %rcx,%r12
2841
+ shrdq $6,%r14,%r14
2842
+ xorq %r9,%r15
2843
+ addq %r12,%rdx
2844
+ shrdq $14,%r13,%r13
2845
+ andq %r15,%rdi
2846
+ xorq %r8,%r14
2847
+ addq %r13,%rdx
2848
+ xorq %r9,%rdi
2849
+ shrdq $28,%r14,%r14
2850
+ addq %rdx,%r11
2851
+ addq %rdi,%rdx
2852
+ movq %r11,%r13
2853
+ addq %rdx,%r14
2854
+ shrdq $23,%r13,%r13
2855
+ movq %r14,%rdx
2856
+ movq %rax,%r12
2857
+ shrdq $5,%r14,%r14
2858
+ xorq %r11,%r13
2859
+ xorq %rbx,%r12
2860
+ shrdq $4,%r13,%r13
2861
+ xorq %rdx,%r14
2862
+ andq %r11,%r12
2863
+ xorq %r11,%r13
2864
+ addq 104(%rsp),%rcx
2865
+ movq %rdx,%rdi
2866
+ xorq %rbx,%r12
2867
+ shrdq $6,%r14,%r14
2868
+ xorq %r8,%rdi
2869
+ addq %r12,%rcx
2870
+ shrdq $14,%r13,%r13
2871
+ andq %rdi,%r15
2872
+ xorq %rdx,%r14
2873
+ addq %r13,%rcx
2874
+ xorq %r8,%r15
2875
+ shrdq $28,%r14,%r14
2876
+ addq %rcx,%r10
2877
+ addq %r15,%rcx
2878
+ movq %r10,%r13
2879
+ addq %rcx,%r14
2880
+ shrdq $23,%r13,%r13
2881
+ movq %r14,%rcx
2882
+ movq %r11,%r12
2883
+ shrdq $5,%r14,%r14
2884
+ xorq %r10,%r13
2885
+ xorq %rax,%r12
2886
+ shrdq $4,%r13,%r13
2887
+ xorq %rcx,%r14
2888
+ andq %r10,%r12
2889
+ xorq %r10,%r13
2890
+ addq 112(%rsp),%rbx
2891
+ movq %rcx,%r15
2892
+ xorq %rax,%r12
2893
+ shrdq $6,%r14,%r14
2894
+ xorq %rdx,%r15
2895
+ addq %r12,%rbx
2896
+ shrdq $14,%r13,%r13
2897
+ andq %r15,%rdi
2898
+ xorq %rcx,%r14
2899
+ addq %r13,%rbx
2900
+ xorq %rdx,%rdi
2901
+ shrdq $28,%r14,%r14
2902
+ addq %rbx,%r9
2903
+ addq %rdi,%rbx
2904
+ movq %r9,%r13
2905
+ addq %rbx,%r14
2906
+ shrdq $23,%r13,%r13
2907
+ movq %r14,%rbx
2908
+ movq %r10,%r12
2909
+ shrdq $5,%r14,%r14
2910
+ xorq %r9,%r13
2911
+ xorq %r11,%r12
2912
+ shrdq $4,%r13,%r13
2913
+ xorq %rbx,%r14
2914
+ andq %r9,%r12
2915
+ xorq %r9,%r13
2916
+ addq 120(%rsp),%rax
2917
+ movq %rbx,%rdi
2918
+ xorq %r11,%r12
2919
+ shrdq $6,%r14,%r14
2920
+ xorq %rcx,%rdi
2921
+ addq %r12,%rax
2922
+ shrdq $14,%r13,%r13
2923
+ andq %rdi,%r15
2924
+ xorq %rbx,%r14
2925
+ addq %r13,%rax
2926
+ xorq %rcx,%r15
2927
+ shrdq $28,%r14,%r14
2928
+ addq %rax,%r8
2929
+ addq %r15,%rax
2930
+ movq %r8,%r13
2931
+ addq %rax,%r14
2932
+ movq 128+0(%rsp),%rdi
2933
+ movq %r14,%rax
2934
+
2935
+ addq 0(%rdi),%rax
2936
+ leaq 128(%rsi),%rsi
2937
+ addq 8(%rdi),%rbx
2938
+ addq 16(%rdi),%rcx
2939
+ addq 24(%rdi),%rdx
2940
+ addq 32(%rdi),%r8
2941
+ addq 40(%rdi),%r9
2942
+ addq 48(%rdi),%r10
2943
+ addq 56(%rdi),%r11
2944
+
2945
+ cmpq 128+16(%rsp),%rsi
2946
+
2947
+ movq %rax,0(%rdi)
2948
+ movq %rbx,8(%rdi)
2949
+ movq %rcx,16(%rdi)
2950
+ movq %rdx,24(%rdi)
2951
+ movq %r8,32(%rdi)
2952
+ movq %r9,40(%rdi)
2953
+ movq %r10,48(%rdi)
2954
+ movq %r11,56(%rdi)
2955
+ jb .Lloop_avx
2956
+
2957
+ movq 152(%rsp),%rsi
2958
+ .cfi_def_cfa %rsi,8
2959
+ vzeroupper
2960
+ movq -48(%rsi),%r15
2961
+ .cfi_restore %r15
2962
+ movq -40(%rsi),%r14
2963
+ .cfi_restore %r14
2964
+ movq -32(%rsi),%r13
2965
+ .cfi_restore %r13
2966
+ movq -24(%rsi),%r12
2967
+ .cfi_restore %r12
2968
+ movq -16(%rsi),%rbp
2969
+ .cfi_restore %rbp
2970
+ movq -8(%rsi),%rbx
2971
+ .cfi_restore %rbx
2972
+ leaq (%rsi),%rsp
2973
+ .cfi_def_cfa_register %rsp
2974
+ .Lepilogue_avx:
2975
+ ret
2976
+ .cfi_endproc
2977
+ .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
2978
+ #endif