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,2979 @@
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(__APPLE__)
7
+ .text
8
+
9
+ .globl _sha512_block_data_order_nohw
10
+ .private_extern _sha512_block_data_order_nohw
11
+
12
+ .p2align 4
13
+ _sha512_block_data_order_nohw:
14
+
15
+ _CET_ENDBR
16
+ movq %rsp,%rax // copy %rsp
17
+
18
+ pushq %rbx
19
+
20
+ pushq %rbp
21
+
22
+ pushq %r12
23
+
24
+ pushq %r13
25
+
26
+ pushq %r14
27
+
28
+ pushq %r15
29
+
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
+
39
+ L$prologue:
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 L$loop
50
+
51
+ .p2align 4
52
+ L$loop:
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 L$rounds_16_xx
712
+ .p2align 4
713
+ L$rounds_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 L$rounds_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 L$loop
1701
+
1702
+ movq 152(%rsp),%rsi
1703
+
1704
+ movq -48(%rsi),%r15
1705
+
1706
+ movq -40(%rsi),%r14
1707
+
1708
+ movq -32(%rsi),%r13
1709
+
1710
+ movq -24(%rsi),%r12
1711
+
1712
+ movq -16(%rsi),%rbp
1713
+
1714
+ movq -8(%rsi),%rbx
1715
+
1716
+ leaq (%rsi),%rsp
1717
+
1718
+ L$epilogue:
1719
+ ret
1720
+
1721
+
1722
+ .section __DATA,__const
1723
+ .p2align 6
1724
+
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
+ .private_extern _sha512_block_data_order_avx
1813
+
1814
+ .p2align 6
1815
+ .alt_entry _sha512_block_data_order_avx
1816
+ _sha512_block_data_order_avx:
1817
+
1818
+ _CET_ENDBR
1819
+ movq %rsp,%rax // copy %rsp
1820
+
1821
+ pushq %rbx
1822
+
1823
+ pushq %rbp
1824
+
1825
+ pushq %r12
1826
+
1827
+ pushq %r13
1828
+
1829
+ pushq %r14
1830
+
1831
+ pushq %r15
1832
+
1833
+ shlq $4,%rdx // num*16
1834
+ subq $160,%rsp
1835
+ leaq (%rsi,%rdx,8),%rdx // inp+num*16*8
1836
+ andq $-64,%rsp // align stack frame
1837
+ movq %rdi,128+0(%rsp) // save ctx, 1st arg
1838
+ movq %rsi,128+8(%rsp) // save inp, 2nd arh
1839
+ movq %rdx,128+16(%rsp) // save end pointer, "3rd" arg
1840
+ movq %rax,152(%rsp) // save copy of %rsp
1841
+
1842
+ L$prologue_avx:
1843
+
1844
+ vzeroupper
1845
+ movq 0(%rdi),%rax
1846
+ movq 8(%rdi),%rbx
1847
+ movq 16(%rdi),%rcx
1848
+ movq 24(%rdi),%rdx
1849
+ movq 32(%rdi),%r8
1850
+ movq 40(%rdi),%r9
1851
+ movq 48(%rdi),%r10
1852
+ movq 56(%rdi),%r11
1853
+ jmp L$loop_avx
1854
+ .p2align 4
1855
+ L$loop_avx:
1856
+ vmovdqa K512+1280(%rip),%xmm11
1857
+ vmovdqu 0(%rsi),%xmm0
1858
+ leaq K512+128(%rip),%rbp // size optimization
1859
+ vmovdqu 16(%rsi),%xmm1
1860
+ vmovdqu 32(%rsi),%xmm2
1861
+ vpshufb %xmm11,%xmm0,%xmm0
1862
+ vmovdqu 48(%rsi),%xmm3
1863
+ vpshufb %xmm11,%xmm1,%xmm1
1864
+ vmovdqu 64(%rsi),%xmm4
1865
+ vpshufb %xmm11,%xmm2,%xmm2
1866
+ vmovdqu 80(%rsi),%xmm5
1867
+ vpshufb %xmm11,%xmm3,%xmm3
1868
+ vmovdqu 96(%rsi),%xmm6
1869
+ vpshufb %xmm11,%xmm4,%xmm4
1870
+ vmovdqu 112(%rsi),%xmm7
1871
+ vpshufb %xmm11,%xmm5,%xmm5
1872
+ vpaddq -128(%rbp),%xmm0,%xmm8
1873
+ vpshufb %xmm11,%xmm6,%xmm6
1874
+ vpaddq -96(%rbp),%xmm1,%xmm9
1875
+ vpshufb %xmm11,%xmm7,%xmm7
1876
+ vpaddq -64(%rbp),%xmm2,%xmm10
1877
+ vpaddq -32(%rbp),%xmm3,%xmm11
1878
+ vmovdqa %xmm8,0(%rsp)
1879
+ vpaddq 0(%rbp),%xmm4,%xmm8
1880
+ vmovdqa %xmm9,16(%rsp)
1881
+ vpaddq 32(%rbp),%xmm5,%xmm9
1882
+ vmovdqa %xmm10,32(%rsp)
1883
+ vpaddq 64(%rbp),%xmm6,%xmm10
1884
+ vmovdqa %xmm11,48(%rsp)
1885
+ vpaddq 96(%rbp),%xmm7,%xmm11
1886
+ vmovdqa %xmm8,64(%rsp)
1887
+ movq %rax,%r14
1888
+ vmovdqa %xmm9,80(%rsp)
1889
+ movq %rbx,%rdi
1890
+ vmovdqa %xmm10,96(%rsp)
1891
+ xorq %rcx,%rdi // magic
1892
+ vmovdqa %xmm11,112(%rsp)
1893
+ movq %r8,%r13
1894
+ jmp L$avx_00_47
1895
+
1896
+ .p2align 4
1897
+ L$avx_00_47:
1898
+ addq $256,%rbp
1899
+ vpalignr $8,%xmm0,%xmm1,%xmm8
1900
+ shrdq $23,%r13,%r13
1901
+ movq %r14,%rax
1902
+ vpalignr $8,%xmm4,%xmm5,%xmm11
1903
+ movq %r9,%r12
1904
+ shrdq $5,%r14,%r14
1905
+ vpsrlq $1,%xmm8,%xmm10
1906
+ xorq %r8,%r13
1907
+ xorq %r10,%r12
1908
+ vpaddq %xmm11,%xmm0,%xmm0
1909
+ shrdq $4,%r13,%r13
1910
+ xorq %rax,%r14
1911
+ vpsrlq $7,%xmm8,%xmm11
1912
+ andq %r8,%r12
1913
+ xorq %r8,%r13
1914
+ vpsllq $56,%xmm8,%xmm9
1915
+ addq 0(%rsp),%r11
1916
+ movq %rax,%r15
1917
+ vpxor %xmm10,%xmm11,%xmm8
1918
+ xorq %r10,%r12
1919
+ shrdq $6,%r14,%r14
1920
+ vpsrlq $7,%xmm10,%xmm10
1921
+ xorq %rbx,%r15
1922
+ addq %r12,%r11
1923
+ vpxor %xmm9,%xmm8,%xmm8
1924
+ shrdq $14,%r13,%r13
1925
+ andq %r15,%rdi
1926
+ vpsllq $7,%xmm9,%xmm9
1927
+ xorq %rax,%r14
1928
+ addq %r13,%r11
1929
+ vpxor %xmm10,%xmm8,%xmm8
1930
+ xorq %rbx,%rdi
1931
+ shrdq $28,%r14,%r14
1932
+ vpsrlq $6,%xmm7,%xmm11
1933
+ addq %r11,%rdx
1934
+ addq %rdi,%r11
1935
+ vpxor %xmm9,%xmm8,%xmm8
1936
+ movq %rdx,%r13
1937
+ addq %r11,%r14
1938
+ vpsllq $3,%xmm7,%xmm10
1939
+ shrdq $23,%r13,%r13
1940
+ movq %r14,%r11
1941
+ vpaddq %xmm8,%xmm0,%xmm0
1942
+ movq %r8,%r12
1943
+ shrdq $5,%r14,%r14
1944
+ vpsrlq $19,%xmm7,%xmm9
1945
+ xorq %rdx,%r13
1946
+ xorq %r9,%r12
1947
+ vpxor %xmm10,%xmm11,%xmm11
1948
+ shrdq $4,%r13,%r13
1949
+ xorq %r11,%r14
1950
+ vpsllq $42,%xmm10,%xmm10
1951
+ andq %rdx,%r12
1952
+ xorq %rdx,%r13
1953
+ vpxor %xmm9,%xmm11,%xmm11
1954
+ addq 8(%rsp),%r10
1955
+ movq %r11,%rdi
1956
+ vpsrlq $42,%xmm9,%xmm9
1957
+ xorq %r9,%r12
1958
+ shrdq $6,%r14,%r14
1959
+ vpxor %xmm10,%xmm11,%xmm11
1960
+ xorq %rax,%rdi
1961
+ addq %r12,%r10
1962
+ vpxor %xmm9,%xmm11,%xmm11
1963
+ shrdq $14,%r13,%r13
1964
+ andq %rdi,%r15
1965
+ vpaddq %xmm11,%xmm0,%xmm0
1966
+ xorq %r11,%r14
1967
+ addq %r13,%r10
1968
+ vpaddq -128(%rbp),%xmm0,%xmm10
1969
+ xorq %rax,%r15
1970
+ shrdq $28,%r14,%r14
1971
+ addq %r10,%rcx
1972
+ addq %r15,%r10
1973
+ movq %rcx,%r13
1974
+ addq %r10,%r14
1975
+ vmovdqa %xmm10,0(%rsp)
1976
+ vpalignr $8,%xmm1,%xmm2,%xmm8
1977
+ shrdq $23,%r13,%r13
1978
+ movq %r14,%r10
1979
+ vpalignr $8,%xmm5,%xmm6,%xmm11
1980
+ movq %rdx,%r12
1981
+ shrdq $5,%r14,%r14
1982
+ vpsrlq $1,%xmm8,%xmm10
1983
+ xorq %rcx,%r13
1984
+ xorq %r8,%r12
1985
+ vpaddq %xmm11,%xmm1,%xmm1
1986
+ shrdq $4,%r13,%r13
1987
+ xorq %r10,%r14
1988
+ vpsrlq $7,%xmm8,%xmm11
1989
+ andq %rcx,%r12
1990
+ xorq %rcx,%r13
1991
+ vpsllq $56,%xmm8,%xmm9
1992
+ addq 16(%rsp),%r9
1993
+ movq %r10,%r15
1994
+ vpxor %xmm10,%xmm11,%xmm8
1995
+ xorq %r8,%r12
1996
+ shrdq $6,%r14,%r14
1997
+ vpsrlq $7,%xmm10,%xmm10
1998
+ xorq %r11,%r15
1999
+ addq %r12,%r9
2000
+ vpxor %xmm9,%xmm8,%xmm8
2001
+ shrdq $14,%r13,%r13
2002
+ andq %r15,%rdi
2003
+ vpsllq $7,%xmm9,%xmm9
2004
+ xorq %r10,%r14
2005
+ addq %r13,%r9
2006
+ vpxor %xmm10,%xmm8,%xmm8
2007
+ xorq %r11,%rdi
2008
+ shrdq $28,%r14,%r14
2009
+ vpsrlq $6,%xmm0,%xmm11
2010
+ addq %r9,%rbx
2011
+ addq %rdi,%r9
2012
+ vpxor %xmm9,%xmm8,%xmm8
2013
+ movq %rbx,%r13
2014
+ addq %r9,%r14
2015
+ vpsllq $3,%xmm0,%xmm10
2016
+ shrdq $23,%r13,%r13
2017
+ movq %r14,%r9
2018
+ vpaddq %xmm8,%xmm1,%xmm1
2019
+ movq %rcx,%r12
2020
+ shrdq $5,%r14,%r14
2021
+ vpsrlq $19,%xmm0,%xmm9
2022
+ xorq %rbx,%r13
2023
+ xorq %rdx,%r12
2024
+ vpxor %xmm10,%xmm11,%xmm11
2025
+ shrdq $4,%r13,%r13
2026
+ xorq %r9,%r14
2027
+ vpsllq $42,%xmm10,%xmm10
2028
+ andq %rbx,%r12
2029
+ xorq %rbx,%r13
2030
+ vpxor %xmm9,%xmm11,%xmm11
2031
+ addq 24(%rsp),%r8
2032
+ movq %r9,%rdi
2033
+ vpsrlq $42,%xmm9,%xmm9
2034
+ xorq %rdx,%r12
2035
+ shrdq $6,%r14,%r14
2036
+ vpxor %xmm10,%xmm11,%xmm11
2037
+ xorq %r10,%rdi
2038
+ addq %r12,%r8
2039
+ vpxor %xmm9,%xmm11,%xmm11
2040
+ shrdq $14,%r13,%r13
2041
+ andq %rdi,%r15
2042
+ vpaddq %xmm11,%xmm1,%xmm1
2043
+ xorq %r9,%r14
2044
+ addq %r13,%r8
2045
+ vpaddq -96(%rbp),%xmm1,%xmm10
2046
+ xorq %r10,%r15
2047
+ shrdq $28,%r14,%r14
2048
+ addq %r8,%rax
2049
+ addq %r15,%r8
2050
+ movq %rax,%r13
2051
+ addq %r8,%r14
2052
+ vmovdqa %xmm10,16(%rsp)
2053
+ vpalignr $8,%xmm2,%xmm3,%xmm8
2054
+ shrdq $23,%r13,%r13
2055
+ movq %r14,%r8
2056
+ vpalignr $8,%xmm6,%xmm7,%xmm11
2057
+ movq %rbx,%r12
2058
+ shrdq $5,%r14,%r14
2059
+ vpsrlq $1,%xmm8,%xmm10
2060
+ xorq %rax,%r13
2061
+ xorq %rcx,%r12
2062
+ vpaddq %xmm11,%xmm2,%xmm2
2063
+ shrdq $4,%r13,%r13
2064
+ xorq %r8,%r14
2065
+ vpsrlq $7,%xmm8,%xmm11
2066
+ andq %rax,%r12
2067
+ xorq %rax,%r13
2068
+ vpsllq $56,%xmm8,%xmm9
2069
+ addq 32(%rsp),%rdx
2070
+ movq %r8,%r15
2071
+ vpxor %xmm10,%xmm11,%xmm8
2072
+ xorq %rcx,%r12
2073
+ shrdq $6,%r14,%r14
2074
+ vpsrlq $7,%xmm10,%xmm10
2075
+ xorq %r9,%r15
2076
+ addq %r12,%rdx
2077
+ vpxor %xmm9,%xmm8,%xmm8
2078
+ shrdq $14,%r13,%r13
2079
+ andq %r15,%rdi
2080
+ vpsllq $7,%xmm9,%xmm9
2081
+ xorq %r8,%r14
2082
+ addq %r13,%rdx
2083
+ vpxor %xmm10,%xmm8,%xmm8
2084
+ xorq %r9,%rdi
2085
+ shrdq $28,%r14,%r14
2086
+ vpsrlq $6,%xmm1,%xmm11
2087
+ addq %rdx,%r11
2088
+ addq %rdi,%rdx
2089
+ vpxor %xmm9,%xmm8,%xmm8
2090
+ movq %r11,%r13
2091
+ addq %rdx,%r14
2092
+ vpsllq $3,%xmm1,%xmm10
2093
+ shrdq $23,%r13,%r13
2094
+ movq %r14,%rdx
2095
+ vpaddq %xmm8,%xmm2,%xmm2
2096
+ movq %rax,%r12
2097
+ shrdq $5,%r14,%r14
2098
+ vpsrlq $19,%xmm1,%xmm9
2099
+ xorq %r11,%r13
2100
+ xorq %rbx,%r12
2101
+ vpxor %xmm10,%xmm11,%xmm11
2102
+ shrdq $4,%r13,%r13
2103
+ xorq %rdx,%r14
2104
+ vpsllq $42,%xmm10,%xmm10
2105
+ andq %r11,%r12
2106
+ xorq %r11,%r13
2107
+ vpxor %xmm9,%xmm11,%xmm11
2108
+ addq 40(%rsp),%rcx
2109
+ movq %rdx,%rdi
2110
+ vpsrlq $42,%xmm9,%xmm9
2111
+ xorq %rbx,%r12
2112
+ shrdq $6,%r14,%r14
2113
+ vpxor %xmm10,%xmm11,%xmm11
2114
+ xorq %r8,%rdi
2115
+ addq %r12,%rcx
2116
+ vpxor %xmm9,%xmm11,%xmm11
2117
+ shrdq $14,%r13,%r13
2118
+ andq %rdi,%r15
2119
+ vpaddq %xmm11,%xmm2,%xmm2
2120
+ xorq %rdx,%r14
2121
+ addq %r13,%rcx
2122
+ vpaddq -64(%rbp),%xmm2,%xmm10
2123
+ xorq %r8,%r15
2124
+ shrdq $28,%r14,%r14
2125
+ addq %rcx,%r10
2126
+ addq %r15,%rcx
2127
+ movq %r10,%r13
2128
+ addq %rcx,%r14
2129
+ vmovdqa %xmm10,32(%rsp)
2130
+ vpalignr $8,%xmm3,%xmm4,%xmm8
2131
+ shrdq $23,%r13,%r13
2132
+ movq %r14,%rcx
2133
+ vpalignr $8,%xmm7,%xmm0,%xmm11
2134
+ movq %r11,%r12
2135
+ shrdq $5,%r14,%r14
2136
+ vpsrlq $1,%xmm8,%xmm10
2137
+ xorq %r10,%r13
2138
+ xorq %rax,%r12
2139
+ vpaddq %xmm11,%xmm3,%xmm3
2140
+ shrdq $4,%r13,%r13
2141
+ xorq %rcx,%r14
2142
+ vpsrlq $7,%xmm8,%xmm11
2143
+ andq %r10,%r12
2144
+ xorq %r10,%r13
2145
+ vpsllq $56,%xmm8,%xmm9
2146
+ addq 48(%rsp),%rbx
2147
+ movq %rcx,%r15
2148
+ vpxor %xmm10,%xmm11,%xmm8
2149
+ xorq %rax,%r12
2150
+ shrdq $6,%r14,%r14
2151
+ vpsrlq $7,%xmm10,%xmm10
2152
+ xorq %rdx,%r15
2153
+ addq %r12,%rbx
2154
+ vpxor %xmm9,%xmm8,%xmm8
2155
+ shrdq $14,%r13,%r13
2156
+ andq %r15,%rdi
2157
+ vpsllq $7,%xmm9,%xmm9
2158
+ xorq %rcx,%r14
2159
+ addq %r13,%rbx
2160
+ vpxor %xmm10,%xmm8,%xmm8
2161
+ xorq %rdx,%rdi
2162
+ shrdq $28,%r14,%r14
2163
+ vpsrlq $6,%xmm2,%xmm11
2164
+ addq %rbx,%r9
2165
+ addq %rdi,%rbx
2166
+ vpxor %xmm9,%xmm8,%xmm8
2167
+ movq %r9,%r13
2168
+ addq %rbx,%r14
2169
+ vpsllq $3,%xmm2,%xmm10
2170
+ shrdq $23,%r13,%r13
2171
+ movq %r14,%rbx
2172
+ vpaddq %xmm8,%xmm3,%xmm3
2173
+ movq %r10,%r12
2174
+ shrdq $5,%r14,%r14
2175
+ vpsrlq $19,%xmm2,%xmm9
2176
+ xorq %r9,%r13
2177
+ xorq %r11,%r12
2178
+ vpxor %xmm10,%xmm11,%xmm11
2179
+ shrdq $4,%r13,%r13
2180
+ xorq %rbx,%r14
2181
+ vpsllq $42,%xmm10,%xmm10
2182
+ andq %r9,%r12
2183
+ xorq %r9,%r13
2184
+ vpxor %xmm9,%xmm11,%xmm11
2185
+ addq 56(%rsp),%rax
2186
+ movq %rbx,%rdi
2187
+ vpsrlq $42,%xmm9,%xmm9
2188
+ xorq %r11,%r12
2189
+ shrdq $6,%r14,%r14
2190
+ vpxor %xmm10,%xmm11,%xmm11
2191
+ xorq %rcx,%rdi
2192
+ addq %r12,%rax
2193
+ vpxor %xmm9,%xmm11,%xmm11
2194
+ shrdq $14,%r13,%r13
2195
+ andq %rdi,%r15
2196
+ vpaddq %xmm11,%xmm3,%xmm3
2197
+ xorq %rbx,%r14
2198
+ addq %r13,%rax
2199
+ vpaddq -32(%rbp),%xmm3,%xmm10
2200
+ xorq %rcx,%r15
2201
+ shrdq $28,%r14,%r14
2202
+ addq %rax,%r8
2203
+ addq %r15,%rax
2204
+ movq %r8,%r13
2205
+ addq %rax,%r14
2206
+ vmovdqa %xmm10,48(%rsp)
2207
+ vpalignr $8,%xmm4,%xmm5,%xmm8
2208
+ shrdq $23,%r13,%r13
2209
+ movq %r14,%rax
2210
+ vpalignr $8,%xmm0,%xmm1,%xmm11
2211
+ movq %r9,%r12
2212
+ shrdq $5,%r14,%r14
2213
+ vpsrlq $1,%xmm8,%xmm10
2214
+ xorq %r8,%r13
2215
+ xorq %r10,%r12
2216
+ vpaddq %xmm11,%xmm4,%xmm4
2217
+ shrdq $4,%r13,%r13
2218
+ xorq %rax,%r14
2219
+ vpsrlq $7,%xmm8,%xmm11
2220
+ andq %r8,%r12
2221
+ xorq %r8,%r13
2222
+ vpsllq $56,%xmm8,%xmm9
2223
+ addq 64(%rsp),%r11
2224
+ movq %rax,%r15
2225
+ vpxor %xmm10,%xmm11,%xmm8
2226
+ xorq %r10,%r12
2227
+ shrdq $6,%r14,%r14
2228
+ vpsrlq $7,%xmm10,%xmm10
2229
+ xorq %rbx,%r15
2230
+ addq %r12,%r11
2231
+ vpxor %xmm9,%xmm8,%xmm8
2232
+ shrdq $14,%r13,%r13
2233
+ andq %r15,%rdi
2234
+ vpsllq $7,%xmm9,%xmm9
2235
+ xorq %rax,%r14
2236
+ addq %r13,%r11
2237
+ vpxor %xmm10,%xmm8,%xmm8
2238
+ xorq %rbx,%rdi
2239
+ shrdq $28,%r14,%r14
2240
+ vpsrlq $6,%xmm3,%xmm11
2241
+ addq %r11,%rdx
2242
+ addq %rdi,%r11
2243
+ vpxor %xmm9,%xmm8,%xmm8
2244
+ movq %rdx,%r13
2245
+ addq %r11,%r14
2246
+ vpsllq $3,%xmm3,%xmm10
2247
+ shrdq $23,%r13,%r13
2248
+ movq %r14,%r11
2249
+ vpaddq %xmm8,%xmm4,%xmm4
2250
+ movq %r8,%r12
2251
+ shrdq $5,%r14,%r14
2252
+ vpsrlq $19,%xmm3,%xmm9
2253
+ xorq %rdx,%r13
2254
+ xorq %r9,%r12
2255
+ vpxor %xmm10,%xmm11,%xmm11
2256
+ shrdq $4,%r13,%r13
2257
+ xorq %r11,%r14
2258
+ vpsllq $42,%xmm10,%xmm10
2259
+ andq %rdx,%r12
2260
+ xorq %rdx,%r13
2261
+ vpxor %xmm9,%xmm11,%xmm11
2262
+ addq 72(%rsp),%r10
2263
+ movq %r11,%rdi
2264
+ vpsrlq $42,%xmm9,%xmm9
2265
+ xorq %r9,%r12
2266
+ shrdq $6,%r14,%r14
2267
+ vpxor %xmm10,%xmm11,%xmm11
2268
+ xorq %rax,%rdi
2269
+ addq %r12,%r10
2270
+ vpxor %xmm9,%xmm11,%xmm11
2271
+ shrdq $14,%r13,%r13
2272
+ andq %rdi,%r15
2273
+ vpaddq %xmm11,%xmm4,%xmm4
2274
+ xorq %r11,%r14
2275
+ addq %r13,%r10
2276
+ vpaddq 0(%rbp),%xmm4,%xmm10
2277
+ xorq %rax,%r15
2278
+ shrdq $28,%r14,%r14
2279
+ addq %r10,%rcx
2280
+ addq %r15,%r10
2281
+ movq %rcx,%r13
2282
+ addq %r10,%r14
2283
+ vmovdqa %xmm10,64(%rsp)
2284
+ vpalignr $8,%xmm5,%xmm6,%xmm8
2285
+ shrdq $23,%r13,%r13
2286
+ movq %r14,%r10
2287
+ vpalignr $8,%xmm1,%xmm2,%xmm11
2288
+ movq %rdx,%r12
2289
+ shrdq $5,%r14,%r14
2290
+ vpsrlq $1,%xmm8,%xmm10
2291
+ xorq %rcx,%r13
2292
+ xorq %r8,%r12
2293
+ vpaddq %xmm11,%xmm5,%xmm5
2294
+ shrdq $4,%r13,%r13
2295
+ xorq %r10,%r14
2296
+ vpsrlq $7,%xmm8,%xmm11
2297
+ andq %rcx,%r12
2298
+ xorq %rcx,%r13
2299
+ vpsllq $56,%xmm8,%xmm9
2300
+ addq 80(%rsp),%r9
2301
+ movq %r10,%r15
2302
+ vpxor %xmm10,%xmm11,%xmm8
2303
+ xorq %r8,%r12
2304
+ shrdq $6,%r14,%r14
2305
+ vpsrlq $7,%xmm10,%xmm10
2306
+ xorq %r11,%r15
2307
+ addq %r12,%r9
2308
+ vpxor %xmm9,%xmm8,%xmm8
2309
+ shrdq $14,%r13,%r13
2310
+ andq %r15,%rdi
2311
+ vpsllq $7,%xmm9,%xmm9
2312
+ xorq %r10,%r14
2313
+ addq %r13,%r9
2314
+ vpxor %xmm10,%xmm8,%xmm8
2315
+ xorq %r11,%rdi
2316
+ shrdq $28,%r14,%r14
2317
+ vpsrlq $6,%xmm4,%xmm11
2318
+ addq %r9,%rbx
2319
+ addq %rdi,%r9
2320
+ vpxor %xmm9,%xmm8,%xmm8
2321
+ movq %rbx,%r13
2322
+ addq %r9,%r14
2323
+ vpsllq $3,%xmm4,%xmm10
2324
+ shrdq $23,%r13,%r13
2325
+ movq %r14,%r9
2326
+ vpaddq %xmm8,%xmm5,%xmm5
2327
+ movq %rcx,%r12
2328
+ shrdq $5,%r14,%r14
2329
+ vpsrlq $19,%xmm4,%xmm9
2330
+ xorq %rbx,%r13
2331
+ xorq %rdx,%r12
2332
+ vpxor %xmm10,%xmm11,%xmm11
2333
+ shrdq $4,%r13,%r13
2334
+ xorq %r9,%r14
2335
+ vpsllq $42,%xmm10,%xmm10
2336
+ andq %rbx,%r12
2337
+ xorq %rbx,%r13
2338
+ vpxor %xmm9,%xmm11,%xmm11
2339
+ addq 88(%rsp),%r8
2340
+ movq %r9,%rdi
2341
+ vpsrlq $42,%xmm9,%xmm9
2342
+ xorq %rdx,%r12
2343
+ shrdq $6,%r14,%r14
2344
+ vpxor %xmm10,%xmm11,%xmm11
2345
+ xorq %r10,%rdi
2346
+ addq %r12,%r8
2347
+ vpxor %xmm9,%xmm11,%xmm11
2348
+ shrdq $14,%r13,%r13
2349
+ andq %rdi,%r15
2350
+ vpaddq %xmm11,%xmm5,%xmm5
2351
+ xorq %r9,%r14
2352
+ addq %r13,%r8
2353
+ vpaddq 32(%rbp),%xmm5,%xmm10
2354
+ xorq %r10,%r15
2355
+ shrdq $28,%r14,%r14
2356
+ addq %r8,%rax
2357
+ addq %r15,%r8
2358
+ movq %rax,%r13
2359
+ addq %r8,%r14
2360
+ vmovdqa %xmm10,80(%rsp)
2361
+ vpalignr $8,%xmm6,%xmm7,%xmm8
2362
+ shrdq $23,%r13,%r13
2363
+ movq %r14,%r8
2364
+ vpalignr $8,%xmm2,%xmm3,%xmm11
2365
+ movq %rbx,%r12
2366
+ shrdq $5,%r14,%r14
2367
+ vpsrlq $1,%xmm8,%xmm10
2368
+ xorq %rax,%r13
2369
+ xorq %rcx,%r12
2370
+ vpaddq %xmm11,%xmm6,%xmm6
2371
+ shrdq $4,%r13,%r13
2372
+ xorq %r8,%r14
2373
+ vpsrlq $7,%xmm8,%xmm11
2374
+ andq %rax,%r12
2375
+ xorq %rax,%r13
2376
+ vpsllq $56,%xmm8,%xmm9
2377
+ addq 96(%rsp),%rdx
2378
+ movq %r8,%r15
2379
+ vpxor %xmm10,%xmm11,%xmm8
2380
+ xorq %rcx,%r12
2381
+ shrdq $6,%r14,%r14
2382
+ vpsrlq $7,%xmm10,%xmm10
2383
+ xorq %r9,%r15
2384
+ addq %r12,%rdx
2385
+ vpxor %xmm9,%xmm8,%xmm8
2386
+ shrdq $14,%r13,%r13
2387
+ andq %r15,%rdi
2388
+ vpsllq $7,%xmm9,%xmm9
2389
+ xorq %r8,%r14
2390
+ addq %r13,%rdx
2391
+ vpxor %xmm10,%xmm8,%xmm8
2392
+ xorq %r9,%rdi
2393
+ shrdq $28,%r14,%r14
2394
+ vpsrlq $6,%xmm5,%xmm11
2395
+ addq %rdx,%r11
2396
+ addq %rdi,%rdx
2397
+ vpxor %xmm9,%xmm8,%xmm8
2398
+ movq %r11,%r13
2399
+ addq %rdx,%r14
2400
+ vpsllq $3,%xmm5,%xmm10
2401
+ shrdq $23,%r13,%r13
2402
+ movq %r14,%rdx
2403
+ vpaddq %xmm8,%xmm6,%xmm6
2404
+ movq %rax,%r12
2405
+ shrdq $5,%r14,%r14
2406
+ vpsrlq $19,%xmm5,%xmm9
2407
+ xorq %r11,%r13
2408
+ xorq %rbx,%r12
2409
+ vpxor %xmm10,%xmm11,%xmm11
2410
+ shrdq $4,%r13,%r13
2411
+ xorq %rdx,%r14
2412
+ vpsllq $42,%xmm10,%xmm10
2413
+ andq %r11,%r12
2414
+ xorq %r11,%r13
2415
+ vpxor %xmm9,%xmm11,%xmm11
2416
+ addq 104(%rsp),%rcx
2417
+ movq %rdx,%rdi
2418
+ vpsrlq $42,%xmm9,%xmm9
2419
+ xorq %rbx,%r12
2420
+ shrdq $6,%r14,%r14
2421
+ vpxor %xmm10,%xmm11,%xmm11
2422
+ xorq %r8,%rdi
2423
+ addq %r12,%rcx
2424
+ vpxor %xmm9,%xmm11,%xmm11
2425
+ shrdq $14,%r13,%r13
2426
+ andq %rdi,%r15
2427
+ vpaddq %xmm11,%xmm6,%xmm6
2428
+ xorq %rdx,%r14
2429
+ addq %r13,%rcx
2430
+ vpaddq 64(%rbp),%xmm6,%xmm10
2431
+ xorq %r8,%r15
2432
+ shrdq $28,%r14,%r14
2433
+ addq %rcx,%r10
2434
+ addq %r15,%rcx
2435
+ movq %r10,%r13
2436
+ addq %rcx,%r14
2437
+ vmovdqa %xmm10,96(%rsp)
2438
+ vpalignr $8,%xmm7,%xmm0,%xmm8
2439
+ shrdq $23,%r13,%r13
2440
+ movq %r14,%rcx
2441
+ vpalignr $8,%xmm3,%xmm4,%xmm11
2442
+ movq %r11,%r12
2443
+ shrdq $5,%r14,%r14
2444
+ vpsrlq $1,%xmm8,%xmm10
2445
+ xorq %r10,%r13
2446
+ xorq %rax,%r12
2447
+ vpaddq %xmm11,%xmm7,%xmm7
2448
+ shrdq $4,%r13,%r13
2449
+ xorq %rcx,%r14
2450
+ vpsrlq $7,%xmm8,%xmm11
2451
+ andq %r10,%r12
2452
+ xorq %r10,%r13
2453
+ vpsllq $56,%xmm8,%xmm9
2454
+ addq 112(%rsp),%rbx
2455
+ movq %rcx,%r15
2456
+ vpxor %xmm10,%xmm11,%xmm8
2457
+ xorq %rax,%r12
2458
+ shrdq $6,%r14,%r14
2459
+ vpsrlq $7,%xmm10,%xmm10
2460
+ xorq %rdx,%r15
2461
+ addq %r12,%rbx
2462
+ vpxor %xmm9,%xmm8,%xmm8
2463
+ shrdq $14,%r13,%r13
2464
+ andq %r15,%rdi
2465
+ vpsllq $7,%xmm9,%xmm9
2466
+ xorq %rcx,%r14
2467
+ addq %r13,%rbx
2468
+ vpxor %xmm10,%xmm8,%xmm8
2469
+ xorq %rdx,%rdi
2470
+ shrdq $28,%r14,%r14
2471
+ vpsrlq $6,%xmm6,%xmm11
2472
+ addq %rbx,%r9
2473
+ addq %rdi,%rbx
2474
+ vpxor %xmm9,%xmm8,%xmm8
2475
+ movq %r9,%r13
2476
+ addq %rbx,%r14
2477
+ vpsllq $3,%xmm6,%xmm10
2478
+ shrdq $23,%r13,%r13
2479
+ movq %r14,%rbx
2480
+ vpaddq %xmm8,%xmm7,%xmm7
2481
+ movq %r10,%r12
2482
+ shrdq $5,%r14,%r14
2483
+ vpsrlq $19,%xmm6,%xmm9
2484
+ xorq %r9,%r13
2485
+ xorq %r11,%r12
2486
+ vpxor %xmm10,%xmm11,%xmm11
2487
+ shrdq $4,%r13,%r13
2488
+ xorq %rbx,%r14
2489
+ vpsllq $42,%xmm10,%xmm10
2490
+ andq %r9,%r12
2491
+ xorq %r9,%r13
2492
+ vpxor %xmm9,%xmm11,%xmm11
2493
+ addq 120(%rsp),%rax
2494
+ movq %rbx,%rdi
2495
+ vpsrlq $42,%xmm9,%xmm9
2496
+ xorq %r11,%r12
2497
+ shrdq $6,%r14,%r14
2498
+ vpxor %xmm10,%xmm11,%xmm11
2499
+ xorq %rcx,%rdi
2500
+ addq %r12,%rax
2501
+ vpxor %xmm9,%xmm11,%xmm11
2502
+ shrdq $14,%r13,%r13
2503
+ andq %rdi,%r15
2504
+ vpaddq %xmm11,%xmm7,%xmm7
2505
+ xorq %rbx,%r14
2506
+ addq %r13,%rax
2507
+ vpaddq 96(%rbp),%xmm7,%xmm10
2508
+ xorq %rcx,%r15
2509
+ shrdq $28,%r14,%r14
2510
+ addq %rax,%r8
2511
+ addq %r15,%rax
2512
+ movq %r8,%r13
2513
+ addq %rax,%r14
2514
+ vmovdqa %xmm10,112(%rsp)
2515
+ cmpb $0,135(%rbp)
2516
+ jne L$avx_00_47
2517
+ shrdq $23,%r13,%r13
2518
+ movq %r14,%rax
2519
+ movq %r9,%r12
2520
+ shrdq $5,%r14,%r14
2521
+ xorq %r8,%r13
2522
+ xorq %r10,%r12
2523
+ shrdq $4,%r13,%r13
2524
+ xorq %rax,%r14
2525
+ andq %r8,%r12
2526
+ xorq %r8,%r13
2527
+ addq 0(%rsp),%r11
2528
+ movq %rax,%r15
2529
+ xorq %r10,%r12
2530
+ shrdq $6,%r14,%r14
2531
+ xorq %rbx,%r15
2532
+ addq %r12,%r11
2533
+ shrdq $14,%r13,%r13
2534
+ andq %r15,%rdi
2535
+ xorq %rax,%r14
2536
+ addq %r13,%r11
2537
+ xorq %rbx,%rdi
2538
+ shrdq $28,%r14,%r14
2539
+ addq %r11,%rdx
2540
+ addq %rdi,%r11
2541
+ movq %rdx,%r13
2542
+ addq %r11,%r14
2543
+ shrdq $23,%r13,%r13
2544
+ movq %r14,%r11
2545
+ movq %r8,%r12
2546
+ shrdq $5,%r14,%r14
2547
+ xorq %rdx,%r13
2548
+ xorq %r9,%r12
2549
+ shrdq $4,%r13,%r13
2550
+ xorq %r11,%r14
2551
+ andq %rdx,%r12
2552
+ xorq %rdx,%r13
2553
+ addq 8(%rsp),%r10
2554
+ movq %r11,%rdi
2555
+ xorq %r9,%r12
2556
+ shrdq $6,%r14,%r14
2557
+ xorq %rax,%rdi
2558
+ addq %r12,%r10
2559
+ shrdq $14,%r13,%r13
2560
+ andq %rdi,%r15
2561
+ xorq %r11,%r14
2562
+ addq %r13,%r10
2563
+ xorq %rax,%r15
2564
+ shrdq $28,%r14,%r14
2565
+ addq %r10,%rcx
2566
+ addq %r15,%r10
2567
+ movq %rcx,%r13
2568
+ addq %r10,%r14
2569
+ shrdq $23,%r13,%r13
2570
+ movq %r14,%r10
2571
+ movq %rdx,%r12
2572
+ shrdq $5,%r14,%r14
2573
+ xorq %rcx,%r13
2574
+ xorq %r8,%r12
2575
+ shrdq $4,%r13,%r13
2576
+ xorq %r10,%r14
2577
+ andq %rcx,%r12
2578
+ xorq %rcx,%r13
2579
+ addq 16(%rsp),%r9
2580
+ movq %r10,%r15
2581
+ xorq %r8,%r12
2582
+ shrdq $6,%r14,%r14
2583
+ xorq %r11,%r15
2584
+ addq %r12,%r9
2585
+ shrdq $14,%r13,%r13
2586
+ andq %r15,%rdi
2587
+ xorq %r10,%r14
2588
+ addq %r13,%r9
2589
+ xorq %r11,%rdi
2590
+ shrdq $28,%r14,%r14
2591
+ addq %r9,%rbx
2592
+ addq %rdi,%r9
2593
+ movq %rbx,%r13
2594
+ addq %r9,%r14
2595
+ shrdq $23,%r13,%r13
2596
+ movq %r14,%r9
2597
+ movq %rcx,%r12
2598
+ shrdq $5,%r14,%r14
2599
+ xorq %rbx,%r13
2600
+ xorq %rdx,%r12
2601
+ shrdq $4,%r13,%r13
2602
+ xorq %r9,%r14
2603
+ andq %rbx,%r12
2604
+ xorq %rbx,%r13
2605
+ addq 24(%rsp),%r8
2606
+ movq %r9,%rdi
2607
+ xorq %rdx,%r12
2608
+ shrdq $6,%r14,%r14
2609
+ xorq %r10,%rdi
2610
+ addq %r12,%r8
2611
+ shrdq $14,%r13,%r13
2612
+ andq %rdi,%r15
2613
+ xorq %r9,%r14
2614
+ addq %r13,%r8
2615
+ xorq %r10,%r15
2616
+ shrdq $28,%r14,%r14
2617
+ addq %r8,%rax
2618
+ addq %r15,%r8
2619
+ movq %rax,%r13
2620
+ addq %r8,%r14
2621
+ shrdq $23,%r13,%r13
2622
+ movq %r14,%r8
2623
+ movq %rbx,%r12
2624
+ shrdq $5,%r14,%r14
2625
+ xorq %rax,%r13
2626
+ xorq %rcx,%r12
2627
+ shrdq $4,%r13,%r13
2628
+ xorq %r8,%r14
2629
+ andq %rax,%r12
2630
+ xorq %rax,%r13
2631
+ addq 32(%rsp),%rdx
2632
+ movq %r8,%r15
2633
+ xorq %rcx,%r12
2634
+ shrdq $6,%r14,%r14
2635
+ xorq %r9,%r15
2636
+ addq %r12,%rdx
2637
+ shrdq $14,%r13,%r13
2638
+ andq %r15,%rdi
2639
+ xorq %r8,%r14
2640
+ addq %r13,%rdx
2641
+ xorq %r9,%rdi
2642
+ shrdq $28,%r14,%r14
2643
+ addq %rdx,%r11
2644
+ addq %rdi,%rdx
2645
+ movq %r11,%r13
2646
+ addq %rdx,%r14
2647
+ shrdq $23,%r13,%r13
2648
+ movq %r14,%rdx
2649
+ movq %rax,%r12
2650
+ shrdq $5,%r14,%r14
2651
+ xorq %r11,%r13
2652
+ xorq %rbx,%r12
2653
+ shrdq $4,%r13,%r13
2654
+ xorq %rdx,%r14
2655
+ andq %r11,%r12
2656
+ xorq %r11,%r13
2657
+ addq 40(%rsp),%rcx
2658
+ movq %rdx,%rdi
2659
+ xorq %rbx,%r12
2660
+ shrdq $6,%r14,%r14
2661
+ xorq %r8,%rdi
2662
+ addq %r12,%rcx
2663
+ shrdq $14,%r13,%r13
2664
+ andq %rdi,%r15
2665
+ xorq %rdx,%r14
2666
+ addq %r13,%rcx
2667
+ xorq %r8,%r15
2668
+ shrdq $28,%r14,%r14
2669
+ addq %rcx,%r10
2670
+ addq %r15,%rcx
2671
+ movq %r10,%r13
2672
+ addq %rcx,%r14
2673
+ shrdq $23,%r13,%r13
2674
+ movq %r14,%rcx
2675
+ movq %r11,%r12
2676
+ shrdq $5,%r14,%r14
2677
+ xorq %r10,%r13
2678
+ xorq %rax,%r12
2679
+ shrdq $4,%r13,%r13
2680
+ xorq %rcx,%r14
2681
+ andq %r10,%r12
2682
+ xorq %r10,%r13
2683
+ addq 48(%rsp),%rbx
2684
+ movq %rcx,%r15
2685
+ xorq %rax,%r12
2686
+ shrdq $6,%r14,%r14
2687
+ xorq %rdx,%r15
2688
+ addq %r12,%rbx
2689
+ shrdq $14,%r13,%r13
2690
+ andq %r15,%rdi
2691
+ xorq %rcx,%r14
2692
+ addq %r13,%rbx
2693
+ xorq %rdx,%rdi
2694
+ shrdq $28,%r14,%r14
2695
+ addq %rbx,%r9
2696
+ addq %rdi,%rbx
2697
+ movq %r9,%r13
2698
+ addq %rbx,%r14
2699
+ shrdq $23,%r13,%r13
2700
+ movq %r14,%rbx
2701
+ movq %r10,%r12
2702
+ shrdq $5,%r14,%r14
2703
+ xorq %r9,%r13
2704
+ xorq %r11,%r12
2705
+ shrdq $4,%r13,%r13
2706
+ xorq %rbx,%r14
2707
+ andq %r9,%r12
2708
+ xorq %r9,%r13
2709
+ addq 56(%rsp),%rax
2710
+ movq %rbx,%rdi
2711
+ xorq %r11,%r12
2712
+ shrdq $6,%r14,%r14
2713
+ xorq %rcx,%rdi
2714
+ addq %r12,%rax
2715
+ shrdq $14,%r13,%r13
2716
+ andq %rdi,%r15
2717
+ xorq %rbx,%r14
2718
+ addq %r13,%rax
2719
+ xorq %rcx,%r15
2720
+ shrdq $28,%r14,%r14
2721
+ addq %rax,%r8
2722
+ addq %r15,%rax
2723
+ movq %r8,%r13
2724
+ addq %rax,%r14
2725
+ shrdq $23,%r13,%r13
2726
+ movq %r14,%rax
2727
+ movq %r9,%r12
2728
+ shrdq $5,%r14,%r14
2729
+ xorq %r8,%r13
2730
+ xorq %r10,%r12
2731
+ shrdq $4,%r13,%r13
2732
+ xorq %rax,%r14
2733
+ andq %r8,%r12
2734
+ xorq %r8,%r13
2735
+ addq 64(%rsp),%r11
2736
+ movq %rax,%r15
2737
+ xorq %r10,%r12
2738
+ shrdq $6,%r14,%r14
2739
+ xorq %rbx,%r15
2740
+ addq %r12,%r11
2741
+ shrdq $14,%r13,%r13
2742
+ andq %r15,%rdi
2743
+ xorq %rax,%r14
2744
+ addq %r13,%r11
2745
+ xorq %rbx,%rdi
2746
+ shrdq $28,%r14,%r14
2747
+ addq %r11,%rdx
2748
+ addq %rdi,%r11
2749
+ movq %rdx,%r13
2750
+ addq %r11,%r14
2751
+ shrdq $23,%r13,%r13
2752
+ movq %r14,%r11
2753
+ movq %r8,%r12
2754
+ shrdq $5,%r14,%r14
2755
+ xorq %rdx,%r13
2756
+ xorq %r9,%r12
2757
+ shrdq $4,%r13,%r13
2758
+ xorq %r11,%r14
2759
+ andq %rdx,%r12
2760
+ xorq %rdx,%r13
2761
+ addq 72(%rsp),%r10
2762
+ movq %r11,%rdi
2763
+ xorq %r9,%r12
2764
+ shrdq $6,%r14,%r14
2765
+ xorq %rax,%rdi
2766
+ addq %r12,%r10
2767
+ shrdq $14,%r13,%r13
2768
+ andq %rdi,%r15
2769
+ xorq %r11,%r14
2770
+ addq %r13,%r10
2771
+ xorq %rax,%r15
2772
+ shrdq $28,%r14,%r14
2773
+ addq %r10,%rcx
2774
+ addq %r15,%r10
2775
+ movq %rcx,%r13
2776
+ addq %r10,%r14
2777
+ shrdq $23,%r13,%r13
2778
+ movq %r14,%r10
2779
+ movq %rdx,%r12
2780
+ shrdq $5,%r14,%r14
2781
+ xorq %rcx,%r13
2782
+ xorq %r8,%r12
2783
+ shrdq $4,%r13,%r13
2784
+ xorq %r10,%r14
2785
+ andq %rcx,%r12
2786
+ xorq %rcx,%r13
2787
+ addq 80(%rsp),%r9
2788
+ movq %r10,%r15
2789
+ xorq %r8,%r12
2790
+ shrdq $6,%r14,%r14
2791
+ xorq %r11,%r15
2792
+ addq %r12,%r9
2793
+ shrdq $14,%r13,%r13
2794
+ andq %r15,%rdi
2795
+ xorq %r10,%r14
2796
+ addq %r13,%r9
2797
+ xorq %r11,%rdi
2798
+ shrdq $28,%r14,%r14
2799
+ addq %r9,%rbx
2800
+ addq %rdi,%r9
2801
+ movq %rbx,%r13
2802
+ addq %r9,%r14
2803
+ shrdq $23,%r13,%r13
2804
+ movq %r14,%r9
2805
+ movq %rcx,%r12
2806
+ shrdq $5,%r14,%r14
2807
+ xorq %rbx,%r13
2808
+ xorq %rdx,%r12
2809
+ shrdq $4,%r13,%r13
2810
+ xorq %r9,%r14
2811
+ andq %rbx,%r12
2812
+ xorq %rbx,%r13
2813
+ addq 88(%rsp),%r8
2814
+ movq %r9,%rdi
2815
+ xorq %rdx,%r12
2816
+ shrdq $6,%r14,%r14
2817
+ xorq %r10,%rdi
2818
+ addq %r12,%r8
2819
+ shrdq $14,%r13,%r13
2820
+ andq %rdi,%r15
2821
+ xorq %r9,%r14
2822
+ addq %r13,%r8
2823
+ xorq %r10,%r15
2824
+ shrdq $28,%r14,%r14
2825
+ addq %r8,%rax
2826
+ addq %r15,%r8
2827
+ movq %rax,%r13
2828
+ addq %r8,%r14
2829
+ shrdq $23,%r13,%r13
2830
+ movq %r14,%r8
2831
+ movq %rbx,%r12
2832
+ shrdq $5,%r14,%r14
2833
+ xorq %rax,%r13
2834
+ xorq %rcx,%r12
2835
+ shrdq $4,%r13,%r13
2836
+ xorq %r8,%r14
2837
+ andq %rax,%r12
2838
+ xorq %rax,%r13
2839
+ addq 96(%rsp),%rdx
2840
+ movq %r8,%r15
2841
+ xorq %rcx,%r12
2842
+ shrdq $6,%r14,%r14
2843
+ xorq %r9,%r15
2844
+ addq %r12,%rdx
2845
+ shrdq $14,%r13,%r13
2846
+ andq %r15,%rdi
2847
+ xorq %r8,%r14
2848
+ addq %r13,%rdx
2849
+ xorq %r9,%rdi
2850
+ shrdq $28,%r14,%r14
2851
+ addq %rdx,%r11
2852
+ addq %rdi,%rdx
2853
+ movq %r11,%r13
2854
+ addq %rdx,%r14
2855
+ shrdq $23,%r13,%r13
2856
+ movq %r14,%rdx
2857
+ movq %rax,%r12
2858
+ shrdq $5,%r14,%r14
2859
+ xorq %r11,%r13
2860
+ xorq %rbx,%r12
2861
+ shrdq $4,%r13,%r13
2862
+ xorq %rdx,%r14
2863
+ andq %r11,%r12
2864
+ xorq %r11,%r13
2865
+ addq 104(%rsp),%rcx
2866
+ movq %rdx,%rdi
2867
+ xorq %rbx,%r12
2868
+ shrdq $6,%r14,%r14
2869
+ xorq %r8,%rdi
2870
+ addq %r12,%rcx
2871
+ shrdq $14,%r13,%r13
2872
+ andq %rdi,%r15
2873
+ xorq %rdx,%r14
2874
+ addq %r13,%rcx
2875
+ xorq %r8,%r15
2876
+ shrdq $28,%r14,%r14
2877
+ addq %rcx,%r10
2878
+ addq %r15,%rcx
2879
+ movq %r10,%r13
2880
+ addq %rcx,%r14
2881
+ shrdq $23,%r13,%r13
2882
+ movq %r14,%rcx
2883
+ movq %r11,%r12
2884
+ shrdq $5,%r14,%r14
2885
+ xorq %r10,%r13
2886
+ xorq %rax,%r12
2887
+ shrdq $4,%r13,%r13
2888
+ xorq %rcx,%r14
2889
+ andq %r10,%r12
2890
+ xorq %r10,%r13
2891
+ addq 112(%rsp),%rbx
2892
+ movq %rcx,%r15
2893
+ xorq %rax,%r12
2894
+ shrdq $6,%r14,%r14
2895
+ xorq %rdx,%r15
2896
+ addq %r12,%rbx
2897
+ shrdq $14,%r13,%r13
2898
+ andq %r15,%rdi
2899
+ xorq %rcx,%r14
2900
+ addq %r13,%rbx
2901
+ xorq %rdx,%rdi
2902
+ shrdq $28,%r14,%r14
2903
+ addq %rbx,%r9
2904
+ addq %rdi,%rbx
2905
+ movq %r9,%r13
2906
+ addq %rbx,%r14
2907
+ shrdq $23,%r13,%r13
2908
+ movq %r14,%rbx
2909
+ movq %r10,%r12
2910
+ shrdq $5,%r14,%r14
2911
+ xorq %r9,%r13
2912
+ xorq %r11,%r12
2913
+ shrdq $4,%r13,%r13
2914
+ xorq %rbx,%r14
2915
+ andq %r9,%r12
2916
+ xorq %r9,%r13
2917
+ addq 120(%rsp),%rax
2918
+ movq %rbx,%rdi
2919
+ xorq %r11,%r12
2920
+ shrdq $6,%r14,%r14
2921
+ xorq %rcx,%rdi
2922
+ addq %r12,%rax
2923
+ shrdq $14,%r13,%r13
2924
+ andq %rdi,%r15
2925
+ xorq %rbx,%r14
2926
+ addq %r13,%rax
2927
+ xorq %rcx,%r15
2928
+ shrdq $28,%r14,%r14
2929
+ addq %rax,%r8
2930
+ addq %r15,%rax
2931
+ movq %r8,%r13
2932
+ addq %rax,%r14
2933
+ movq 128+0(%rsp),%rdi
2934
+ movq %r14,%rax
2935
+
2936
+ addq 0(%rdi),%rax
2937
+ leaq 128(%rsi),%rsi
2938
+ addq 8(%rdi),%rbx
2939
+ addq 16(%rdi),%rcx
2940
+ addq 24(%rdi),%rdx
2941
+ addq 32(%rdi),%r8
2942
+ addq 40(%rdi),%r9
2943
+ addq 48(%rdi),%r10
2944
+ addq 56(%rdi),%r11
2945
+
2946
+ cmpq 128+16(%rsp),%rsi
2947
+
2948
+ movq %rax,0(%rdi)
2949
+ movq %rbx,8(%rdi)
2950
+ movq %rcx,16(%rdi)
2951
+ movq %rdx,24(%rdi)
2952
+ movq %r8,32(%rdi)
2953
+ movq %r9,40(%rdi)
2954
+ movq %r10,48(%rdi)
2955
+ movq %r11,56(%rdi)
2956
+ jb L$loop_avx
2957
+
2958
+ movq 152(%rsp),%rsi
2959
+
2960
+ vzeroupper
2961
+ movq -48(%rsi),%r15
2962
+
2963
+ movq -40(%rsi),%r14
2964
+
2965
+ movq -32(%rsi),%r13
2966
+
2967
+ movq -24(%rsi),%r12
2968
+
2969
+ movq -16(%rsi),%rbp
2970
+
2971
+ movq -8(%rsi),%rbx
2972
+
2973
+ leaq (%rsi),%rsp
2974
+
2975
+ L$epilogue_avx:
2976
+ ret
2977
+
2978
+
2979
+ #endif