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,4170 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__ELF__)
7
+ .text
8
+
9
+ .globl sha256_block_data_order_nohw
10
+ .hidden sha256_block_data_order_nohw
11
+ .type sha256_block_data_order_nohw,@function
12
+ .align 16
13
+ sha256_block_data_order_nohw:
14
+ .cfi_startproc
15
+ _CET_ENDBR
16
+ movq %rsp,%rax // copy %rsp
17
+ .cfi_def_cfa_register %rax
18
+ pushq %rbx
19
+ .cfi_offset %rbx,-16
20
+ pushq %rbp
21
+ .cfi_offset %rbp,-24
22
+ pushq %r12
23
+ .cfi_offset %r12,-32
24
+ pushq %r13
25
+ .cfi_offset %r13,-40
26
+ pushq %r14
27
+ .cfi_offset %r14,-48
28
+ pushq %r15
29
+ .cfi_offset %r15,-56
30
+ shlq $4,%rdx // num*16
31
+ subq $64+32,%rsp
32
+ leaq (%rsi,%rdx,4),%rdx // inp+num*16*4
33
+ andq $-64,%rsp // align stack frame
34
+ movq %rdi,64+0(%rsp) // save ctx, 1st arg
35
+ movq %rsi,64+8(%rsp) // save inp, 2nd arh
36
+ movq %rdx,64+16(%rsp) // save end pointer, "3rd" arg
37
+ movq %rax,88(%rsp) // save copy of %rsp
38
+ .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
39
+ .Lprologue:
40
+
41
+ movl 0(%rdi),%eax
42
+ movl 4(%rdi),%ebx
43
+ movl 8(%rdi),%ecx
44
+ movl 12(%rdi),%edx
45
+ movl 16(%rdi),%r8d
46
+ movl 20(%rdi),%r9d
47
+ movl 24(%rdi),%r10d
48
+ movl 28(%rdi),%r11d
49
+ jmp .Lloop
50
+
51
+ .align 16
52
+ .Lloop:
53
+ movl %ebx,%edi
54
+ leaq K256(%rip),%rbp
55
+ xorl %ecx,%edi // magic
56
+ movl 0(%rsi),%r12d
57
+ movl %r8d,%r13d
58
+ movl %eax,%r14d
59
+ bswapl %r12d
60
+ rorl $14,%r13d
61
+ movl %r9d,%r15d
62
+
63
+ xorl %r8d,%r13d
64
+ rorl $9,%r14d
65
+ xorl %r10d,%r15d // f^g
66
+
67
+ movl %r12d,0(%rsp)
68
+ xorl %eax,%r14d
69
+ andl %r8d,%r15d // (f^g)&e
70
+
71
+ rorl $5,%r13d
72
+ addl %r11d,%r12d // T1+=h
73
+ xorl %r10d,%r15d // Ch(e,f,g)=((f^g)&e)^g
74
+
75
+ rorl $11,%r14d
76
+ xorl %r8d,%r13d
77
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
78
+
79
+ movl %eax,%r15d
80
+ addl (%rbp),%r12d // T1+=K[round]
81
+ xorl %eax,%r14d
82
+
83
+ xorl %ebx,%r15d // a^b, b^c in next round
84
+ rorl $6,%r13d // Sigma1(e)
85
+ movl %ebx,%r11d
86
+
87
+ andl %r15d,%edi
88
+ rorl $2,%r14d // Sigma0(a)
89
+ addl %r13d,%r12d // T1+=Sigma1(e)
90
+
91
+ xorl %edi,%r11d // h=Maj(a,b,c)=Ch(a^b,c,b)
92
+ addl %r12d,%edx // d+=T1
93
+ addl %r12d,%r11d // h+=T1
94
+
95
+ leaq 4(%rbp),%rbp // round++
96
+ addl %r14d,%r11d // h+=Sigma0(a)
97
+ movl 4(%rsi),%r12d
98
+ movl %edx,%r13d
99
+ movl %r11d,%r14d
100
+ bswapl %r12d
101
+ rorl $14,%r13d
102
+ movl %r8d,%edi
103
+
104
+ xorl %edx,%r13d
105
+ rorl $9,%r14d
106
+ xorl %r9d,%edi // f^g
107
+
108
+ movl %r12d,4(%rsp)
109
+ xorl %r11d,%r14d
110
+ andl %edx,%edi // (f^g)&e
111
+
112
+ rorl $5,%r13d
113
+ addl %r10d,%r12d // T1+=h
114
+ xorl %r9d,%edi // Ch(e,f,g)=((f^g)&e)^g
115
+
116
+ rorl $11,%r14d
117
+ xorl %edx,%r13d
118
+ addl %edi,%r12d // T1+=Ch(e,f,g)
119
+
120
+ movl %r11d,%edi
121
+ addl (%rbp),%r12d // T1+=K[round]
122
+ xorl %r11d,%r14d
123
+
124
+ xorl %eax,%edi // a^b, b^c in next round
125
+ rorl $6,%r13d // Sigma1(e)
126
+ movl %eax,%r10d
127
+
128
+ andl %edi,%r15d
129
+ rorl $2,%r14d // Sigma0(a)
130
+ addl %r13d,%r12d // T1+=Sigma1(e)
131
+
132
+ xorl %r15d,%r10d // h=Maj(a,b,c)=Ch(a^b,c,b)
133
+ addl %r12d,%ecx // d+=T1
134
+ addl %r12d,%r10d // h+=T1
135
+
136
+ leaq 4(%rbp),%rbp // round++
137
+ addl %r14d,%r10d // h+=Sigma0(a)
138
+ movl 8(%rsi),%r12d
139
+ movl %ecx,%r13d
140
+ movl %r10d,%r14d
141
+ bswapl %r12d
142
+ rorl $14,%r13d
143
+ movl %edx,%r15d
144
+
145
+ xorl %ecx,%r13d
146
+ rorl $9,%r14d
147
+ xorl %r8d,%r15d // f^g
148
+
149
+ movl %r12d,8(%rsp)
150
+ xorl %r10d,%r14d
151
+ andl %ecx,%r15d // (f^g)&e
152
+
153
+ rorl $5,%r13d
154
+ addl %r9d,%r12d // T1+=h
155
+ xorl %r8d,%r15d // Ch(e,f,g)=((f^g)&e)^g
156
+
157
+ rorl $11,%r14d
158
+ xorl %ecx,%r13d
159
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
160
+
161
+ movl %r10d,%r15d
162
+ addl (%rbp),%r12d // T1+=K[round]
163
+ xorl %r10d,%r14d
164
+
165
+ xorl %r11d,%r15d // a^b, b^c in next round
166
+ rorl $6,%r13d // Sigma1(e)
167
+ movl %r11d,%r9d
168
+
169
+ andl %r15d,%edi
170
+ rorl $2,%r14d // Sigma0(a)
171
+ addl %r13d,%r12d // T1+=Sigma1(e)
172
+
173
+ xorl %edi,%r9d // h=Maj(a,b,c)=Ch(a^b,c,b)
174
+ addl %r12d,%ebx // d+=T1
175
+ addl %r12d,%r9d // h+=T1
176
+
177
+ leaq 4(%rbp),%rbp // round++
178
+ addl %r14d,%r9d // h+=Sigma0(a)
179
+ movl 12(%rsi),%r12d
180
+ movl %ebx,%r13d
181
+ movl %r9d,%r14d
182
+ bswapl %r12d
183
+ rorl $14,%r13d
184
+ movl %ecx,%edi
185
+
186
+ xorl %ebx,%r13d
187
+ rorl $9,%r14d
188
+ xorl %edx,%edi // f^g
189
+
190
+ movl %r12d,12(%rsp)
191
+ xorl %r9d,%r14d
192
+ andl %ebx,%edi // (f^g)&e
193
+
194
+ rorl $5,%r13d
195
+ addl %r8d,%r12d // T1+=h
196
+ xorl %edx,%edi // Ch(e,f,g)=((f^g)&e)^g
197
+
198
+ rorl $11,%r14d
199
+ xorl %ebx,%r13d
200
+ addl %edi,%r12d // T1+=Ch(e,f,g)
201
+
202
+ movl %r9d,%edi
203
+ addl (%rbp),%r12d // T1+=K[round]
204
+ xorl %r9d,%r14d
205
+
206
+ xorl %r10d,%edi // a^b, b^c in next round
207
+ rorl $6,%r13d // Sigma1(e)
208
+ movl %r10d,%r8d
209
+
210
+ andl %edi,%r15d
211
+ rorl $2,%r14d // Sigma0(a)
212
+ addl %r13d,%r12d // T1+=Sigma1(e)
213
+
214
+ xorl %r15d,%r8d // h=Maj(a,b,c)=Ch(a^b,c,b)
215
+ addl %r12d,%eax // d+=T1
216
+ addl %r12d,%r8d // h+=T1
217
+
218
+ leaq 20(%rbp),%rbp // round++
219
+ addl %r14d,%r8d // h+=Sigma0(a)
220
+ movl 16(%rsi),%r12d
221
+ movl %eax,%r13d
222
+ movl %r8d,%r14d
223
+ bswapl %r12d
224
+ rorl $14,%r13d
225
+ movl %ebx,%r15d
226
+
227
+ xorl %eax,%r13d
228
+ rorl $9,%r14d
229
+ xorl %ecx,%r15d // f^g
230
+
231
+ movl %r12d,16(%rsp)
232
+ xorl %r8d,%r14d
233
+ andl %eax,%r15d // (f^g)&e
234
+
235
+ rorl $5,%r13d
236
+ addl %edx,%r12d // T1+=h
237
+ xorl %ecx,%r15d // Ch(e,f,g)=((f^g)&e)^g
238
+
239
+ rorl $11,%r14d
240
+ xorl %eax,%r13d
241
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
242
+
243
+ movl %r8d,%r15d
244
+ addl (%rbp),%r12d // T1+=K[round]
245
+ xorl %r8d,%r14d
246
+
247
+ xorl %r9d,%r15d // a^b, b^c in next round
248
+ rorl $6,%r13d // Sigma1(e)
249
+ movl %r9d,%edx
250
+
251
+ andl %r15d,%edi
252
+ rorl $2,%r14d // Sigma0(a)
253
+ addl %r13d,%r12d // T1+=Sigma1(e)
254
+
255
+ xorl %edi,%edx // h=Maj(a,b,c)=Ch(a^b,c,b)
256
+ addl %r12d,%r11d // d+=T1
257
+ addl %r12d,%edx // h+=T1
258
+
259
+ leaq 4(%rbp),%rbp // round++
260
+ addl %r14d,%edx // h+=Sigma0(a)
261
+ movl 20(%rsi),%r12d
262
+ movl %r11d,%r13d
263
+ movl %edx,%r14d
264
+ bswapl %r12d
265
+ rorl $14,%r13d
266
+ movl %eax,%edi
267
+
268
+ xorl %r11d,%r13d
269
+ rorl $9,%r14d
270
+ xorl %ebx,%edi // f^g
271
+
272
+ movl %r12d,20(%rsp)
273
+ xorl %edx,%r14d
274
+ andl %r11d,%edi // (f^g)&e
275
+
276
+ rorl $5,%r13d
277
+ addl %ecx,%r12d // T1+=h
278
+ xorl %ebx,%edi // Ch(e,f,g)=((f^g)&e)^g
279
+
280
+ rorl $11,%r14d
281
+ xorl %r11d,%r13d
282
+ addl %edi,%r12d // T1+=Ch(e,f,g)
283
+
284
+ movl %edx,%edi
285
+ addl (%rbp),%r12d // T1+=K[round]
286
+ xorl %edx,%r14d
287
+
288
+ xorl %r8d,%edi // a^b, b^c in next round
289
+ rorl $6,%r13d // Sigma1(e)
290
+ movl %r8d,%ecx
291
+
292
+ andl %edi,%r15d
293
+ rorl $2,%r14d // Sigma0(a)
294
+ addl %r13d,%r12d // T1+=Sigma1(e)
295
+
296
+ xorl %r15d,%ecx // h=Maj(a,b,c)=Ch(a^b,c,b)
297
+ addl %r12d,%r10d // d+=T1
298
+ addl %r12d,%ecx // h+=T1
299
+
300
+ leaq 4(%rbp),%rbp // round++
301
+ addl %r14d,%ecx // h+=Sigma0(a)
302
+ movl 24(%rsi),%r12d
303
+ movl %r10d,%r13d
304
+ movl %ecx,%r14d
305
+ bswapl %r12d
306
+ rorl $14,%r13d
307
+ movl %r11d,%r15d
308
+
309
+ xorl %r10d,%r13d
310
+ rorl $9,%r14d
311
+ xorl %eax,%r15d // f^g
312
+
313
+ movl %r12d,24(%rsp)
314
+ xorl %ecx,%r14d
315
+ andl %r10d,%r15d // (f^g)&e
316
+
317
+ rorl $5,%r13d
318
+ addl %ebx,%r12d // T1+=h
319
+ xorl %eax,%r15d // Ch(e,f,g)=((f^g)&e)^g
320
+
321
+ rorl $11,%r14d
322
+ xorl %r10d,%r13d
323
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
324
+
325
+ movl %ecx,%r15d
326
+ addl (%rbp),%r12d // T1+=K[round]
327
+ xorl %ecx,%r14d
328
+
329
+ xorl %edx,%r15d // a^b, b^c in next round
330
+ rorl $6,%r13d // Sigma1(e)
331
+ movl %edx,%ebx
332
+
333
+ andl %r15d,%edi
334
+ rorl $2,%r14d // Sigma0(a)
335
+ addl %r13d,%r12d // T1+=Sigma1(e)
336
+
337
+ xorl %edi,%ebx // h=Maj(a,b,c)=Ch(a^b,c,b)
338
+ addl %r12d,%r9d // d+=T1
339
+ addl %r12d,%ebx // h+=T1
340
+
341
+ leaq 4(%rbp),%rbp // round++
342
+ addl %r14d,%ebx // h+=Sigma0(a)
343
+ movl 28(%rsi),%r12d
344
+ movl %r9d,%r13d
345
+ movl %ebx,%r14d
346
+ bswapl %r12d
347
+ rorl $14,%r13d
348
+ movl %r10d,%edi
349
+
350
+ xorl %r9d,%r13d
351
+ rorl $9,%r14d
352
+ xorl %r11d,%edi // f^g
353
+
354
+ movl %r12d,28(%rsp)
355
+ xorl %ebx,%r14d
356
+ andl %r9d,%edi // (f^g)&e
357
+
358
+ rorl $5,%r13d
359
+ addl %eax,%r12d // T1+=h
360
+ xorl %r11d,%edi // Ch(e,f,g)=((f^g)&e)^g
361
+
362
+ rorl $11,%r14d
363
+ xorl %r9d,%r13d
364
+ addl %edi,%r12d // T1+=Ch(e,f,g)
365
+
366
+ movl %ebx,%edi
367
+ addl (%rbp),%r12d // T1+=K[round]
368
+ xorl %ebx,%r14d
369
+
370
+ xorl %ecx,%edi // a^b, b^c in next round
371
+ rorl $6,%r13d // Sigma1(e)
372
+ movl %ecx,%eax
373
+
374
+ andl %edi,%r15d
375
+ rorl $2,%r14d // Sigma0(a)
376
+ addl %r13d,%r12d // T1+=Sigma1(e)
377
+
378
+ xorl %r15d,%eax // h=Maj(a,b,c)=Ch(a^b,c,b)
379
+ addl %r12d,%r8d // d+=T1
380
+ addl %r12d,%eax // h+=T1
381
+
382
+ leaq 20(%rbp),%rbp // round++
383
+ addl %r14d,%eax // h+=Sigma0(a)
384
+ movl 32(%rsi),%r12d
385
+ movl %r8d,%r13d
386
+ movl %eax,%r14d
387
+ bswapl %r12d
388
+ rorl $14,%r13d
389
+ movl %r9d,%r15d
390
+
391
+ xorl %r8d,%r13d
392
+ rorl $9,%r14d
393
+ xorl %r10d,%r15d // f^g
394
+
395
+ movl %r12d,32(%rsp)
396
+ xorl %eax,%r14d
397
+ andl %r8d,%r15d // (f^g)&e
398
+
399
+ rorl $5,%r13d
400
+ addl %r11d,%r12d // T1+=h
401
+ xorl %r10d,%r15d // Ch(e,f,g)=((f^g)&e)^g
402
+
403
+ rorl $11,%r14d
404
+ xorl %r8d,%r13d
405
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
406
+
407
+ movl %eax,%r15d
408
+ addl (%rbp),%r12d // T1+=K[round]
409
+ xorl %eax,%r14d
410
+
411
+ xorl %ebx,%r15d // a^b, b^c in next round
412
+ rorl $6,%r13d // Sigma1(e)
413
+ movl %ebx,%r11d
414
+
415
+ andl %r15d,%edi
416
+ rorl $2,%r14d // Sigma0(a)
417
+ addl %r13d,%r12d // T1+=Sigma1(e)
418
+
419
+ xorl %edi,%r11d // h=Maj(a,b,c)=Ch(a^b,c,b)
420
+ addl %r12d,%edx // d+=T1
421
+ addl %r12d,%r11d // h+=T1
422
+
423
+ leaq 4(%rbp),%rbp // round++
424
+ addl %r14d,%r11d // h+=Sigma0(a)
425
+ movl 36(%rsi),%r12d
426
+ movl %edx,%r13d
427
+ movl %r11d,%r14d
428
+ bswapl %r12d
429
+ rorl $14,%r13d
430
+ movl %r8d,%edi
431
+
432
+ xorl %edx,%r13d
433
+ rorl $9,%r14d
434
+ xorl %r9d,%edi // f^g
435
+
436
+ movl %r12d,36(%rsp)
437
+ xorl %r11d,%r14d
438
+ andl %edx,%edi // (f^g)&e
439
+
440
+ rorl $5,%r13d
441
+ addl %r10d,%r12d // T1+=h
442
+ xorl %r9d,%edi // Ch(e,f,g)=((f^g)&e)^g
443
+
444
+ rorl $11,%r14d
445
+ xorl %edx,%r13d
446
+ addl %edi,%r12d // T1+=Ch(e,f,g)
447
+
448
+ movl %r11d,%edi
449
+ addl (%rbp),%r12d // T1+=K[round]
450
+ xorl %r11d,%r14d
451
+
452
+ xorl %eax,%edi // a^b, b^c in next round
453
+ rorl $6,%r13d // Sigma1(e)
454
+ movl %eax,%r10d
455
+
456
+ andl %edi,%r15d
457
+ rorl $2,%r14d // Sigma0(a)
458
+ addl %r13d,%r12d // T1+=Sigma1(e)
459
+
460
+ xorl %r15d,%r10d // h=Maj(a,b,c)=Ch(a^b,c,b)
461
+ addl %r12d,%ecx // d+=T1
462
+ addl %r12d,%r10d // h+=T1
463
+
464
+ leaq 4(%rbp),%rbp // round++
465
+ addl %r14d,%r10d // h+=Sigma0(a)
466
+ movl 40(%rsi),%r12d
467
+ movl %ecx,%r13d
468
+ movl %r10d,%r14d
469
+ bswapl %r12d
470
+ rorl $14,%r13d
471
+ movl %edx,%r15d
472
+
473
+ xorl %ecx,%r13d
474
+ rorl $9,%r14d
475
+ xorl %r8d,%r15d // f^g
476
+
477
+ movl %r12d,40(%rsp)
478
+ xorl %r10d,%r14d
479
+ andl %ecx,%r15d // (f^g)&e
480
+
481
+ rorl $5,%r13d
482
+ addl %r9d,%r12d // T1+=h
483
+ xorl %r8d,%r15d // Ch(e,f,g)=((f^g)&e)^g
484
+
485
+ rorl $11,%r14d
486
+ xorl %ecx,%r13d
487
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
488
+
489
+ movl %r10d,%r15d
490
+ addl (%rbp),%r12d // T1+=K[round]
491
+ xorl %r10d,%r14d
492
+
493
+ xorl %r11d,%r15d // a^b, b^c in next round
494
+ rorl $6,%r13d // Sigma1(e)
495
+ movl %r11d,%r9d
496
+
497
+ andl %r15d,%edi
498
+ rorl $2,%r14d // Sigma0(a)
499
+ addl %r13d,%r12d // T1+=Sigma1(e)
500
+
501
+ xorl %edi,%r9d // h=Maj(a,b,c)=Ch(a^b,c,b)
502
+ addl %r12d,%ebx // d+=T1
503
+ addl %r12d,%r9d // h+=T1
504
+
505
+ leaq 4(%rbp),%rbp // round++
506
+ addl %r14d,%r9d // h+=Sigma0(a)
507
+ movl 44(%rsi),%r12d
508
+ movl %ebx,%r13d
509
+ movl %r9d,%r14d
510
+ bswapl %r12d
511
+ rorl $14,%r13d
512
+ movl %ecx,%edi
513
+
514
+ xorl %ebx,%r13d
515
+ rorl $9,%r14d
516
+ xorl %edx,%edi // f^g
517
+
518
+ movl %r12d,44(%rsp)
519
+ xorl %r9d,%r14d
520
+ andl %ebx,%edi // (f^g)&e
521
+
522
+ rorl $5,%r13d
523
+ addl %r8d,%r12d // T1+=h
524
+ xorl %edx,%edi // Ch(e,f,g)=((f^g)&e)^g
525
+
526
+ rorl $11,%r14d
527
+ xorl %ebx,%r13d
528
+ addl %edi,%r12d // T1+=Ch(e,f,g)
529
+
530
+ movl %r9d,%edi
531
+ addl (%rbp),%r12d // T1+=K[round]
532
+ xorl %r9d,%r14d
533
+
534
+ xorl %r10d,%edi // a^b, b^c in next round
535
+ rorl $6,%r13d // Sigma1(e)
536
+ movl %r10d,%r8d
537
+
538
+ andl %edi,%r15d
539
+ rorl $2,%r14d // Sigma0(a)
540
+ addl %r13d,%r12d // T1+=Sigma1(e)
541
+
542
+ xorl %r15d,%r8d // h=Maj(a,b,c)=Ch(a^b,c,b)
543
+ addl %r12d,%eax // d+=T1
544
+ addl %r12d,%r8d // h+=T1
545
+
546
+ leaq 20(%rbp),%rbp // round++
547
+ addl %r14d,%r8d // h+=Sigma0(a)
548
+ movl 48(%rsi),%r12d
549
+ movl %eax,%r13d
550
+ movl %r8d,%r14d
551
+ bswapl %r12d
552
+ rorl $14,%r13d
553
+ movl %ebx,%r15d
554
+
555
+ xorl %eax,%r13d
556
+ rorl $9,%r14d
557
+ xorl %ecx,%r15d // f^g
558
+
559
+ movl %r12d,48(%rsp)
560
+ xorl %r8d,%r14d
561
+ andl %eax,%r15d // (f^g)&e
562
+
563
+ rorl $5,%r13d
564
+ addl %edx,%r12d // T1+=h
565
+ xorl %ecx,%r15d // Ch(e,f,g)=((f^g)&e)^g
566
+
567
+ rorl $11,%r14d
568
+ xorl %eax,%r13d
569
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
570
+
571
+ movl %r8d,%r15d
572
+ addl (%rbp),%r12d // T1+=K[round]
573
+ xorl %r8d,%r14d
574
+
575
+ xorl %r9d,%r15d // a^b, b^c in next round
576
+ rorl $6,%r13d // Sigma1(e)
577
+ movl %r9d,%edx
578
+
579
+ andl %r15d,%edi
580
+ rorl $2,%r14d // Sigma0(a)
581
+ addl %r13d,%r12d // T1+=Sigma1(e)
582
+
583
+ xorl %edi,%edx // h=Maj(a,b,c)=Ch(a^b,c,b)
584
+ addl %r12d,%r11d // d+=T1
585
+ addl %r12d,%edx // h+=T1
586
+
587
+ leaq 4(%rbp),%rbp // round++
588
+ addl %r14d,%edx // h+=Sigma0(a)
589
+ movl 52(%rsi),%r12d
590
+ movl %r11d,%r13d
591
+ movl %edx,%r14d
592
+ bswapl %r12d
593
+ rorl $14,%r13d
594
+ movl %eax,%edi
595
+
596
+ xorl %r11d,%r13d
597
+ rorl $9,%r14d
598
+ xorl %ebx,%edi // f^g
599
+
600
+ movl %r12d,52(%rsp)
601
+ xorl %edx,%r14d
602
+ andl %r11d,%edi // (f^g)&e
603
+
604
+ rorl $5,%r13d
605
+ addl %ecx,%r12d // T1+=h
606
+ xorl %ebx,%edi // Ch(e,f,g)=((f^g)&e)^g
607
+
608
+ rorl $11,%r14d
609
+ xorl %r11d,%r13d
610
+ addl %edi,%r12d // T1+=Ch(e,f,g)
611
+
612
+ movl %edx,%edi
613
+ addl (%rbp),%r12d // T1+=K[round]
614
+ xorl %edx,%r14d
615
+
616
+ xorl %r8d,%edi // a^b, b^c in next round
617
+ rorl $6,%r13d // Sigma1(e)
618
+ movl %r8d,%ecx
619
+
620
+ andl %edi,%r15d
621
+ rorl $2,%r14d // Sigma0(a)
622
+ addl %r13d,%r12d // T1+=Sigma1(e)
623
+
624
+ xorl %r15d,%ecx // h=Maj(a,b,c)=Ch(a^b,c,b)
625
+ addl %r12d,%r10d // d+=T1
626
+ addl %r12d,%ecx // h+=T1
627
+
628
+ leaq 4(%rbp),%rbp // round++
629
+ addl %r14d,%ecx // h+=Sigma0(a)
630
+ movl 56(%rsi),%r12d
631
+ movl %r10d,%r13d
632
+ movl %ecx,%r14d
633
+ bswapl %r12d
634
+ rorl $14,%r13d
635
+ movl %r11d,%r15d
636
+
637
+ xorl %r10d,%r13d
638
+ rorl $9,%r14d
639
+ xorl %eax,%r15d // f^g
640
+
641
+ movl %r12d,56(%rsp)
642
+ xorl %ecx,%r14d
643
+ andl %r10d,%r15d // (f^g)&e
644
+
645
+ rorl $5,%r13d
646
+ addl %ebx,%r12d // T1+=h
647
+ xorl %eax,%r15d // Ch(e,f,g)=((f^g)&e)^g
648
+
649
+ rorl $11,%r14d
650
+ xorl %r10d,%r13d
651
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
652
+
653
+ movl %ecx,%r15d
654
+ addl (%rbp),%r12d // T1+=K[round]
655
+ xorl %ecx,%r14d
656
+
657
+ xorl %edx,%r15d // a^b, b^c in next round
658
+ rorl $6,%r13d // Sigma1(e)
659
+ movl %edx,%ebx
660
+
661
+ andl %r15d,%edi
662
+ rorl $2,%r14d // Sigma0(a)
663
+ addl %r13d,%r12d // T1+=Sigma1(e)
664
+
665
+ xorl %edi,%ebx // h=Maj(a,b,c)=Ch(a^b,c,b)
666
+ addl %r12d,%r9d // d+=T1
667
+ addl %r12d,%ebx // h+=T1
668
+
669
+ leaq 4(%rbp),%rbp // round++
670
+ addl %r14d,%ebx // h+=Sigma0(a)
671
+ movl 60(%rsi),%r12d
672
+ movl %r9d,%r13d
673
+ movl %ebx,%r14d
674
+ bswapl %r12d
675
+ rorl $14,%r13d
676
+ movl %r10d,%edi
677
+
678
+ xorl %r9d,%r13d
679
+ rorl $9,%r14d
680
+ xorl %r11d,%edi // f^g
681
+
682
+ movl %r12d,60(%rsp)
683
+ xorl %ebx,%r14d
684
+ andl %r9d,%edi // (f^g)&e
685
+
686
+ rorl $5,%r13d
687
+ addl %eax,%r12d // T1+=h
688
+ xorl %r11d,%edi // Ch(e,f,g)=((f^g)&e)^g
689
+
690
+ rorl $11,%r14d
691
+ xorl %r9d,%r13d
692
+ addl %edi,%r12d // T1+=Ch(e,f,g)
693
+
694
+ movl %ebx,%edi
695
+ addl (%rbp),%r12d // T1+=K[round]
696
+ xorl %ebx,%r14d
697
+
698
+ xorl %ecx,%edi // a^b, b^c in next round
699
+ rorl $6,%r13d // Sigma1(e)
700
+ movl %ecx,%eax
701
+
702
+ andl %edi,%r15d
703
+ rorl $2,%r14d // Sigma0(a)
704
+ addl %r13d,%r12d // T1+=Sigma1(e)
705
+
706
+ xorl %r15d,%eax // h=Maj(a,b,c)=Ch(a^b,c,b)
707
+ addl %r12d,%r8d // d+=T1
708
+ addl %r12d,%eax // h+=T1
709
+
710
+ leaq 20(%rbp),%rbp // round++
711
+ jmp .Lrounds_16_xx
712
+ .align 16
713
+ .Lrounds_16_xx:
714
+ movl 4(%rsp),%r13d
715
+ movl 56(%rsp),%r15d
716
+
717
+ movl %r13d,%r12d
718
+ rorl $11,%r13d
719
+ addl %r14d,%eax // modulo-scheduled h+=Sigma0(a)
720
+ movl %r15d,%r14d
721
+ rorl $2,%r15d
722
+
723
+ xorl %r12d,%r13d
724
+ shrl $3,%r12d
725
+ rorl $7,%r13d
726
+ xorl %r14d,%r15d
727
+ shrl $10,%r14d
728
+
729
+ rorl $17,%r15d
730
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
731
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
732
+ addl 36(%rsp),%r12d
733
+
734
+ addl 0(%rsp),%r12d
735
+ movl %r8d,%r13d
736
+ addl %r15d,%r12d
737
+ movl %eax,%r14d
738
+ rorl $14,%r13d
739
+ movl %r9d,%r15d
740
+
741
+ xorl %r8d,%r13d
742
+ rorl $9,%r14d
743
+ xorl %r10d,%r15d // f^g
744
+
745
+ movl %r12d,0(%rsp)
746
+ xorl %eax,%r14d
747
+ andl %r8d,%r15d // (f^g)&e
748
+
749
+ rorl $5,%r13d
750
+ addl %r11d,%r12d // T1+=h
751
+ xorl %r10d,%r15d // Ch(e,f,g)=((f^g)&e)^g
752
+
753
+ rorl $11,%r14d
754
+ xorl %r8d,%r13d
755
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
756
+
757
+ movl %eax,%r15d
758
+ addl (%rbp),%r12d // T1+=K[round]
759
+ xorl %eax,%r14d
760
+
761
+ xorl %ebx,%r15d // a^b, b^c in next round
762
+ rorl $6,%r13d // Sigma1(e)
763
+ movl %ebx,%r11d
764
+
765
+ andl %r15d,%edi
766
+ rorl $2,%r14d // Sigma0(a)
767
+ addl %r13d,%r12d // T1+=Sigma1(e)
768
+
769
+ xorl %edi,%r11d // h=Maj(a,b,c)=Ch(a^b,c,b)
770
+ addl %r12d,%edx // d+=T1
771
+ addl %r12d,%r11d // h+=T1
772
+
773
+ leaq 4(%rbp),%rbp // round++
774
+ movl 8(%rsp),%r13d
775
+ movl 60(%rsp),%edi
776
+
777
+ movl %r13d,%r12d
778
+ rorl $11,%r13d
779
+ addl %r14d,%r11d // modulo-scheduled h+=Sigma0(a)
780
+ movl %edi,%r14d
781
+ rorl $2,%edi
782
+
783
+ xorl %r12d,%r13d
784
+ shrl $3,%r12d
785
+ rorl $7,%r13d
786
+ xorl %r14d,%edi
787
+ shrl $10,%r14d
788
+
789
+ rorl $17,%edi
790
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
791
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
792
+ addl 40(%rsp),%r12d
793
+
794
+ addl 4(%rsp),%r12d
795
+ movl %edx,%r13d
796
+ addl %edi,%r12d
797
+ movl %r11d,%r14d
798
+ rorl $14,%r13d
799
+ movl %r8d,%edi
800
+
801
+ xorl %edx,%r13d
802
+ rorl $9,%r14d
803
+ xorl %r9d,%edi // f^g
804
+
805
+ movl %r12d,4(%rsp)
806
+ xorl %r11d,%r14d
807
+ andl %edx,%edi // (f^g)&e
808
+
809
+ rorl $5,%r13d
810
+ addl %r10d,%r12d // T1+=h
811
+ xorl %r9d,%edi // Ch(e,f,g)=((f^g)&e)^g
812
+
813
+ rorl $11,%r14d
814
+ xorl %edx,%r13d
815
+ addl %edi,%r12d // T1+=Ch(e,f,g)
816
+
817
+ movl %r11d,%edi
818
+ addl (%rbp),%r12d // T1+=K[round]
819
+ xorl %r11d,%r14d
820
+
821
+ xorl %eax,%edi // a^b, b^c in next round
822
+ rorl $6,%r13d // Sigma1(e)
823
+ movl %eax,%r10d
824
+
825
+ andl %edi,%r15d
826
+ rorl $2,%r14d // Sigma0(a)
827
+ addl %r13d,%r12d // T1+=Sigma1(e)
828
+
829
+ xorl %r15d,%r10d // h=Maj(a,b,c)=Ch(a^b,c,b)
830
+ addl %r12d,%ecx // d+=T1
831
+ addl %r12d,%r10d // h+=T1
832
+
833
+ leaq 4(%rbp),%rbp // round++
834
+ movl 12(%rsp),%r13d
835
+ movl 0(%rsp),%r15d
836
+
837
+ movl %r13d,%r12d
838
+ rorl $11,%r13d
839
+ addl %r14d,%r10d // modulo-scheduled h+=Sigma0(a)
840
+ movl %r15d,%r14d
841
+ rorl $2,%r15d
842
+
843
+ xorl %r12d,%r13d
844
+ shrl $3,%r12d
845
+ rorl $7,%r13d
846
+ xorl %r14d,%r15d
847
+ shrl $10,%r14d
848
+
849
+ rorl $17,%r15d
850
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
851
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
852
+ addl 44(%rsp),%r12d
853
+
854
+ addl 8(%rsp),%r12d
855
+ movl %ecx,%r13d
856
+ addl %r15d,%r12d
857
+ movl %r10d,%r14d
858
+ rorl $14,%r13d
859
+ movl %edx,%r15d
860
+
861
+ xorl %ecx,%r13d
862
+ rorl $9,%r14d
863
+ xorl %r8d,%r15d // f^g
864
+
865
+ movl %r12d,8(%rsp)
866
+ xorl %r10d,%r14d
867
+ andl %ecx,%r15d // (f^g)&e
868
+
869
+ rorl $5,%r13d
870
+ addl %r9d,%r12d // T1+=h
871
+ xorl %r8d,%r15d // Ch(e,f,g)=((f^g)&e)^g
872
+
873
+ rorl $11,%r14d
874
+ xorl %ecx,%r13d
875
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
876
+
877
+ movl %r10d,%r15d
878
+ addl (%rbp),%r12d // T1+=K[round]
879
+ xorl %r10d,%r14d
880
+
881
+ xorl %r11d,%r15d // a^b, b^c in next round
882
+ rorl $6,%r13d // Sigma1(e)
883
+ movl %r11d,%r9d
884
+
885
+ andl %r15d,%edi
886
+ rorl $2,%r14d // Sigma0(a)
887
+ addl %r13d,%r12d // T1+=Sigma1(e)
888
+
889
+ xorl %edi,%r9d // h=Maj(a,b,c)=Ch(a^b,c,b)
890
+ addl %r12d,%ebx // d+=T1
891
+ addl %r12d,%r9d // h+=T1
892
+
893
+ leaq 4(%rbp),%rbp // round++
894
+ movl 16(%rsp),%r13d
895
+ movl 4(%rsp),%edi
896
+
897
+ movl %r13d,%r12d
898
+ rorl $11,%r13d
899
+ addl %r14d,%r9d // modulo-scheduled h+=Sigma0(a)
900
+ movl %edi,%r14d
901
+ rorl $2,%edi
902
+
903
+ xorl %r12d,%r13d
904
+ shrl $3,%r12d
905
+ rorl $7,%r13d
906
+ xorl %r14d,%edi
907
+ shrl $10,%r14d
908
+
909
+ rorl $17,%edi
910
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
911
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
912
+ addl 48(%rsp),%r12d
913
+
914
+ addl 12(%rsp),%r12d
915
+ movl %ebx,%r13d
916
+ addl %edi,%r12d
917
+ movl %r9d,%r14d
918
+ rorl $14,%r13d
919
+ movl %ecx,%edi
920
+
921
+ xorl %ebx,%r13d
922
+ rorl $9,%r14d
923
+ xorl %edx,%edi // f^g
924
+
925
+ movl %r12d,12(%rsp)
926
+ xorl %r9d,%r14d
927
+ andl %ebx,%edi // (f^g)&e
928
+
929
+ rorl $5,%r13d
930
+ addl %r8d,%r12d // T1+=h
931
+ xorl %edx,%edi // Ch(e,f,g)=((f^g)&e)^g
932
+
933
+ rorl $11,%r14d
934
+ xorl %ebx,%r13d
935
+ addl %edi,%r12d // T1+=Ch(e,f,g)
936
+
937
+ movl %r9d,%edi
938
+ addl (%rbp),%r12d // T1+=K[round]
939
+ xorl %r9d,%r14d
940
+
941
+ xorl %r10d,%edi // a^b, b^c in next round
942
+ rorl $6,%r13d // Sigma1(e)
943
+ movl %r10d,%r8d
944
+
945
+ andl %edi,%r15d
946
+ rorl $2,%r14d // Sigma0(a)
947
+ addl %r13d,%r12d // T1+=Sigma1(e)
948
+
949
+ xorl %r15d,%r8d // h=Maj(a,b,c)=Ch(a^b,c,b)
950
+ addl %r12d,%eax // d+=T1
951
+ addl %r12d,%r8d // h+=T1
952
+
953
+ leaq 20(%rbp),%rbp // round++
954
+ movl 20(%rsp),%r13d
955
+ movl 8(%rsp),%r15d
956
+
957
+ movl %r13d,%r12d
958
+ rorl $11,%r13d
959
+ addl %r14d,%r8d // modulo-scheduled h+=Sigma0(a)
960
+ movl %r15d,%r14d
961
+ rorl $2,%r15d
962
+
963
+ xorl %r12d,%r13d
964
+ shrl $3,%r12d
965
+ rorl $7,%r13d
966
+ xorl %r14d,%r15d
967
+ shrl $10,%r14d
968
+
969
+ rorl $17,%r15d
970
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
971
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
972
+ addl 52(%rsp),%r12d
973
+
974
+ addl 16(%rsp),%r12d
975
+ movl %eax,%r13d
976
+ addl %r15d,%r12d
977
+ movl %r8d,%r14d
978
+ rorl $14,%r13d
979
+ movl %ebx,%r15d
980
+
981
+ xorl %eax,%r13d
982
+ rorl $9,%r14d
983
+ xorl %ecx,%r15d // f^g
984
+
985
+ movl %r12d,16(%rsp)
986
+ xorl %r8d,%r14d
987
+ andl %eax,%r15d // (f^g)&e
988
+
989
+ rorl $5,%r13d
990
+ addl %edx,%r12d // T1+=h
991
+ xorl %ecx,%r15d // Ch(e,f,g)=((f^g)&e)^g
992
+
993
+ rorl $11,%r14d
994
+ xorl %eax,%r13d
995
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
996
+
997
+ movl %r8d,%r15d
998
+ addl (%rbp),%r12d // T1+=K[round]
999
+ xorl %r8d,%r14d
1000
+
1001
+ xorl %r9d,%r15d // a^b, b^c in next round
1002
+ rorl $6,%r13d // Sigma1(e)
1003
+ movl %r9d,%edx
1004
+
1005
+ andl %r15d,%edi
1006
+ rorl $2,%r14d // Sigma0(a)
1007
+ addl %r13d,%r12d // T1+=Sigma1(e)
1008
+
1009
+ xorl %edi,%edx // h=Maj(a,b,c)=Ch(a^b,c,b)
1010
+ addl %r12d,%r11d // d+=T1
1011
+ addl %r12d,%edx // h+=T1
1012
+
1013
+ leaq 4(%rbp),%rbp // round++
1014
+ movl 24(%rsp),%r13d
1015
+ movl 12(%rsp),%edi
1016
+
1017
+ movl %r13d,%r12d
1018
+ rorl $11,%r13d
1019
+ addl %r14d,%edx // modulo-scheduled h+=Sigma0(a)
1020
+ movl %edi,%r14d
1021
+ rorl $2,%edi
1022
+
1023
+ xorl %r12d,%r13d
1024
+ shrl $3,%r12d
1025
+ rorl $7,%r13d
1026
+ xorl %r14d,%edi
1027
+ shrl $10,%r14d
1028
+
1029
+ rorl $17,%edi
1030
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1031
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1032
+ addl 56(%rsp),%r12d
1033
+
1034
+ addl 20(%rsp),%r12d
1035
+ movl %r11d,%r13d
1036
+ addl %edi,%r12d
1037
+ movl %edx,%r14d
1038
+ rorl $14,%r13d
1039
+ movl %eax,%edi
1040
+
1041
+ xorl %r11d,%r13d
1042
+ rorl $9,%r14d
1043
+ xorl %ebx,%edi // f^g
1044
+
1045
+ movl %r12d,20(%rsp)
1046
+ xorl %edx,%r14d
1047
+ andl %r11d,%edi // (f^g)&e
1048
+
1049
+ rorl $5,%r13d
1050
+ addl %ecx,%r12d // T1+=h
1051
+ xorl %ebx,%edi // Ch(e,f,g)=((f^g)&e)^g
1052
+
1053
+ rorl $11,%r14d
1054
+ xorl %r11d,%r13d
1055
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1056
+
1057
+ movl %edx,%edi
1058
+ addl (%rbp),%r12d // T1+=K[round]
1059
+ xorl %edx,%r14d
1060
+
1061
+ xorl %r8d,%edi // a^b, b^c in next round
1062
+ rorl $6,%r13d // Sigma1(e)
1063
+ movl %r8d,%ecx
1064
+
1065
+ andl %edi,%r15d
1066
+ rorl $2,%r14d // Sigma0(a)
1067
+ addl %r13d,%r12d // T1+=Sigma1(e)
1068
+
1069
+ xorl %r15d,%ecx // h=Maj(a,b,c)=Ch(a^b,c,b)
1070
+ addl %r12d,%r10d // d+=T1
1071
+ addl %r12d,%ecx // h+=T1
1072
+
1073
+ leaq 4(%rbp),%rbp // round++
1074
+ movl 28(%rsp),%r13d
1075
+ movl 16(%rsp),%r15d
1076
+
1077
+ movl %r13d,%r12d
1078
+ rorl $11,%r13d
1079
+ addl %r14d,%ecx // modulo-scheduled h+=Sigma0(a)
1080
+ movl %r15d,%r14d
1081
+ rorl $2,%r15d
1082
+
1083
+ xorl %r12d,%r13d
1084
+ shrl $3,%r12d
1085
+ rorl $7,%r13d
1086
+ xorl %r14d,%r15d
1087
+ shrl $10,%r14d
1088
+
1089
+ rorl $17,%r15d
1090
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1091
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
1092
+ addl 60(%rsp),%r12d
1093
+
1094
+ addl 24(%rsp),%r12d
1095
+ movl %r10d,%r13d
1096
+ addl %r15d,%r12d
1097
+ movl %ecx,%r14d
1098
+ rorl $14,%r13d
1099
+ movl %r11d,%r15d
1100
+
1101
+ xorl %r10d,%r13d
1102
+ rorl $9,%r14d
1103
+ xorl %eax,%r15d // f^g
1104
+
1105
+ movl %r12d,24(%rsp)
1106
+ xorl %ecx,%r14d
1107
+ andl %r10d,%r15d // (f^g)&e
1108
+
1109
+ rorl $5,%r13d
1110
+ addl %ebx,%r12d // T1+=h
1111
+ xorl %eax,%r15d // Ch(e,f,g)=((f^g)&e)^g
1112
+
1113
+ rorl $11,%r14d
1114
+ xorl %r10d,%r13d
1115
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
1116
+
1117
+ movl %ecx,%r15d
1118
+ addl (%rbp),%r12d // T1+=K[round]
1119
+ xorl %ecx,%r14d
1120
+
1121
+ xorl %edx,%r15d // a^b, b^c in next round
1122
+ rorl $6,%r13d // Sigma1(e)
1123
+ movl %edx,%ebx
1124
+
1125
+ andl %r15d,%edi
1126
+ rorl $2,%r14d // Sigma0(a)
1127
+ addl %r13d,%r12d // T1+=Sigma1(e)
1128
+
1129
+ xorl %edi,%ebx // h=Maj(a,b,c)=Ch(a^b,c,b)
1130
+ addl %r12d,%r9d // d+=T1
1131
+ addl %r12d,%ebx // h+=T1
1132
+
1133
+ leaq 4(%rbp),%rbp // round++
1134
+ movl 32(%rsp),%r13d
1135
+ movl 20(%rsp),%edi
1136
+
1137
+ movl %r13d,%r12d
1138
+ rorl $11,%r13d
1139
+ addl %r14d,%ebx // modulo-scheduled h+=Sigma0(a)
1140
+ movl %edi,%r14d
1141
+ rorl $2,%edi
1142
+
1143
+ xorl %r12d,%r13d
1144
+ shrl $3,%r12d
1145
+ rorl $7,%r13d
1146
+ xorl %r14d,%edi
1147
+ shrl $10,%r14d
1148
+
1149
+ rorl $17,%edi
1150
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1151
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1152
+ addl 0(%rsp),%r12d
1153
+
1154
+ addl 28(%rsp),%r12d
1155
+ movl %r9d,%r13d
1156
+ addl %edi,%r12d
1157
+ movl %ebx,%r14d
1158
+ rorl $14,%r13d
1159
+ movl %r10d,%edi
1160
+
1161
+ xorl %r9d,%r13d
1162
+ rorl $9,%r14d
1163
+ xorl %r11d,%edi // f^g
1164
+
1165
+ movl %r12d,28(%rsp)
1166
+ xorl %ebx,%r14d
1167
+ andl %r9d,%edi // (f^g)&e
1168
+
1169
+ rorl $5,%r13d
1170
+ addl %eax,%r12d // T1+=h
1171
+ xorl %r11d,%edi // Ch(e,f,g)=((f^g)&e)^g
1172
+
1173
+ rorl $11,%r14d
1174
+ xorl %r9d,%r13d
1175
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1176
+
1177
+ movl %ebx,%edi
1178
+ addl (%rbp),%r12d // T1+=K[round]
1179
+ xorl %ebx,%r14d
1180
+
1181
+ xorl %ecx,%edi // a^b, b^c in next round
1182
+ rorl $6,%r13d // Sigma1(e)
1183
+ movl %ecx,%eax
1184
+
1185
+ andl %edi,%r15d
1186
+ rorl $2,%r14d // Sigma0(a)
1187
+ addl %r13d,%r12d // T1+=Sigma1(e)
1188
+
1189
+ xorl %r15d,%eax // h=Maj(a,b,c)=Ch(a^b,c,b)
1190
+ addl %r12d,%r8d // d+=T1
1191
+ addl %r12d,%eax // h+=T1
1192
+
1193
+ leaq 20(%rbp),%rbp // round++
1194
+ movl 36(%rsp),%r13d
1195
+ movl 24(%rsp),%r15d
1196
+
1197
+ movl %r13d,%r12d
1198
+ rorl $11,%r13d
1199
+ addl %r14d,%eax // modulo-scheduled h+=Sigma0(a)
1200
+ movl %r15d,%r14d
1201
+ rorl $2,%r15d
1202
+
1203
+ xorl %r12d,%r13d
1204
+ shrl $3,%r12d
1205
+ rorl $7,%r13d
1206
+ xorl %r14d,%r15d
1207
+ shrl $10,%r14d
1208
+
1209
+ rorl $17,%r15d
1210
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1211
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
1212
+ addl 4(%rsp),%r12d
1213
+
1214
+ addl 32(%rsp),%r12d
1215
+ movl %r8d,%r13d
1216
+ addl %r15d,%r12d
1217
+ movl %eax,%r14d
1218
+ rorl $14,%r13d
1219
+ movl %r9d,%r15d
1220
+
1221
+ xorl %r8d,%r13d
1222
+ rorl $9,%r14d
1223
+ xorl %r10d,%r15d // f^g
1224
+
1225
+ movl %r12d,32(%rsp)
1226
+ xorl %eax,%r14d
1227
+ andl %r8d,%r15d // (f^g)&e
1228
+
1229
+ rorl $5,%r13d
1230
+ addl %r11d,%r12d // T1+=h
1231
+ xorl %r10d,%r15d // Ch(e,f,g)=((f^g)&e)^g
1232
+
1233
+ rorl $11,%r14d
1234
+ xorl %r8d,%r13d
1235
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
1236
+
1237
+ movl %eax,%r15d
1238
+ addl (%rbp),%r12d // T1+=K[round]
1239
+ xorl %eax,%r14d
1240
+
1241
+ xorl %ebx,%r15d // a^b, b^c in next round
1242
+ rorl $6,%r13d // Sigma1(e)
1243
+ movl %ebx,%r11d
1244
+
1245
+ andl %r15d,%edi
1246
+ rorl $2,%r14d // Sigma0(a)
1247
+ addl %r13d,%r12d // T1+=Sigma1(e)
1248
+
1249
+ xorl %edi,%r11d // h=Maj(a,b,c)=Ch(a^b,c,b)
1250
+ addl %r12d,%edx // d+=T1
1251
+ addl %r12d,%r11d // h+=T1
1252
+
1253
+ leaq 4(%rbp),%rbp // round++
1254
+ movl 40(%rsp),%r13d
1255
+ movl 28(%rsp),%edi
1256
+
1257
+ movl %r13d,%r12d
1258
+ rorl $11,%r13d
1259
+ addl %r14d,%r11d // modulo-scheduled h+=Sigma0(a)
1260
+ movl %edi,%r14d
1261
+ rorl $2,%edi
1262
+
1263
+ xorl %r12d,%r13d
1264
+ shrl $3,%r12d
1265
+ rorl $7,%r13d
1266
+ xorl %r14d,%edi
1267
+ shrl $10,%r14d
1268
+
1269
+ rorl $17,%edi
1270
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1271
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1272
+ addl 8(%rsp),%r12d
1273
+
1274
+ addl 36(%rsp),%r12d
1275
+ movl %edx,%r13d
1276
+ addl %edi,%r12d
1277
+ movl %r11d,%r14d
1278
+ rorl $14,%r13d
1279
+ movl %r8d,%edi
1280
+
1281
+ xorl %edx,%r13d
1282
+ rorl $9,%r14d
1283
+ xorl %r9d,%edi // f^g
1284
+
1285
+ movl %r12d,36(%rsp)
1286
+ xorl %r11d,%r14d
1287
+ andl %edx,%edi // (f^g)&e
1288
+
1289
+ rorl $5,%r13d
1290
+ addl %r10d,%r12d // T1+=h
1291
+ xorl %r9d,%edi // Ch(e,f,g)=((f^g)&e)^g
1292
+
1293
+ rorl $11,%r14d
1294
+ xorl %edx,%r13d
1295
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1296
+
1297
+ movl %r11d,%edi
1298
+ addl (%rbp),%r12d // T1+=K[round]
1299
+ xorl %r11d,%r14d
1300
+
1301
+ xorl %eax,%edi // a^b, b^c in next round
1302
+ rorl $6,%r13d // Sigma1(e)
1303
+ movl %eax,%r10d
1304
+
1305
+ andl %edi,%r15d
1306
+ rorl $2,%r14d // Sigma0(a)
1307
+ addl %r13d,%r12d // T1+=Sigma1(e)
1308
+
1309
+ xorl %r15d,%r10d // h=Maj(a,b,c)=Ch(a^b,c,b)
1310
+ addl %r12d,%ecx // d+=T1
1311
+ addl %r12d,%r10d // h+=T1
1312
+
1313
+ leaq 4(%rbp),%rbp // round++
1314
+ movl 44(%rsp),%r13d
1315
+ movl 32(%rsp),%r15d
1316
+
1317
+ movl %r13d,%r12d
1318
+ rorl $11,%r13d
1319
+ addl %r14d,%r10d // modulo-scheduled h+=Sigma0(a)
1320
+ movl %r15d,%r14d
1321
+ rorl $2,%r15d
1322
+
1323
+ xorl %r12d,%r13d
1324
+ shrl $3,%r12d
1325
+ rorl $7,%r13d
1326
+ xorl %r14d,%r15d
1327
+ shrl $10,%r14d
1328
+
1329
+ rorl $17,%r15d
1330
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1331
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
1332
+ addl 12(%rsp),%r12d
1333
+
1334
+ addl 40(%rsp),%r12d
1335
+ movl %ecx,%r13d
1336
+ addl %r15d,%r12d
1337
+ movl %r10d,%r14d
1338
+ rorl $14,%r13d
1339
+ movl %edx,%r15d
1340
+
1341
+ xorl %ecx,%r13d
1342
+ rorl $9,%r14d
1343
+ xorl %r8d,%r15d // f^g
1344
+
1345
+ movl %r12d,40(%rsp)
1346
+ xorl %r10d,%r14d
1347
+ andl %ecx,%r15d // (f^g)&e
1348
+
1349
+ rorl $5,%r13d
1350
+ addl %r9d,%r12d // T1+=h
1351
+ xorl %r8d,%r15d // Ch(e,f,g)=((f^g)&e)^g
1352
+
1353
+ rorl $11,%r14d
1354
+ xorl %ecx,%r13d
1355
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
1356
+
1357
+ movl %r10d,%r15d
1358
+ addl (%rbp),%r12d // T1+=K[round]
1359
+ xorl %r10d,%r14d
1360
+
1361
+ xorl %r11d,%r15d // a^b, b^c in next round
1362
+ rorl $6,%r13d // Sigma1(e)
1363
+ movl %r11d,%r9d
1364
+
1365
+ andl %r15d,%edi
1366
+ rorl $2,%r14d // Sigma0(a)
1367
+ addl %r13d,%r12d // T1+=Sigma1(e)
1368
+
1369
+ xorl %edi,%r9d // h=Maj(a,b,c)=Ch(a^b,c,b)
1370
+ addl %r12d,%ebx // d+=T1
1371
+ addl %r12d,%r9d // h+=T1
1372
+
1373
+ leaq 4(%rbp),%rbp // round++
1374
+ movl 48(%rsp),%r13d
1375
+ movl 36(%rsp),%edi
1376
+
1377
+ movl %r13d,%r12d
1378
+ rorl $11,%r13d
1379
+ addl %r14d,%r9d // modulo-scheduled h+=Sigma0(a)
1380
+ movl %edi,%r14d
1381
+ rorl $2,%edi
1382
+
1383
+ xorl %r12d,%r13d
1384
+ shrl $3,%r12d
1385
+ rorl $7,%r13d
1386
+ xorl %r14d,%edi
1387
+ shrl $10,%r14d
1388
+
1389
+ rorl $17,%edi
1390
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1391
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1392
+ addl 16(%rsp),%r12d
1393
+
1394
+ addl 44(%rsp),%r12d
1395
+ movl %ebx,%r13d
1396
+ addl %edi,%r12d
1397
+ movl %r9d,%r14d
1398
+ rorl $14,%r13d
1399
+ movl %ecx,%edi
1400
+
1401
+ xorl %ebx,%r13d
1402
+ rorl $9,%r14d
1403
+ xorl %edx,%edi // f^g
1404
+
1405
+ movl %r12d,44(%rsp)
1406
+ xorl %r9d,%r14d
1407
+ andl %ebx,%edi // (f^g)&e
1408
+
1409
+ rorl $5,%r13d
1410
+ addl %r8d,%r12d // T1+=h
1411
+ xorl %edx,%edi // Ch(e,f,g)=((f^g)&e)^g
1412
+
1413
+ rorl $11,%r14d
1414
+ xorl %ebx,%r13d
1415
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1416
+
1417
+ movl %r9d,%edi
1418
+ addl (%rbp),%r12d // T1+=K[round]
1419
+ xorl %r9d,%r14d
1420
+
1421
+ xorl %r10d,%edi // a^b, b^c in next round
1422
+ rorl $6,%r13d // Sigma1(e)
1423
+ movl %r10d,%r8d
1424
+
1425
+ andl %edi,%r15d
1426
+ rorl $2,%r14d // Sigma0(a)
1427
+ addl %r13d,%r12d // T1+=Sigma1(e)
1428
+
1429
+ xorl %r15d,%r8d // h=Maj(a,b,c)=Ch(a^b,c,b)
1430
+ addl %r12d,%eax // d+=T1
1431
+ addl %r12d,%r8d // h+=T1
1432
+
1433
+ leaq 20(%rbp),%rbp // round++
1434
+ movl 52(%rsp),%r13d
1435
+ movl 40(%rsp),%r15d
1436
+
1437
+ movl %r13d,%r12d
1438
+ rorl $11,%r13d
1439
+ addl %r14d,%r8d // modulo-scheduled h+=Sigma0(a)
1440
+ movl %r15d,%r14d
1441
+ rorl $2,%r15d
1442
+
1443
+ xorl %r12d,%r13d
1444
+ shrl $3,%r12d
1445
+ rorl $7,%r13d
1446
+ xorl %r14d,%r15d
1447
+ shrl $10,%r14d
1448
+
1449
+ rorl $17,%r15d
1450
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1451
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
1452
+ addl 20(%rsp),%r12d
1453
+
1454
+ addl 48(%rsp),%r12d
1455
+ movl %eax,%r13d
1456
+ addl %r15d,%r12d
1457
+ movl %r8d,%r14d
1458
+ rorl $14,%r13d
1459
+ movl %ebx,%r15d
1460
+
1461
+ xorl %eax,%r13d
1462
+ rorl $9,%r14d
1463
+ xorl %ecx,%r15d // f^g
1464
+
1465
+ movl %r12d,48(%rsp)
1466
+ xorl %r8d,%r14d
1467
+ andl %eax,%r15d // (f^g)&e
1468
+
1469
+ rorl $5,%r13d
1470
+ addl %edx,%r12d // T1+=h
1471
+ xorl %ecx,%r15d // Ch(e,f,g)=((f^g)&e)^g
1472
+
1473
+ rorl $11,%r14d
1474
+ xorl %eax,%r13d
1475
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
1476
+
1477
+ movl %r8d,%r15d
1478
+ addl (%rbp),%r12d // T1+=K[round]
1479
+ xorl %r8d,%r14d
1480
+
1481
+ xorl %r9d,%r15d // a^b, b^c in next round
1482
+ rorl $6,%r13d // Sigma1(e)
1483
+ movl %r9d,%edx
1484
+
1485
+ andl %r15d,%edi
1486
+ rorl $2,%r14d // Sigma0(a)
1487
+ addl %r13d,%r12d // T1+=Sigma1(e)
1488
+
1489
+ xorl %edi,%edx // h=Maj(a,b,c)=Ch(a^b,c,b)
1490
+ addl %r12d,%r11d // d+=T1
1491
+ addl %r12d,%edx // h+=T1
1492
+
1493
+ leaq 4(%rbp),%rbp // round++
1494
+ movl 56(%rsp),%r13d
1495
+ movl 44(%rsp),%edi
1496
+
1497
+ movl %r13d,%r12d
1498
+ rorl $11,%r13d
1499
+ addl %r14d,%edx // modulo-scheduled h+=Sigma0(a)
1500
+ movl %edi,%r14d
1501
+ rorl $2,%edi
1502
+
1503
+ xorl %r12d,%r13d
1504
+ shrl $3,%r12d
1505
+ rorl $7,%r13d
1506
+ xorl %r14d,%edi
1507
+ shrl $10,%r14d
1508
+
1509
+ rorl $17,%edi
1510
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1511
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1512
+ addl 24(%rsp),%r12d
1513
+
1514
+ addl 52(%rsp),%r12d
1515
+ movl %r11d,%r13d
1516
+ addl %edi,%r12d
1517
+ movl %edx,%r14d
1518
+ rorl $14,%r13d
1519
+ movl %eax,%edi
1520
+
1521
+ xorl %r11d,%r13d
1522
+ rorl $9,%r14d
1523
+ xorl %ebx,%edi // f^g
1524
+
1525
+ movl %r12d,52(%rsp)
1526
+ xorl %edx,%r14d
1527
+ andl %r11d,%edi // (f^g)&e
1528
+
1529
+ rorl $5,%r13d
1530
+ addl %ecx,%r12d // T1+=h
1531
+ xorl %ebx,%edi // Ch(e,f,g)=((f^g)&e)^g
1532
+
1533
+ rorl $11,%r14d
1534
+ xorl %r11d,%r13d
1535
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1536
+
1537
+ movl %edx,%edi
1538
+ addl (%rbp),%r12d // T1+=K[round]
1539
+ xorl %edx,%r14d
1540
+
1541
+ xorl %r8d,%edi // a^b, b^c in next round
1542
+ rorl $6,%r13d // Sigma1(e)
1543
+ movl %r8d,%ecx
1544
+
1545
+ andl %edi,%r15d
1546
+ rorl $2,%r14d // Sigma0(a)
1547
+ addl %r13d,%r12d // T1+=Sigma1(e)
1548
+
1549
+ xorl %r15d,%ecx // h=Maj(a,b,c)=Ch(a^b,c,b)
1550
+ addl %r12d,%r10d // d+=T1
1551
+ addl %r12d,%ecx // h+=T1
1552
+
1553
+ leaq 4(%rbp),%rbp // round++
1554
+ movl 60(%rsp),%r13d
1555
+ movl 48(%rsp),%r15d
1556
+
1557
+ movl %r13d,%r12d
1558
+ rorl $11,%r13d
1559
+ addl %r14d,%ecx // modulo-scheduled h+=Sigma0(a)
1560
+ movl %r15d,%r14d
1561
+ rorl $2,%r15d
1562
+
1563
+ xorl %r12d,%r13d
1564
+ shrl $3,%r12d
1565
+ rorl $7,%r13d
1566
+ xorl %r14d,%r15d
1567
+ shrl $10,%r14d
1568
+
1569
+ rorl $17,%r15d
1570
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1571
+ xorl %r14d,%r15d // sigma1(X[(i+14)&0xf])
1572
+ addl 28(%rsp),%r12d
1573
+
1574
+ addl 56(%rsp),%r12d
1575
+ movl %r10d,%r13d
1576
+ addl %r15d,%r12d
1577
+ movl %ecx,%r14d
1578
+ rorl $14,%r13d
1579
+ movl %r11d,%r15d
1580
+
1581
+ xorl %r10d,%r13d
1582
+ rorl $9,%r14d
1583
+ xorl %eax,%r15d // f^g
1584
+
1585
+ movl %r12d,56(%rsp)
1586
+ xorl %ecx,%r14d
1587
+ andl %r10d,%r15d // (f^g)&e
1588
+
1589
+ rorl $5,%r13d
1590
+ addl %ebx,%r12d // T1+=h
1591
+ xorl %eax,%r15d // Ch(e,f,g)=((f^g)&e)^g
1592
+
1593
+ rorl $11,%r14d
1594
+ xorl %r10d,%r13d
1595
+ addl %r15d,%r12d // T1+=Ch(e,f,g)
1596
+
1597
+ movl %ecx,%r15d
1598
+ addl (%rbp),%r12d // T1+=K[round]
1599
+ xorl %ecx,%r14d
1600
+
1601
+ xorl %edx,%r15d // a^b, b^c in next round
1602
+ rorl $6,%r13d // Sigma1(e)
1603
+ movl %edx,%ebx
1604
+
1605
+ andl %r15d,%edi
1606
+ rorl $2,%r14d // Sigma0(a)
1607
+ addl %r13d,%r12d // T1+=Sigma1(e)
1608
+
1609
+ xorl %edi,%ebx // h=Maj(a,b,c)=Ch(a^b,c,b)
1610
+ addl %r12d,%r9d // d+=T1
1611
+ addl %r12d,%ebx // h+=T1
1612
+
1613
+ leaq 4(%rbp),%rbp // round++
1614
+ movl 0(%rsp),%r13d
1615
+ movl 52(%rsp),%edi
1616
+
1617
+ movl %r13d,%r12d
1618
+ rorl $11,%r13d
1619
+ addl %r14d,%ebx // modulo-scheduled h+=Sigma0(a)
1620
+ movl %edi,%r14d
1621
+ rorl $2,%edi
1622
+
1623
+ xorl %r12d,%r13d
1624
+ shrl $3,%r12d
1625
+ rorl $7,%r13d
1626
+ xorl %r14d,%edi
1627
+ shrl $10,%r14d
1628
+
1629
+ rorl $17,%edi
1630
+ xorl %r13d,%r12d // sigma0(X[(i+1)&0xf])
1631
+ xorl %r14d,%edi // sigma1(X[(i+14)&0xf])
1632
+ addl 32(%rsp),%r12d
1633
+
1634
+ addl 60(%rsp),%r12d
1635
+ movl %r9d,%r13d
1636
+ addl %edi,%r12d
1637
+ movl %ebx,%r14d
1638
+ rorl $14,%r13d
1639
+ movl %r10d,%edi
1640
+
1641
+ xorl %r9d,%r13d
1642
+ rorl $9,%r14d
1643
+ xorl %r11d,%edi // f^g
1644
+
1645
+ movl %r12d,60(%rsp)
1646
+ xorl %ebx,%r14d
1647
+ andl %r9d,%edi // (f^g)&e
1648
+
1649
+ rorl $5,%r13d
1650
+ addl %eax,%r12d // T1+=h
1651
+ xorl %r11d,%edi // Ch(e,f,g)=((f^g)&e)^g
1652
+
1653
+ rorl $11,%r14d
1654
+ xorl %r9d,%r13d
1655
+ addl %edi,%r12d // T1+=Ch(e,f,g)
1656
+
1657
+ movl %ebx,%edi
1658
+ addl (%rbp),%r12d // T1+=K[round]
1659
+ xorl %ebx,%r14d
1660
+
1661
+ xorl %ecx,%edi // a^b, b^c in next round
1662
+ rorl $6,%r13d // Sigma1(e)
1663
+ movl %ecx,%eax
1664
+
1665
+ andl %edi,%r15d
1666
+ rorl $2,%r14d // Sigma0(a)
1667
+ addl %r13d,%r12d // T1+=Sigma1(e)
1668
+
1669
+ xorl %r15d,%eax // h=Maj(a,b,c)=Ch(a^b,c,b)
1670
+ addl %r12d,%r8d // d+=T1
1671
+ addl %r12d,%eax // h+=T1
1672
+
1673
+ leaq 20(%rbp),%rbp // round++
1674
+ cmpb $0,3(%rbp)
1675
+ jnz .Lrounds_16_xx
1676
+
1677
+ movq 64+0(%rsp),%rdi
1678
+ addl %r14d,%eax // modulo-scheduled h+=Sigma0(a)
1679
+ leaq 64(%rsi),%rsi
1680
+
1681
+ addl 0(%rdi),%eax
1682
+ addl 4(%rdi),%ebx
1683
+ addl 8(%rdi),%ecx
1684
+ addl 12(%rdi),%edx
1685
+ addl 16(%rdi),%r8d
1686
+ addl 20(%rdi),%r9d
1687
+ addl 24(%rdi),%r10d
1688
+ addl 28(%rdi),%r11d
1689
+
1690
+ cmpq 64+16(%rsp),%rsi
1691
+
1692
+ movl %eax,0(%rdi)
1693
+ movl %ebx,4(%rdi)
1694
+ movl %ecx,8(%rdi)
1695
+ movl %edx,12(%rdi)
1696
+ movl %r8d,16(%rdi)
1697
+ movl %r9d,20(%rdi)
1698
+ movl %r10d,24(%rdi)
1699
+ movl %r11d,28(%rdi)
1700
+ jb .Lloop
1701
+
1702
+ movq 88(%rsp),%rsi
1703
+ .cfi_def_cfa %rsi,8
1704
+ movq -48(%rsi),%r15
1705
+ .cfi_restore %r15
1706
+ movq -40(%rsi),%r14
1707
+ .cfi_restore %r14
1708
+ movq -32(%rsi),%r13
1709
+ .cfi_restore %r13
1710
+ movq -24(%rsi),%r12
1711
+ .cfi_restore %r12
1712
+ movq -16(%rsi),%rbp
1713
+ .cfi_restore %rbp
1714
+ movq -8(%rsi),%rbx
1715
+ .cfi_restore %rbx
1716
+ leaq (%rsi),%rsp
1717
+ .cfi_def_cfa_register %rsp
1718
+ .Lepilogue:
1719
+ ret
1720
+ .cfi_endproc
1721
+ .size sha256_block_data_order_nohw,.-sha256_block_data_order_nohw
1722
+ .section .rodata
1723
+ .align 64
1724
+ .type K256,@object
1725
+ K256:
1726
+ .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1727
+ .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1728
+ .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1729
+ .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1730
+ .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1731
+ .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1732
+ .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1733
+ .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1734
+ .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1735
+ .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1736
+ .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1737
+ .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1738
+ .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1739
+ .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1740
+ .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1741
+ .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1742
+ .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1743
+ .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1744
+ .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1745
+ .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1746
+ .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1747
+ .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1748
+ .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1749
+ .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1750
+ .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1751
+ .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1752
+ .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1753
+ .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1754
+ .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1755
+ .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1756
+ .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1757
+ .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1758
+
1759
+ .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1760
+ .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1761
+ .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1762
+ .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1763
+ .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1764
+ .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1765
+ .byte 83,72,65,50,53,54,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
1766
+ .text
1767
+ .globl sha256_block_data_order_hw
1768
+ .hidden sha256_block_data_order_hw
1769
+ .type sha256_block_data_order_hw,@function
1770
+ .align 64
1771
+ sha256_block_data_order_hw:
1772
+ .cfi_startproc
1773
+ _CET_ENDBR
1774
+ leaq K256+128(%rip),%rcx
1775
+ movdqu (%rdi),%xmm1 // DCBA
1776
+ movdqu 16(%rdi),%xmm2 // HGFE
1777
+ movdqa 512-128(%rcx),%xmm7 // byte swap mask
1778
+
1779
+ pshufd $0x1b,%xmm1,%xmm0 // ABCD
1780
+ pshufd $0xb1,%xmm1,%xmm1 // CDAB
1781
+ pshufd $0x1b,%xmm2,%xmm2 // EFGH
1782
+ movdqa %xmm7,%xmm8 // offload
1783
+ palignr $8,%xmm2,%xmm1 // ABEF
1784
+ punpcklqdq %xmm0,%xmm2 // CDGH
1785
+ jmp .Loop_shaext
1786
+
1787
+ .align 16
1788
+ .Loop_shaext:
1789
+ movdqu (%rsi),%xmm3
1790
+ movdqu 16(%rsi),%xmm4
1791
+ movdqu 32(%rsi),%xmm5
1792
+ pshufb %xmm7,%xmm3
1793
+ movdqu 48(%rsi),%xmm6
1794
+
1795
+ movdqa 0-128(%rcx),%xmm0
1796
+ paddd %xmm3,%xmm0
1797
+ pshufb %xmm7,%xmm4
1798
+ movdqa %xmm2,%xmm10 // offload
1799
+ sha256rnds2 %xmm1,%xmm2 // 0-3
1800
+ pshufd $0x0e,%xmm0,%xmm0
1801
+ nop
1802
+ movdqa %xmm1,%xmm9 // offload
1803
+ sha256rnds2 %xmm2,%xmm1
1804
+
1805
+ movdqa 32-128(%rcx),%xmm0
1806
+ paddd %xmm4,%xmm0
1807
+ pshufb %xmm7,%xmm5
1808
+ sha256rnds2 %xmm1,%xmm2 // 4-7
1809
+ pshufd $0x0e,%xmm0,%xmm0
1810
+ leaq 64(%rsi),%rsi
1811
+ sha256msg1 %xmm4,%xmm3
1812
+ sha256rnds2 %xmm2,%xmm1
1813
+
1814
+ movdqa 64-128(%rcx),%xmm0
1815
+ paddd %xmm5,%xmm0
1816
+ pshufb %xmm7,%xmm6
1817
+ sha256rnds2 %xmm1,%xmm2 // 8-11
1818
+ pshufd $0x0e,%xmm0,%xmm0
1819
+ movdqa %xmm6,%xmm7
1820
+ palignr $4,%xmm5,%xmm7
1821
+ nop
1822
+ paddd %xmm7,%xmm3
1823
+ sha256msg1 %xmm5,%xmm4
1824
+ sha256rnds2 %xmm2,%xmm1
1825
+
1826
+ movdqa 96-128(%rcx),%xmm0
1827
+ paddd %xmm6,%xmm0
1828
+ sha256msg2 %xmm6,%xmm3
1829
+ sha256rnds2 %xmm1,%xmm2 // 12-15
1830
+ pshufd $0x0e,%xmm0,%xmm0
1831
+ movdqa %xmm3,%xmm7
1832
+ palignr $4,%xmm6,%xmm7
1833
+ nop
1834
+ paddd %xmm7,%xmm4
1835
+ sha256msg1 %xmm6,%xmm5
1836
+ sha256rnds2 %xmm2,%xmm1
1837
+ movdqa 128-128(%rcx),%xmm0
1838
+ paddd %xmm3,%xmm0
1839
+ sha256msg2 %xmm3,%xmm4
1840
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1841
+ pshufd $0x0e,%xmm0,%xmm0
1842
+ movdqa %xmm4,%xmm7
1843
+ palignr $4,%xmm3,%xmm7
1844
+ nop
1845
+ paddd %xmm7,%xmm5
1846
+ sha256msg1 %xmm3,%xmm6
1847
+ sha256rnds2 %xmm2,%xmm1
1848
+ movdqa 160-128(%rcx),%xmm0
1849
+ paddd %xmm4,%xmm0
1850
+ sha256msg2 %xmm4,%xmm5
1851
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1852
+ pshufd $0x0e,%xmm0,%xmm0
1853
+ movdqa %xmm5,%xmm7
1854
+ palignr $4,%xmm4,%xmm7
1855
+ nop
1856
+ paddd %xmm7,%xmm6
1857
+ sha256msg1 %xmm4,%xmm3
1858
+ sha256rnds2 %xmm2,%xmm1
1859
+ movdqa 192-128(%rcx),%xmm0
1860
+ paddd %xmm5,%xmm0
1861
+ sha256msg2 %xmm5,%xmm6
1862
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1863
+ pshufd $0x0e,%xmm0,%xmm0
1864
+ movdqa %xmm6,%xmm7
1865
+ palignr $4,%xmm5,%xmm7
1866
+ nop
1867
+ paddd %xmm7,%xmm3
1868
+ sha256msg1 %xmm5,%xmm4
1869
+ sha256rnds2 %xmm2,%xmm1
1870
+ movdqa 224-128(%rcx),%xmm0
1871
+ paddd %xmm6,%xmm0
1872
+ sha256msg2 %xmm6,%xmm3
1873
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1874
+ pshufd $0x0e,%xmm0,%xmm0
1875
+ movdqa %xmm3,%xmm7
1876
+ palignr $4,%xmm6,%xmm7
1877
+ nop
1878
+ paddd %xmm7,%xmm4
1879
+ sha256msg1 %xmm6,%xmm5
1880
+ sha256rnds2 %xmm2,%xmm1
1881
+ movdqa 256-128(%rcx),%xmm0
1882
+ paddd %xmm3,%xmm0
1883
+ sha256msg2 %xmm3,%xmm4
1884
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1885
+ pshufd $0x0e,%xmm0,%xmm0
1886
+ movdqa %xmm4,%xmm7
1887
+ palignr $4,%xmm3,%xmm7
1888
+ nop
1889
+ paddd %xmm7,%xmm5
1890
+ sha256msg1 %xmm3,%xmm6
1891
+ sha256rnds2 %xmm2,%xmm1
1892
+ movdqa 288-128(%rcx),%xmm0
1893
+ paddd %xmm4,%xmm0
1894
+ sha256msg2 %xmm4,%xmm5
1895
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1896
+ pshufd $0x0e,%xmm0,%xmm0
1897
+ movdqa %xmm5,%xmm7
1898
+ palignr $4,%xmm4,%xmm7
1899
+ nop
1900
+ paddd %xmm7,%xmm6
1901
+ sha256msg1 %xmm4,%xmm3
1902
+ sha256rnds2 %xmm2,%xmm1
1903
+ movdqa 320-128(%rcx),%xmm0
1904
+ paddd %xmm5,%xmm0
1905
+ sha256msg2 %xmm5,%xmm6
1906
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1907
+ pshufd $0x0e,%xmm0,%xmm0
1908
+ movdqa %xmm6,%xmm7
1909
+ palignr $4,%xmm5,%xmm7
1910
+ nop
1911
+ paddd %xmm7,%xmm3
1912
+ sha256msg1 %xmm5,%xmm4
1913
+ sha256rnds2 %xmm2,%xmm1
1914
+ movdqa 352-128(%rcx),%xmm0
1915
+ paddd %xmm6,%xmm0
1916
+ sha256msg2 %xmm6,%xmm3
1917
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1918
+ pshufd $0x0e,%xmm0,%xmm0
1919
+ movdqa %xmm3,%xmm7
1920
+ palignr $4,%xmm6,%xmm7
1921
+ nop
1922
+ paddd %xmm7,%xmm4
1923
+ sha256msg1 %xmm6,%xmm5
1924
+ sha256rnds2 %xmm2,%xmm1
1925
+ movdqa 384-128(%rcx),%xmm0
1926
+ paddd %xmm3,%xmm0
1927
+ sha256msg2 %xmm3,%xmm4
1928
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1929
+ pshufd $0x0e,%xmm0,%xmm0
1930
+ movdqa %xmm4,%xmm7
1931
+ palignr $4,%xmm3,%xmm7
1932
+ nop
1933
+ paddd %xmm7,%xmm5
1934
+ sha256msg1 %xmm3,%xmm6
1935
+ sha256rnds2 %xmm2,%xmm1
1936
+ movdqa 416-128(%rcx),%xmm0
1937
+ paddd %xmm4,%xmm0
1938
+ sha256msg2 %xmm4,%xmm5
1939
+ sha256rnds2 %xmm1,%xmm2 // 52-55
1940
+ pshufd $0x0e,%xmm0,%xmm0
1941
+ movdqa %xmm5,%xmm7
1942
+ palignr $4,%xmm4,%xmm7
1943
+ sha256rnds2 %xmm2,%xmm1
1944
+ paddd %xmm7,%xmm6
1945
+
1946
+ movdqa 448-128(%rcx),%xmm0
1947
+ paddd %xmm5,%xmm0
1948
+ sha256rnds2 %xmm1,%xmm2 // 56-59
1949
+ pshufd $0x0e,%xmm0,%xmm0
1950
+ sha256msg2 %xmm5,%xmm6
1951
+ movdqa %xmm8,%xmm7
1952
+ sha256rnds2 %xmm2,%xmm1
1953
+
1954
+ movdqa 480-128(%rcx),%xmm0
1955
+ paddd %xmm6,%xmm0
1956
+ nop
1957
+ sha256rnds2 %xmm1,%xmm2 // 60-63
1958
+ pshufd $0x0e,%xmm0,%xmm0
1959
+ decq %rdx
1960
+ nop
1961
+ sha256rnds2 %xmm2,%xmm1
1962
+
1963
+ paddd %xmm10,%xmm2
1964
+ paddd %xmm9,%xmm1
1965
+ jnz .Loop_shaext
1966
+
1967
+ pshufd $0xb1,%xmm2,%xmm2 // DCHG
1968
+ pshufd $0x1b,%xmm1,%xmm7 // FEBA
1969
+ pshufd $0xb1,%xmm1,%xmm1 // BAFE
1970
+ punpckhqdq %xmm2,%xmm1 // DCBA
1971
+ palignr $8,%xmm7,%xmm2 // HGFE
1972
+
1973
+ movdqu %xmm1,(%rdi)
1974
+ movdqu %xmm2,16(%rdi)
1975
+ ret
1976
+ .cfi_endproc
1977
+ .size sha256_block_data_order_hw,.-sha256_block_data_order_hw
1978
+ .globl sha256_block_data_order_ssse3
1979
+ .hidden sha256_block_data_order_ssse3
1980
+ .type sha256_block_data_order_ssse3,@function
1981
+ .align 64
1982
+ sha256_block_data_order_ssse3:
1983
+ .cfi_startproc
1984
+ _CET_ENDBR
1985
+ movq %rsp,%rax // copy %rsp
1986
+ .cfi_def_cfa_register %rax
1987
+ pushq %rbx
1988
+ .cfi_offset %rbx,-16
1989
+ pushq %rbp
1990
+ .cfi_offset %rbp,-24
1991
+ pushq %r12
1992
+ .cfi_offset %r12,-32
1993
+ pushq %r13
1994
+ .cfi_offset %r13,-40
1995
+ pushq %r14
1996
+ .cfi_offset %r14,-48
1997
+ pushq %r15
1998
+ .cfi_offset %r15,-56
1999
+ shlq $4,%rdx // num*16
2000
+ subq $96,%rsp
2001
+ leaq (%rsi,%rdx,4),%rdx // inp+num*16*4
2002
+ andq $-64,%rsp // align stack frame
2003
+ movq %rdi,64+0(%rsp) // save ctx, 1st arg
2004
+ movq %rsi,64+8(%rsp) // save inp, 2nd arh
2005
+ movq %rdx,64+16(%rsp) // save end pointer, "3rd" arg
2006
+ movq %rax,88(%rsp) // save copy of %rsp
2007
+ .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2008
+ .Lprologue_ssse3:
2009
+
2010
+ movl 0(%rdi),%eax
2011
+ movl 4(%rdi),%ebx
2012
+ movl 8(%rdi),%ecx
2013
+ movl 12(%rdi),%edx
2014
+ movl 16(%rdi),%r8d
2015
+ movl 20(%rdi),%r9d
2016
+ movl 24(%rdi),%r10d
2017
+ movl 28(%rdi),%r11d
2018
+ // movdqa K256+512+32(%rip),%xmm8
2019
+ // movdqa K256+512+64(%rip),%xmm9
2020
+ jmp .Lloop_ssse3
2021
+ .align 16
2022
+ .Lloop_ssse3:
2023
+ movdqa K256+512(%rip),%xmm7
2024
+ movdqu 0(%rsi),%xmm0
2025
+ movdqu 16(%rsi),%xmm1
2026
+ movdqu 32(%rsi),%xmm2
2027
+ pshufb %xmm7,%xmm0
2028
+ movdqu 48(%rsi),%xmm3
2029
+ leaq K256(%rip),%rbp
2030
+ pshufb %xmm7,%xmm1
2031
+ movdqa 0(%rbp),%xmm4
2032
+ movdqa 32(%rbp),%xmm5
2033
+ pshufb %xmm7,%xmm2
2034
+ paddd %xmm0,%xmm4
2035
+ movdqa 64(%rbp),%xmm6
2036
+ pshufb %xmm7,%xmm3
2037
+ movdqa 96(%rbp),%xmm7
2038
+ paddd %xmm1,%xmm5
2039
+ paddd %xmm2,%xmm6
2040
+ paddd %xmm3,%xmm7
2041
+ movdqa %xmm4,0(%rsp)
2042
+ movl %eax,%r14d
2043
+ movdqa %xmm5,16(%rsp)
2044
+ movl %ebx,%edi
2045
+ movdqa %xmm6,32(%rsp)
2046
+ xorl %ecx,%edi // magic
2047
+ movdqa %xmm7,48(%rsp)
2048
+ movl %r8d,%r13d
2049
+ jmp .Lssse3_00_47
2050
+
2051
+ .align 16
2052
+ .Lssse3_00_47:
2053
+ subq $-128,%rbp // size optimization
2054
+ rorl $14,%r13d
2055
+ movdqa %xmm1,%xmm4
2056
+ movl %r14d,%eax
2057
+ movl %r9d,%r12d
2058
+ movdqa %xmm3,%xmm7
2059
+ rorl $9,%r14d
2060
+ xorl %r8d,%r13d
2061
+ xorl %r10d,%r12d
2062
+ rorl $5,%r13d
2063
+ xorl %eax,%r14d
2064
+ palignr $4,%xmm0,%xmm4
2065
+ andl %r8d,%r12d
2066
+ xorl %r8d,%r13d
2067
+ palignr $4,%xmm2,%xmm7
2068
+ addl 0(%rsp),%r11d
2069
+ movl %eax,%r15d
2070
+ xorl %r10d,%r12d
2071
+ rorl $11,%r14d
2072
+ movdqa %xmm4,%xmm5
2073
+ xorl %ebx,%r15d
2074
+ addl %r12d,%r11d
2075
+ movdqa %xmm4,%xmm6
2076
+ rorl $6,%r13d
2077
+ andl %r15d,%edi
2078
+ psrld $3,%xmm4
2079
+ xorl %eax,%r14d
2080
+ addl %r13d,%r11d
2081
+ xorl %ebx,%edi
2082
+ paddd %xmm7,%xmm0
2083
+ rorl $2,%r14d
2084
+ addl %r11d,%edx
2085
+ psrld $7,%xmm6
2086
+ addl %edi,%r11d
2087
+ movl %edx,%r13d
2088
+ pshufd $250,%xmm3,%xmm7
2089
+ addl %r11d,%r14d
2090
+ rorl $14,%r13d
2091
+ pslld $14,%xmm5
2092
+ movl %r14d,%r11d
2093
+ movl %r8d,%r12d
2094
+ pxor %xmm6,%xmm4
2095
+ rorl $9,%r14d
2096
+ xorl %edx,%r13d
2097
+ xorl %r9d,%r12d
2098
+ rorl $5,%r13d
2099
+ psrld $11,%xmm6
2100
+ xorl %r11d,%r14d
2101
+ pxor %xmm5,%xmm4
2102
+ andl %edx,%r12d
2103
+ xorl %edx,%r13d
2104
+ pslld $11,%xmm5
2105
+ addl 4(%rsp),%r10d
2106
+ movl %r11d,%edi
2107
+ pxor %xmm6,%xmm4
2108
+ xorl %r9d,%r12d
2109
+ rorl $11,%r14d
2110
+ movdqa %xmm7,%xmm6
2111
+ xorl %eax,%edi
2112
+ addl %r12d,%r10d
2113
+ pxor %xmm5,%xmm4
2114
+ rorl $6,%r13d
2115
+ andl %edi,%r15d
2116
+ xorl %r11d,%r14d
2117
+ psrld $10,%xmm7
2118
+ addl %r13d,%r10d
2119
+ xorl %eax,%r15d
2120
+ paddd %xmm4,%xmm0
2121
+ rorl $2,%r14d
2122
+ addl %r10d,%ecx
2123
+ psrlq $17,%xmm6
2124
+ addl %r15d,%r10d
2125
+ movl %ecx,%r13d
2126
+ addl %r10d,%r14d
2127
+ pxor %xmm6,%xmm7
2128
+ rorl $14,%r13d
2129
+ movl %r14d,%r10d
2130
+ movl %edx,%r12d
2131
+ rorl $9,%r14d
2132
+ psrlq $2,%xmm6
2133
+ xorl %ecx,%r13d
2134
+ xorl %r8d,%r12d
2135
+ pxor %xmm6,%xmm7
2136
+ rorl $5,%r13d
2137
+ xorl %r10d,%r14d
2138
+ andl %ecx,%r12d
2139
+ pshufd $128,%xmm7,%xmm7
2140
+ xorl %ecx,%r13d
2141
+ addl 8(%rsp),%r9d
2142
+ movl %r10d,%r15d
2143
+ psrldq $8,%xmm7
2144
+ xorl %r8d,%r12d
2145
+ rorl $11,%r14d
2146
+ xorl %r11d,%r15d
2147
+ addl %r12d,%r9d
2148
+ rorl $6,%r13d
2149
+ paddd %xmm7,%xmm0
2150
+ andl %r15d,%edi
2151
+ xorl %r10d,%r14d
2152
+ addl %r13d,%r9d
2153
+ pshufd $80,%xmm0,%xmm7
2154
+ xorl %r11d,%edi
2155
+ rorl $2,%r14d
2156
+ addl %r9d,%ebx
2157
+ movdqa %xmm7,%xmm6
2158
+ addl %edi,%r9d
2159
+ movl %ebx,%r13d
2160
+ psrld $10,%xmm7
2161
+ addl %r9d,%r14d
2162
+ rorl $14,%r13d
2163
+ psrlq $17,%xmm6
2164
+ movl %r14d,%r9d
2165
+ movl %ecx,%r12d
2166
+ pxor %xmm6,%xmm7
2167
+ rorl $9,%r14d
2168
+ xorl %ebx,%r13d
2169
+ xorl %edx,%r12d
2170
+ rorl $5,%r13d
2171
+ xorl %r9d,%r14d
2172
+ psrlq $2,%xmm6
2173
+ andl %ebx,%r12d
2174
+ xorl %ebx,%r13d
2175
+ addl 12(%rsp),%r8d
2176
+ pxor %xmm6,%xmm7
2177
+ movl %r9d,%edi
2178
+ xorl %edx,%r12d
2179
+ rorl $11,%r14d
2180
+ pshufd $8,%xmm7,%xmm7
2181
+ xorl %r10d,%edi
2182
+ addl %r12d,%r8d
2183
+ movdqa 0(%rbp),%xmm6
2184
+ rorl $6,%r13d
2185
+ andl %edi,%r15d
2186
+ pslldq $8,%xmm7
2187
+ xorl %r9d,%r14d
2188
+ addl %r13d,%r8d
2189
+ xorl %r10d,%r15d
2190
+ paddd %xmm7,%xmm0
2191
+ rorl $2,%r14d
2192
+ addl %r8d,%eax
2193
+ addl %r15d,%r8d
2194
+ paddd %xmm0,%xmm6
2195
+ movl %eax,%r13d
2196
+ addl %r8d,%r14d
2197
+ movdqa %xmm6,0(%rsp)
2198
+ rorl $14,%r13d
2199
+ movdqa %xmm2,%xmm4
2200
+ movl %r14d,%r8d
2201
+ movl %ebx,%r12d
2202
+ movdqa %xmm0,%xmm7
2203
+ rorl $9,%r14d
2204
+ xorl %eax,%r13d
2205
+ xorl %ecx,%r12d
2206
+ rorl $5,%r13d
2207
+ xorl %r8d,%r14d
2208
+ palignr $4,%xmm1,%xmm4
2209
+ andl %eax,%r12d
2210
+ xorl %eax,%r13d
2211
+ palignr $4,%xmm3,%xmm7
2212
+ addl 16(%rsp),%edx
2213
+ movl %r8d,%r15d
2214
+ xorl %ecx,%r12d
2215
+ rorl $11,%r14d
2216
+ movdqa %xmm4,%xmm5
2217
+ xorl %r9d,%r15d
2218
+ addl %r12d,%edx
2219
+ movdqa %xmm4,%xmm6
2220
+ rorl $6,%r13d
2221
+ andl %r15d,%edi
2222
+ psrld $3,%xmm4
2223
+ xorl %r8d,%r14d
2224
+ addl %r13d,%edx
2225
+ xorl %r9d,%edi
2226
+ paddd %xmm7,%xmm1
2227
+ rorl $2,%r14d
2228
+ addl %edx,%r11d
2229
+ psrld $7,%xmm6
2230
+ addl %edi,%edx
2231
+ movl %r11d,%r13d
2232
+ pshufd $250,%xmm0,%xmm7
2233
+ addl %edx,%r14d
2234
+ rorl $14,%r13d
2235
+ pslld $14,%xmm5
2236
+ movl %r14d,%edx
2237
+ movl %eax,%r12d
2238
+ pxor %xmm6,%xmm4
2239
+ rorl $9,%r14d
2240
+ xorl %r11d,%r13d
2241
+ xorl %ebx,%r12d
2242
+ rorl $5,%r13d
2243
+ psrld $11,%xmm6
2244
+ xorl %edx,%r14d
2245
+ pxor %xmm5,%xmm4
2246
+ andl %r11d,%r12d
2247
+ xorl %r11d,%r13d
2248
+ pslld $11,%xmm5
2249
+ addl 20(%rsp),%ecx
2250
+ movl %edx,%edi
2251
+ pxor %xmm6,%xmm4
2252
+ xorl %ebx,%r12d
2253
+ rorl $11,%r14d
2254
+ movdqa %xmm7,%xmm6
2255
+ xorl %r8d,%edi
2256
+ addl %r12d,%ecx
2257
+ pxor %xmm5,%xmm4
2258
+ rorl $6,%r13d
2259
+ andl %edi,%r15d
2260
+ xorl %edx,%r14d
2261
+ psrld $10,%xmm7
2262
+ addl %r13d,%ecx
2263
+ xorl %r8d,%r15d
2264
+ paddd %xmm4,%xmm1
2265
+ rorl $2,%r14d
2266
+ addl %ecx,%r10d
2267
+ psrlq $17,%xmm6
2268
+ addl %r15d,%ecx
2269
+ movl %r10d,%r13d
2270
+ addl %ecx,%r14d
2271
+ pxor %xmm6,%xmm7
2272
+ rorl $14,%r13d
2273
+ movl %r14d,%ecx
2274
+ movl %r11d,%r12d
2275
+ rorl $9,%r14d
2276
+ psrlq $2,%xmm6
2277
+ xorl %r10d,%r13d
2278
+ xorl %eax,%r12d
2279
+ pxor %xmm6,%xmm7
2280
+ rorl $5,%r13d
2281
+ xorl %ecx,%r14d
2282
+ andl %r10d,%r12d
2283
+ pshufd $128,%xmm7,%xmm7
2284
+ xorl %r10d,%r13d
2285
+ addl 24(%rsp),%ebx
2286
+ movl %ecx,%r15d
2287
+ psrldq $8,%xmm7
2288
+ xorl %eax,%r12d
2289
+ rorl $11,%r14d
2290
+ xorl %edx,%r15d
2291
+ addl %r12d,%ebx
2292
+ rorl $6,%r13d
2293
+ paddd %xmm7,%xmm1
2294
+ andl %r15d,%edi
2295
+ xorl %ecx,%r14d
2296
+ addl %r13d,%ebx
2297
+ pshufd $80,%xmm1,%xmm7
2298
+ xorl %edx,%edi
2299
+ rorl $2,%r14d
2300
+ addl %ebx,%r9d
2301
+ movdqa %xmm7,%xmm6
2302
+ addl %edi,%ebx
2303
+ movl %r9d,%r13d
2304
+ psrld $10,%xmm7
2305
+ addl %ebx,%r14d
2306
+ rorl $14,%r13d
2307
+ psrlq $17,%xmm6
2308
+ movl %r14d,%ebx
2309
+ movl %r10d,%r12d
2310
+ pxor %xmm6,%xmm7
2311
+ rorl $9,%r14d
2312
+ xorl %r9d,%r13d
2313
+ xorl %r11d,%r12d
2314
+ rorl $5,%r13d
2315
+ xorl %ebx,%r14d
2316
+ psrlq $2,%xmm6
2317
+ andl %r9d,%r12d
2318
+ xorl %r9d,%r13d
2319
+ addl 28(%rsp),%eax
2320
+ pxor %xmm6,%xmm7
2321
+ movl %ebx,%edi
2322
+ xorl %r11d,%r12d
2323
+ rorl $11,%r14d
2324
+ pshufd $8,%xmm7,%xmm7
2325
+ xorl %ecx,%edi
2326
+ addl %r12d,%eax
2327
+ movdqa 32(%rbp),%xmm6
2328
+ rorl $6,%r13d
2329
+ andl %edi,%r15d
2330
+ pslldq $8,%xmm7
2331
+ xorl %ebx,%r14d
2332
+ addl %r13d,%eax
2333
+ xorl %ecx,%r15d
2334
+ paddd %xmm7,%xmm1
2335
+ rorl $2,%r14d
2336
+ addl %eax,%r8d
2337
+ addl %r15d,%eax
2338
+ paddd %xmm1,%xmm6
2339
+ movl %r8d,%r13d
2340
+ addl %eax,%r14d
2341
+ movdqa %xmm6,16(%rsp)
2342
+ rorl $14,%r13d
2343
+ movdqa %xmm3,%xmm4
2344
+ movl %r14d,%eax
2345
+ movl %r9d,%r12d
2346
+ movdqa %xmm1,%xmm7
2347
+ rorl $9,%r14d
2348
+ xorl %r8d,%r13d
2349
+ xorl %r10d,%r12d
2350
+ rorl $5,%r13d
2351
+ xorl %eax,%r14d
2352
+ palignr $4,%xmm2,%xmm4
2353
+ andl %r8d,%r12d
2354
+ xorl %r8d,%r13d
2355
+ palignr $4,%xmm0,%xmm7
2356
+ addl 32(%rsp),%r11d
2357
+ movl %eax,%r15d
2358
+ xorl %r10d,%r12d
2359
+ rorl $11,%r14d
2360
+ movdqa %xmm4,%xmm5
2361
+ xorl %ebx,%r15d
2362
+ addl %r12d,%r11d
2363
+ movdqa %xmm4,%xmm6
2364
+ rorl $6,%r13d
2365
+ andl %r15d,%edi
2366
+ psrld $3,%xmm4
2367
+ xorl %eax,%r14d
2368
+ addl %r13d,%r11d
2369
+ xorl %ebx,%edi
2370
+ paddd %xmm7,%xmm2
2371
+ rorl $2,%r14d
2372
+ addl %r11d,%edx
2373
+ psrld $7,%xmm6
2374
+ addl %edi,%r11d
2375
+ movl %edx,%r13d
2376
+ pshufd $250,%xmm1,%xmm7
2377
+ addl %r11d,%r14d
2378
+ rorl $14,%r13d
2379
+ pslld $14,%xmm5
2380
+ movl %r14d,%r11d
2381
+ movl %r8d,%r12d
2382
+ pxor %xmm6,%xmm4
2383
+ rorl $9,%r14d
2384
+ xorl %edx,%r13d
2385
+ xorl %r9d,%r12d
2386
+ rorl $5,%r13d
2387
+ psrld $11,%xmm6
2388
+ xorl %r11d,%r14d
2389
+ pxor %xmm5,%xmm4
2390
+ andl %edx,%r12d
2391
+ xorl %edx,%r13d
2392
+ pslld $11,%xmm5
2393
+ addl 36(%rsp),%r10d
2394
+ movl %r11d,%edi
2395
+ pxor %xmm6,%xmm4
2396
+ xorl %r9d,%r12d
2397
+ rorl $11,%r14d
2398
+ movdqa %xmm7,%xmm6
2399
+ xorl %eax,%edi
2400
+ addl %r12d,%r10d
2401
+ pxor %xmm5,%xmm4
2402
+ rorl $6,%r13d
2403
+ andl %edi,%r15d
2404
+ xorl %r11d,%r14d
2405
+ psrld $10,%xmm7
2406
+ addl %r13d,%r10d
2407
+ xorl %eax,%r15d
2408
+ paddd %xmm4,%xmm2
2409
+ rorl $2,%r14d
2410
+ addl %r10d,%ecx
2411
+ psrlq $17,%xmm6
2412
+ addl %r15d,%r10d
2413
+ movl %ecx,%r13d
2414
+ addl %r10d,%r14d
2415
+ pxor %xmm6,%xmm7
2416
+ rorl $14,%r13d
2417
+ movl %r14d,%r10d
2418
+ movl %edx,%r12d
2419
+ rorl $9,%r14d
2420
+ psrlq $2,%xmm6
2421
+ xorl %ecx,%r13d
2422
+ xorl %r8d,%r12d
2423
+ pxor %xmm6,%xmm7
2424
+ rorl $5,%r13d
2425
+ xorl %r10d,%r14d
2426
+ andl %ecx,%r12d
2427
+ pshufd $128,%xmm7,%xmm7
2428
+ xorl %ecx,%r13d
2429
+ addl 40(%rsp),%r9d
2430
+ movl %r10d,%r15d
2431
+ psrldq $8,%xmm7
2432
+ xorl %r8d,%r12d
2433
+ rorl $11,%r14d
2434
+ xorl %r11d,%r15d
2435
+ addl %r12d,%r9d
2436
+ rorl $6,%r13d
2437
+ paddd %xmm7,%xmm2
2438
+ andl %r15d,%edi
2439
+ xorl %r10d,%r14d
2440
+ addl %r13d,%r9d
2441
+ pshufd $80,%xmm2,%xmm7
2442
+ xorl %r11d,%edi
2443
+ rorl $2,%r14d
2444
+ addl %r9d,%ebx
2445
+ movdqa %xmm7,%xmm6
2446
+ addl %edi,%r9d
2447
+ movl %ebx,%r13d
2448
+ psrld $10,%xmm7
2449
+ addl %r9d,%r14d
2450
+ rorl $14,%r13d
2451
+ psrlq $17,%xmm6
2452
+ movl %r14d,%r9d
2453
+ movl %ecx,%r12d
2454
+ pxor %xmm6,%xmm7
2455
+ rorl $9,%r14d
2456
+ xorl %ebx,%r13d
2457
+ xorl %edx,%r12d
2458
+ rorl $5,%r13d
2459
+ xorl %r9d,%r14d
2460
+ psrlq $2,%xmm6
2461
+ andl %ebx,%r12d
2462
+ xorl %ebx,%r13d
2463
+ addl 44(%rsp),%r8d
2464
+ pxor %xmm6,%xmm7
2465
+ movl %r9d,%edi
2466
+ xorl %edx,%r12d
2467
+ rorl $11,%r14d
2468
+ pshufd $8,%xmm7,%xmm7
2469
+ xorl %r10d,%edi
2470
+ addl %r12d,%r8d
2471
+ movdqa 64(%rbp),%xmm6
2472
+ rorl $6,%r13d
2473
+ andl %edi,%r15d
2474
+ pslldq $8,%xmm7
2475
+ xorl %r9d,%r14d
2476
+ addl %r13d,%r8d
2477
+ xorl %r10d,%r15d
2478
+ paddd %xmm7,%xmm2
2479
+ rorl $2,%r14d
2480
+ addl %r8d,%eax
2481
+ addl %r15d,%r8d
2482
+ paddd %xmm2,%xmm6
2483
+ movl %eax,%r13d
2484
+ addl %r8d,%r14d
2485
+ movdqa %xmm6,32(%rsp)
2486
+ rorl $14,%r13d
2487
+ movdqa %xmm0,%xmm4
2488
+ movl %r14d,%r8d
2489
+ movl %ebx,%r12d
2490
+ movdqa %xmm2,%xmm7
2491
+ rorl $9,%r14d
2492
+ xorl %eax,%r13d
2493
+ xorl %ecx,%r12d
2494
+ rorl $5,%r13d
2495
+ xorl %r8d,%r14d
2496
+ palignr $4,%xmm3,%xmm4
2497
+ andl %eax,%r12d
2498
+ xorl %eax,%r13d
2499
+ palignr $4,%xmm1,%xmm7
2500
+ addl 48(%rsp),%edx
2501
+ movl %r8d,%r15d
2502
+ xorl %ecx,%r12d
2503
+ rorl $11,%r14d
2504
+ movdqa %xmm4,%xmm5
2505
+ xorl %r9d,%r15d
2506
+ addl %r12d,%edx
2507
+ movdqa %xmm4,%xmm6
2508
+ rorl $6,%r13d
2509
+ andl %r15d,%edi
2510
+ psrld $3,%xmm4
2511
+ xorl %r8d,%r14d
2512
+ addl %r13d,%edx
2513
+ xorl %r9d,%edi
2514
+ paddd %xmm7,%xmm3
2515
+ rorl $2,%r14d
2516
+ addl %edx,%r11d
2517
+ psrld $7,%xmm6
2518
+ addl %edi,%edx
2519
+ movl %r11d,%r13d
2520
+ pshufd $250,%xmm2,%xmm7
2521
+ addl %edx,%r14d
2522
+ rorl $14,%r13d
2523
+ pslld $14,%xmm5
2524
+ movl %r14d,%edx
2525
+ movl %eax,%r12d
2526
+ pxor %xmm6,%xmm4
2527
+ rorl $9,%r14d
2528
+ xorl %r11d,%r13d
2529
+ xorl %ebx,%r12d
2530
+ rorl $5,%r13d
2531
+ psrld $11,%xmm6
2532
+ xorl %edx,%r14d
2533
+ pxor %xmm5,%xmm4
2534
+ andl %r11d,%r12d
2535
+ xorl %r11d,%r13d
2536
+ pslld $11,%xmm5
2537
+ addl 52(%rsp),%ecx
2538
+ movl %edx,%edi
2539
+ pxor %xmm6,%xmm4
2540
+ xorl %ebx,%r12d
2541
+ rorl $11,%r14d
2542
+ movdqa %xmm7,%xmm6
2543
+ xorl %r8d,%edi
2544
+ addl %r12d,%ecx
2545
+ pxor %xmm5,%xmm4
2546
+ rorl $6,%r13d
2547
+ andl %edi,%r15d
2548
+ xorl %edx,%r14d
2549
+ psrld $10,%xmm7
2550
+ addl %r13d,%ecx
2551
+ xorl %r8d,%r15d
2552
+ paddd %xmm4,%xmm3
2553
+ rorl $2,%r14d
2554
+ addl %ecx,%r10d
2555
+ psrlq $17,%xmm6
2556
+ addl %r15d,%ecx
2557
+ movl %r10d,%r13d
2558
+ addl %ecx,%r14d
2559
+ pxor %xmm6,%xmm7
2560
+ rorl $14,%r13d
2561
+ movl %r14d,%ecx
2562
+ movl %r11d,%r12d
2563
+ rorl $9,%r14d
2564
+ psrlq $2,%xmm6
2565
+ xorl %r10d,%r13d
2566
+ xorl %eax,%r12d
2567
+ pxor %xmm6,%xmm7
2568
+ rorl $5,%r13d
2569
+ xorl %ecx,%r14d
2570
+ andl %r10d,%r12d
2571
+ pshufd $128,%xmm7,%xmm7
2572
+ xorl %r10d,%r13d
2573
+ addl 56(%rsp),%ebx
2574
+ movl %ecx,%r15d
2575
+ psrldq $8,%xmm7
2576
+ xorl %eax,%r12d
2577
+ rorl $11,%r14d
2578
+ xorl %edx,%r15d
2579
+ addl %r12d,%ebx
2580
+ rorl $6,%r13d
2581
+ paddd %xmm7,%xmm3
2582
+ andl %r15d,%edi
2583
+ xorl %ecx,%r14d
2584
+ addl %r13d,%ebx
2585
+ pshufd $80,%xmm3,%xmm7
2586
+ xorl %edx,%edi
2587
+ rorl $2,%r14d
2588
+ addl %ebx,%r9d
2589
+ movdqa %xmm7,%xmm6
2590
+ addl %edi,%ebx
2591
+ movl %r9d,%r13d
2592
+ psrld $10,%xmm7
2593
+ addl %ebx,%r14d
2594
+ rorl $14,%r13d
2595
+ psrlq $17,%xmm6
2596
+ movl %r14d,%ebx
2597
+ movl %r10d,%r12d
2598
+ pxor %xmm6,%xmm7
2599
+ rorl $9,%r14d
2600
+ xorl %r9d,%r13d
2601
+ xorl %r11d,%r12d
2602
+ rorl $5,%r13d
2603
+ xorl %ebx,%r14d
2604
+ psrlq $2,%xmm6
2605
+ andl %r9d,%r12d
2606
+ xorl %r9d,%r13d
2607
+ addl 60(%rsp),%eax
2608
+ pxor %xmm6,%xmm7
2609
+ movl %ebx,%edi
2610
+ xorl %r11d,%r12d
2611
+ rorl $11,%r14d
2612
+ pshufd $8,%xmm7,%xmm7
2613
+ xorl %ecx,%edi
2614
+ addl %r12d,%eax
2615
+ movdqa 96(%rbp),%xmm6
2616
+ rorl $6,%r13d
2617
+ andl %edi,%r15d
2618
+ pslldq $8,%xmm7
2619
+ xorl %ebx,%r14d
2620
+ addl %r13d,%eax
2621
+ xorl %ecx,%r15d
2622
+ paddd %xmm7,%xmm3
2623
+ rorl $2,%r14d
2624
+ addl %eax,%r8d
2625
+ addl %r15d,%eax
2626
+ paddd %xmm3,%xmm6
2627
+ movl %r8d,%r13d
2628
+ addl %eax,%r14d
2629
+ movdqa %xmm6,48(%rsp)
2630
+ cmpb $0,131(%rbp)
2631
+ jne .Lssse3_00_47
2632
+ rorl $14,%r13d
2633
+ movl %r14d,%eax
2634
+ movl %r9d,%r12d
2635
+ rorl $9,%r14d
2636
+ xorl %r8d,%r13d
2637
+ xorl %r10d,%r12d
2638
+ rorl $5,%r13d
2639
+ xorl %eax,%r14d
2640
+ andl %r8d,%r12d
2641
+ xorl %r8d,%r13d
2642
+ addl 0(%rsp),%r11d
2643
+ movl %eax,%r15d
2644
+ xorl %r10d,%r12d
2645
+ rorl $11,%r14d
2646
+ xorl %ebx,%r15d
2647
+ addl %r12d,%r11d
2648
+ rorl $6,%r13d
2649
+ andl %r15d,%edi
2650
+ xorl %eax,%r14d
2651
+ addl %r13d,%r11d
2652
+ xorl %ebx,%edi
2653
+ rorl $2,%r14d
2654
+ addl %r11d,%edx
2655
+ addl %edi,%r11d
2656
+ movl %edx,%r13d
2657
+ addl %r11d,%r14d
2658
+ rorl $14,%r13d
2659
+ movl %r14d,%r11d
2660
+ movl %r8d,%r12d
2661
+ rorl $9,%r14d
2662
+ xorl %edx,%r13d
2663
+ xorl %r9d,%r12d
2664
+ rorl $5,%r13d
2665
+ xorl %r11d,%r14d
2666
+ andl %edx,%r12d
2667
+ xorl %edx,%r13d
2668
+ addl 4(%rsp),%r10d
2669
+ movl %r11d,%edi
2670
+ xorl %r9d,%r12d
2671
+ rorl $11,%r14d
2672
+ xorl %eax,%edi
2673
+ addl %r12d,%r10d
2674
+ rorl $6,%r13d
2675
+ andl %edi,%r15d
2676
+ xorl %r11d,%r14d
2677
+ addl %r13d,%r10d
2678
+ xorl %eax,%r15d
2679
+ rorl $2,%r14d
2680
+ addl %r10d,%ecx
2681
+ addl %r15d,%r10d
2682
+ movl %ecx,%r13d
2683
+ addl %r10d,%r14d
2684
+ rorl $14,%r13d
2685
+ movl %r14d,%r10d
2686
+ movl %edx,%r12d
2687
+ rorl $9,%r14d
2688
+ xorl %ecx,%r13d
2689
+ xorl %r8d,%r12d
2690
+ rorl $5,%r13d
2691
+ xorl %r10d,%r14d
2692
+ andl %ecx,%r12d
2693
+ xorl %ecx,%r13d
2694
+ addl 8(%rsp),%r9d
2695
+ movl %r10d,%r15d
2696
+ xorl %r8d,%r12d
2697
+ rorl $11,%r14d
2698
+ xorl %r11d,%r15d
2699
+ addl %r12d,%r9d
2700
+ rorl $6,%r13d
2701
+ andl %r15d,%edi
2702
+ xorl %r10d,%r14d
2703
+ addl %r13d,%r9d
2704
+ xorl %r11d,%edi
2705
+ rorl $2,%r14d
2706
+ addl %r9d,%ebx
2707
+ addl %edi,%r9d
2708
+ movl %ebx,%r13d
2709
+ addl %r9d,%r14d
2710
+ rorl $14,%r13d
2711
+ movl %r14d,%r9d
2712
+ movl %ecx,%r12d
2713
+ rorl $9,%r14d
2714
+ xorl %ebx,%r13d
2715
+ xorl %edx,%r12d
2716
+ rorl $5,%r13d
2717
+ xorl %r9d,%r14d
2718
+ andl %ebx,%r12d
2719
+ xorl %ebx,%r13d
2720
+ addl 12(%rsp),%r8d
2721
+ movl %r9d,%edi
2722
+ xorl %edx,%r12d
2723
+ rorl $11,%r14d
2724
+ xorl %r10d,%edi
2725
+ addl %r12d,%r8d
2726
+ rorl $6,%r13d
2727
+ andl %edi,%r15d
2728
+ xorl %r9d,%r14d
2729
+ addl %r13d,%r8d
2730
+ xorl %r10d,%r15d
2731
+ rorl $2,%r14d
2732
+ addl %r8d,%eax
2733
+ addl %r15d,%r8d
2734
+ movl %eax,%r13d
2735
+ addl %r8d,%r14d
2736
+ rorl $14,%r13d
2737
+ movl %r14d,%r8d
2738
+ movl %ebx,%r12d
2739
+ rorl $9,%r14d
2740
+ xorl %eax,%r13d
2741
+ xorl %ecx,%r12d
2742
+ rorl $5,%r13d
2743
+ xorl %r8d,%r14d
2744
+ andl %eax,%r12d
2745
+ xorl %eax,%r13d
2746
+ addl 16(%rsp),%edx
2747
+ movl %r8d,%r15d
2748
+ xorl %ecx,%r12d
2749
+ rorl $11,%r14d
2750
+ xorl %r9d,%r15d
2751
+ addl %r12d,%edx
2752
+ rorl $6,%r13d
2753
+ andl %r15d,%edi
2754
+ xorl %r8d,%r14d
2755
+ addl %r13d,%edx
2756
+ xorl %r9d,%edi
2757
+ rorl $2,%r14d
2758
+ addl %edx,%r11d
2759
+ addl %edi,%edx
2760
+ movl %r11d,%r13d
2761
+ addl %edx,%r14d
2762
+ rorl $14,%r13d
2763
+ movl %r14d,%edx
2764
+ movl %eax,%r12d
2765
+ rorl $9,%r14d
2766
+ xorl %r11d,%r13d
2767
+ xorl %ebx,%r12d
2768
+ rorl $5,%r13d
2769
+ xorl %edx,%r14d
2770
+ andl %r11d,%r12d
2771
+ xorl %r11d,%r13d
2772
+ addl 20(%rsp),%ecx
2773
+ movl %edx,%edi
2774
+ xorl %ebx,%r12d
2775
+ rorl $11,%r14d
2776
+ xorl %r8d,%edi
2777
+ addl %r12d,%ecx
2778
+ rorl $6,%r13d
2779
+ andl %edi,%r15d
2780
+ xorl %edx,%r14d
2781
+ addl %r13d,%ecx
2782
+ xorl %r8d,%r15d
2783
+ rorl $2,%r14d
2784
+ addl %ecx,%r10d
2785
+ addl %r15d,%ecx
2786
+ movl %r10d,%r13d
2787
+ addl %ecx,%r14d
2788
+ rorl $14,%r13d
2789
+ movl %r14d,%ecx
2790
+ movl %r11d,%r12d
2791
+ rorl $9,%r14d
2792
+ xorl %r10d,%r13d
2793
+ xorl %eax,%r12d
2794
+ rorl $5,%r13d
2795
+ xorl %ecx,%r14d
2796
+ andl %r10d,%r12d
2797
+ xorl %r10d,%r13d
2798
+ addl 24(%rsp),%ebx
2799
+ movl %ecx,%r15d
2800
+ xorl %eax,%r12d
2801
+ rorl $11,%r14d
2802
+ xorl %edx,%r15d
2803
+ addl %r12d,%ebx
2804
+ rorl $6,%r13d
2805
+ andl %r15d,%edi
2806
+ xorl %ecx,%r14d
2807
+ addl %r13d,%ebx
2808
+ xorl %edx,%edi
2809
+ rorl $2,%r14d
2810
+ addl %ebx,%r9d
2811
+ addl %edi,%ebx
2812
+ movl %r9d,%r13d
2813
+ addl %ebx,%r14d
2814
+ rorl $14,%r13d
2815
+ movl %r14d,%ebx
2816
+ movl %r10d,%r12d
2817
+ rorl $9,%r14d
2818
+ xorl %r9d,%r13d
2819
+ xorl %r11d,%r12d
2820
+ rorl $5,%r13d
2821
+ xorl %ebx,%r14d
2822
+ andl %r9d,%r12d
2823
+ xorl %r9d,%r13d
2824
+ addl 28(%rsp),%eax
2825
+ movl %ebx,%edi
2826
+ xorl %r11d,%r12d
2827
+ rorl $11,%r14d
2828
+ xorl %ecx,%edi
2829
+ addl %r12d,%eax
2830
+ rorl $6,%r13d
2831
+ andl %edi,%r15d
2832
+ xorl %ebx,%r14d
2833
+ addl %r13d,%eax
2834
+ xorl %ecx,%r15d
2835
+ rorl $2,%r14d
2836
+ addl %eax,%r8d
2837
+ addl %r15d,%eax
2838
+ movl %r8d,%r13d
2839
+ addl %eax,%r14d
2840
+ rorl $14,%r13d
2841
+ movl %r14d,%eax
2842
+ movl %r9d,%r12d
2843
+ rorl $9,%r14d
2844
+ xorl %r8d,%r13d
2845
+ xorl %r10d,%r12d
2846
+ rorl $5,%r13d
2847
+ xorl %eax,%r14d
2848
+ andl %r8d,%r12d
2849
+ xorl %r8d,%r13d
2850
+ addl 32(%rsp),%r11d
2851
+ movl %eax,%r15d
2852
+ xorl %r10d,%r12d
2853
+ rorl $11,%r14d
2854
+ xorl %ebx,%r15d
2855
+ addl %r12d,%r11d
2856
+ rorl $6,%r13d
2857
+ andl %r15d,%edi
2858
+ xorl %eax,%r14d
2859
+ addl %r13d,%r11d
2860
+ xorl %ebx,%edi
2861
+ rorl $2,%r14d
2862
+ addl %r11d,%edx
2863
+ addl %edi,%r11d
2864
+ movl %edx,%r13d
2865
+ addl %r11d,%r14d
2866
+ rorl $14,%r13d
2867
+ movl %r14d,%r11d
2868
+ movl %r8d,%r12d
2869
+ rorl $9,%r14d
2870
+ xorl %edx,%r13d
2871
+ xorl %r9d,%r12d
2872
+ rorl $5,%r13d
2873
+ xorl %r11d,%r14d
2874
+ andl %edx,%r12d
2875
+ xorl %edx,%r13d
2876
+ addl 36(%rsp),%r10d
2877
+ movl %r11d,%edi
2878
+ xorl %r9d,%r12d
2879
+ rorl $11,%r14d
2880
+ xorl %eax,%edi
2881
+ addl %r12d,%r10d
2882
+ rorl $6,%r13d
2883
+ andl %edi,%r15d
2884
+ xorl %r11d,%r14d
2885
+ addl %r13d,%r10d
2886
+ xorl %eax,%r15d
2887
+ rorl $2,%r14d
2888
+ addl %r10d,%ecx
2889
+ addl %r15d,%r10d
2890
+ movl %ecx,%r13d
2891
+ addl %r10d,%r14d
2892
+ rorl $14,%r13d
2893
+ movl %r14d,%r10d
2894
+ movl %edx,%r12d
2895
+ rorl $9,%r14d
2896
+ xorl %ecx,%r13d
2897
+ xorl %r8d,%r12d
2898
+ rorl $5,%r13d
2899
+ xorl %r10d,%r14d
2900
+ andl %ecx,%r12d
2901
+ xorl %ecx,%r13d
2902
+ addl 40(%rsp),%r9d
2903
+ movl %r10d,%r15d
2904
+ xorl %r8d,%r12d
2905
+ rorl $11,%r14d
2906
+ xorl %r11d,%r15d
2907
+ addl %r12d,%r9d
2908
+ rorl $6,%r13d
2909
+ andl %r15d,%edi
2910
+ xorl %r10d,%r14d
2911
+ addl %r13d,%r9d
2912
+ xorl %r11d,%edi
2913
+ rorl $2,%r14d
2914
+ addl %r9d,%ebx
2915
+ addl %edi,%r9d
2916
+ movl %ebx,%r13d
2917
+ addl %r9d,%r14d
2918
+ rorl $14,%r13d
2919
+ movl %r14d,%r9d
2920
+ movl %ecx,%r12d
2921
+ rorl $9,%r14d
2922
+ xorl %ebx,%r13d
2923
+ xorl %edx,%r12d
2924
+ rorl $5,%r13d
2925
+ xorl %r9d,%r14d
2926
+ andl %ebx,%r12d
2927
+ xorl %ebx,%r13d
2928
+ addl 44(%rsp),%r8d
2929
+ movl %r9d,%edi
2930
+ xorl %edx,%r12d
2931
+ rorl $11,%r14d
2932
+ xorl %r10d,%edi
2933
+ addl %r12d,%r8d
2934
+ rorl $6,%r13d
2935
+ andl %edi,%r15d
2936
+ xorl %r9d,%r14d
2937
+ addl %r13d,%r8d
2938
+ xorl %r10d,%r15d
2939
+ rorl $2,%r14d
2940
+ addl %r8d,%eax
2941
+ addl %r15d,%r8d
2942
+ movl %eax,%r13d
2943
+ addl %r8d,%r14d
2944
+ rorl $14,%r13d
2945
+ movl %r14d,%r8d
2946
+ movl %ebx,%r12d
2947
+ rorl $9,%r14d
2948
+ xorl %eax,%r13d
2949
+ xorl %ecx,%r12d
2950
+ rorl $5,%r13d
2951
+ xorl %r8d,%r14d
2952
+ andl %eax,%r12d
2953
+ xorl %eax,%r13d
2954
+ addl 48(%rsp),%edx
2955
+ movl %r8d,%r15d
2956
+ xorl %ecx,%r12d
2957
+ rorl $11,%r14d
2958
+ xorl %r9d,%r15d
2959
+ addl %r12d,%edx
2960
+ rorl $6,%r13d
2961
+ andl %r15d,%edi
2962
+ xorl %r8d,%r14d
2963
+ addl %r13d,%edx
2964
+ xorl %r9d,%edi
2965
+ rorl $2,%r14d
2966
+ addl %edx,%r11d
2967
+ addl %edi,%edx
2968
+ movl %r11d,%r13d
2969
+ addl %edx,%r14d
2970
+ rorl $14,%r13d
2971
+ movl %r14d,%edx
2972
+ movl %eax,%r12d
2973
+ rorl $9,%r14d
2974
+ xorl %r11d,%r13d
2975
+ xorl %ebx,%r12d
2976
+ rorl $5,%r13d
2977
+ xorl %edx,%r14d
2978
+ andl %r11d,%r12d
2979
+ xorl %r11d,%r13d
2980
+ addl 52(%rsp),%ecx
2981
+ movl %edx,%edi
2982
+ xorl %ebx,%r12d
2983
+ rorl $11,%r14d
2984
+ xorl %r8d,%edi
2985
+ addl %r12d,%ecx
2986
+ rorl $6,%r13d
2987
+ andl %edi,%r15d
2988
+ xorl %edx,%r14d
2989
+ addl %r13d,%ecx
2990
+ xorl %r8d,%r15d
2991
+ rorl $2,%r14d
2992
+ addl %ecx,%r10d
2993
+ addl %r15d,%ecx
2994
+ movl %r10d,%r13d
2995
+ addl %ecx,%r14d
2996
+ rorl $14,%r13d
2997
+ movl %r14d,%ecx
2998
+ movl %r11d,%r12d
2999
+ rorl $9,%r14d
3000
+ xorl %r10d,%r13d
3001
+ xorl %eax,%r12d
3002
+ rorl $5,%r13d
3003
+ xorl %ecx,%r14d
3004
+ andl %r10d,%r12d
3005
+ xorl %r10d,%r13d
3006
+ addl 56(%rsp),%ebx
3007
+ movl %ecx,%r15d
3008
+ xorl %eax,%r12d
3009
+ rorl $11,%r14d
3010
+ xorl %edx,%r15d
3011
+ addl %r12d,%ebx
3012
+ rorl $6,%r13d
3013
+ andl %r15d,%edi
3014
+ xorl %ecx,%r14d
3015
+ addl %r13d,%ebx
3016
+ xorl %edx,%edi
3017
+ rorl $2,%r14d
3018
+ addl %ebx,%r9d
3019
+ addl %edi,%ebx
3020
+ movl %r9d,%r13d
3021
+ addl %ebx,%r14d
3022
+ rorl $14,%r13d
3023
+ movl %r14d,%ebx
3024
+ movl %r10d,%r12d
3025
+ rorl $9,%r14d
3026
+ xorl %r9d,%r13d
3027
+ xorl %r11d,%r12d
3028
+ rorl $5,%r13d
3029
+ xorl %ebx,%r14d
3030
+ andl %r9d,%r12d
3031
+ xorl %r9d,%r13d
3032
+ addl 60(%rsp),%eax
3033
+ movl %ebx,%edi
3034
+ xorl %r11d,%r12d
3035
+ rorl $11,%r14d
3036
+ xorl %ecx,%edi
3037
+ addl %r12d,%eax
3038
+ rorl $6,%r13d
3039
+ andl %edi,%r15d
3040
+ xorl %ebx,%r14d
3041
+ addl %r13d,%eax
3042
+ xorl %ecx,%r15d
3043
+ rorl $2,%r14d
3044
+ addl %eax,%r8d
3045
+ addl %r15d,%eax
3046
+ movl %r8d,%r13d
3047
+ addl %eax,%r14d
3048
+ movq 64+0(%rsp),%rdi
3049
+ movl %r14d,%eax
3050
+
3051
+ addl 0(%rdi),%eax
3052
+ leaq 64(%rsi),%rsi
3053
+ addl 4(%rdi),%ebx
3054
+ addl 8(%rdi),%ecx
3055
+ addl 12(%rdi),%edx
3056
+ addl 16(%rdi),%r8d
3057
+ addl 20(%rdi),%r9d
3058
+ addl 24(%rdi),%r10d
3059
+ addl 28(%rdi),%r11d
3060
+
3061
+ cmpq 64+16(%rsp),%rsi
3062
+
3063
+ movl %eax,0(%rdi)
3064
+ movl %ebx,4(%rdi)
3065
+ movl %ecx,8(%rdi)
3066
+ movl %edx,12(%rdi)
3067
+ movl %r8d,16(%rdi)
3068
+ movl %r9d,20(%rdi)
3069
+ movl %r10d,24(%rdi)
3070
+ movl %r11d,28(%rdi)
3071
+ jb .Lloop_ssse3
3072
+
3073
+ movq 88(%rsp),%rsi
3074
+ .cfi_def_cfa %rsi,8
3075
+ movq -48(%rsi),%r15
3076
+ .cfi_restore %r15
3077
+ movq -40(%rsi),%r14
3078
+ .cfi_restore %r14
3079
+ movq -32(%rsi),%r13
3080
+ .cfi_restore %r13
3081
+ movq -24(%rsi),%r12
3082
+ .cfi_restore %r12
3083
+ movq -16(%rsi),%rbp
3084
+ .cfi_restore %rbp
3085
+ movq -8(%rsi),%rbx
3086
+ .cfi_restore %rbx
3087
+ leaq (%rsi),%rsp
3088
+ .cfi_def_cfa_register %rsp
3089
+ .Lepilogue_ssse3:
3090
+ ret
3091
+ .cfi_endproc
3092
+ .size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3093
+ .globl sha256_block_data_order_avx
3094
+ .hidden sha256_block_data_order_avx
3095
+ .type sha256_block_data_order_avx,@function
3096
+ .align 64
3097
+ sha256_block_data_order_avx:
3098
+ .cfi_startproc
3099
+ _CET_ENDBR
3100
+ movq %rsp,%rax // copy %rsp
3101
+ .cfi_def_cfa_register %rax
3102
+ pushq %rbx
3103
+ .cfi_offset %rbx,-16
3104
+ pushq %rbp
3105
+ .cfi_offset %rbp,-24
3106
+ pushq %r12
3107
+ .cfi_offset %r12,-32
3108
+ pushq %r13
3109
+ .cfi_offset %r13,-40
3110
+ pushq %r14
3111
+ .cfi_offset %r14,-48
3112
+ pushq %r15
3113
+ .cfi_offset %r15,-56
3114
+ shlq $4,%rdx // num*16
3115
+ subq $96,%rsp
3116
+ leaq (%rsi,%rdx,4),%rdx // inp+num*16*4
3117
+ andq $-64,%rsp // align stack frame
3118
+ movq %rdi,64+0(%rsp) // save ctx, 1st arg
3119
+ movq %rsi,64+8(%rsp) // save inp, 2nd arh
3120
+ movq %rdx,64+16(%rsp) // save end pointer, "3rd" arg
3121
+ movq %rax,88(%rsp) // save copy of %rsp
3122
+ .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3123
+ .Lprologue_avx:
3124
+
3125
+ vzeroupper
3126
+ movl 0(%rdi),%eax
3127
+ movl 4(%rdi),%ebx
3128
+ movl 8(%rdi),%ecx
3129
+ movl 12(%rdi),%edx
3130
+ movl 16(%rdi),%r8d
3131
+ movl 20(%rdi),%r9d
3132
+ movl 24(%rdi),%r10d
3133
+ movl 28(%rdi),%r11d
3134
+ vmovdqa K256+512+32(%rip),%xmm8
3135
+ vmovdqa K256+512+64(%rip),%xmm9
3136
+ jmp .Lloop_avx
3137
+ .align 16
3138
+ .Lloop_avx:
3139
+ vmovdqa K256+512(%rip),%xmm7
3140
+ vmovdqu 0(%rsi),%xmm0
3141
+ vmovdqu 16(%rsi),%xmm1
3142
+ vmovdqu 32(%rsi),%xmm2
3143
+ vmovdqu 48(%rsi),%xmm3
3144
+ vpshufb %xmm7,%xmm0,%xmm0
3145
+ leaq K256(%rip),%rbp
3146
+ vpshufb %xmm7,%xmm1,%xmm1
3147
+ vpshufb %xmm7,%xmm2,%xmm2
3148
+ vpaddd 0(%rbp),%xmm0,%xmm4
3149
+ vpshufb %xmm7,%xmm3,%xmm3
3150
+ vpaddd 32(%rbp),%xmm1,%xmm5
3151
+ vpaddd 64(%rbp),%xmm2,%xmm6
3152
+ vpaddd 96(%rbp),%xmm3,%xmm7
3153
+ vmovdqa %xmm4,0(%rsp)
3154
+ movl %eax,%r14d
3155
+ vmovdqa %xmm5,16(%rsp)
3156
+ movl %ebx,%edi
3157
+ vmovdqa %xmm6,32(%rsp)
3158
+ xorl %ecx,%edi // magic
3159
+ vmovdqa %xmm7,48(%rsp)
3160
+ movl %r8d,%r13d
3161
+ jmp .Lavx_00_47
3162
+
3163
+ .align 16
3164
+ .Lavx_00_47:
3165
+ subq $-128,%rbp // size optimization
3166
+ vpalignr $4,%xmm0,%xmm1,%xmm4
3167
+ shrdl $14,%r13d,%r13d
3168
+ movl %r14d,%eax
3169
+ movl %r9d,%r12d
3170
+ vpalignr $4,%xmm2,%xmm3,%xmm7
3171
+ shrdl $9,%r14d,%r14d
3172
+ xorl %r8d,%r13d
3173
+ xorl %r10d,%r12d
3174
+ vpsrld $7,%xmm4,%xmm6
3175
+ shrdl $5,%r13d,%r13d
3176
+ xorl %eax,%r14d
3177
+ andl %r8d,%r12d
3178
+ vpaddd %xmm7,%xmm0,%xmm0
3179
+ xorl %r8d,%r13d
3180
+ addl 0(%rsp),%r11d
3181
+ movl %eax,%r15d
3182
+ vpsrld $3,%xmm4,%xmm7
3183
+ xorl %r10d,%r12d
3184
+ shrdl $11,%r14d,%r14d
3185
+ xorl %ebx,%r15d
3186
+ vpslld $14,%xmm4,%xmm5
3187
+ addl %r12d,%r11d
3188
+ shrdl $6,%r13d,%r13d
3189
+ andl %r15d,%edi
3190
+ vpxor %xmm6,%xmm7,%xmm4
3191
+ xorl %eax,%r14d
3192
+ addl %r13d,%r11d
3193
+ xorl %ebx,%edi
3194
+ vpshufd $250,%xmm3,%xmm7
3195
+ shrdl $2,%r14d,%r14d
3196
+ addl %r11d,%edx
3197
+ addl %edi,%r11d
3198
+ vpsrld $11,%xmm6,%xmm6
3199
+ movl %edx,%r13d
3200
+ addl %r11d,%r14d
3201
+ shrdl $14,%r13d,%r13d
3202
+ vpxor %xmm5,%xmm4,%xmm4
3203
+ movl %r14d,%r11d
3204
+ movl %r8d,%r12d
3205
+ shrdl $9,%r14d,%r14d
3206
+ vpslld $11,%xmm5,%xmm5
3207
+ xorl %edx,%r13d
3208
+ xorl %r9d,%r12d
3209
+ shrdl $5,%r13d,%r13d
3210
+ vpxor %xmm6,%xmm4,%xmm4
3211
+ xorl %r11d,%r14d
3212
+ andl %edx,%r12d
3213
+ xorl %edx,%r13d
3214
+ vpsrld $10,%xmm7,%xmm6
3215
+ addl 4(%rsp),%r10d
3216
+ movl %r11d,%edi
3217
+ xorl %r9d,%r12d
3218
+ vpxor %xmm5,%xmm4,%xmm4
3219
+ shrdl $11,%r14d,%r14d
3220
+ xorl %eax,%edi
3221
+ addl %r12d,%r10d
3222
+ vpsrlq $17,%xmm7,%xmm7
3223
+ shrdl $6,%r13d,%r13d
3224
+ andl %edi,%r15d
3225
+ xorl %r11d,%r14d
3226
+ vpaddd %xmm4,%xmm0,%xmm0
3227
+ addl %r13d,%r10d
3228
+ xorl %eax,%r15d
3229
+ shrdl $2,%r14d,%r14d
3230
+ vpxor %xmm7,%xmm6,%xmm6
3231
+ addl %r10d,%ecx
3232
+ addl %r15d,%r10d
3233
+ movl %ecx,%r13d
3234
+ vpsrlq $2,%xmm7,%xmm7
3235
+ addl %r10d,%r14d
3236
+ shrdl $14,%r13d,%r13d
3237
+ movl %r14d,%r10d
3238
+ vpxor %xmm7,%xmm6,%xmm6
3239
+ movl %edx,%r12d
3240
+ shrdl $9,%r14d,%r14d
3241
+ xorl %ecx,%r13d
3242
+ vpshufb %xmm8,%xmm6,%xmm6
3243
+ xorl %r8d,%r12d
3244
+ shrdl $5,%r13d,%r13d
3245
+ xorl %r10d,%r14d
3246
+ vpaddd %xmm6,%xmm0,%xmm0
3247
+ andl %ecx,%r12d
3248
+ xorl %ecx,%r13d
3249
+ addl 8(%rsp),%r9d
3250
+ vpshufd $80,%xmm0,%xmm7
3251
+ movl %r10d,%r15d
3252
+ xorl %r8d,%r12d
3253
+ shrdl $11,%r14d,%r14d
3254
+ vpsrld $10,%xmm7,%xmm6
3255
+ xorl %r11d,%r15d
3256
+ addl %r12d,%r9d
3257
+ shrdl $6,%r13d,%r13d
3258
+ vpsrlq $17,%xmm7,%xmm7
3259
+ andl %r15d,%edi
3260
+ xorl %r10d,%r14d
3261
+ addl %r13d,%r9d
3262
+ vpxor %xmm7,%xmm6,%xmm6
3263
+ xorl %r11d,%edi
3264
+ shrdl $2,%r14d,%r14d
3265
+ addl %r9d,%ebx
3266
+ vpsrlq $2,%xmm7,%xmm7
3267
+ addl %edi,%r9d
3268
+ movl %ebx,%r13d
3269
+ addl %r9d,%r14d
3270
+ vpxor %xmm7,%xmm6,%xmm6
3271
+ shrdl $14,%r13d,%r13d
3272
+ movl %r14d,%r9d
3273
+ movl %ecx,%r12d
3274
+ vpshufb %xmm9,%xmm6,%xmm6
3275
+ shrdl $9,%r14d,%r14d
3276
+ xorl %ebx,%r13d
3277
+ xorl %edx,%r12d
3278
+ vpaddd %xmm6,%xmm0,%xmm0
3279
+ shrdl $5,%r13d,%r13d
3280
+ xorl %r9d,%r14d
3281
+ andl %ebx,%r12d
3282
+ vpaddd 0(%rbp),%xmm0,%xmm6
3283
+ xorl %ebx,%r13d
3284
+ addl 12(%rsp),%r8d
3285
+ movl %r9d,%edi
3286
+ xorl %edx,%r12d
3287
+ shrdl $11,%r14d,%r14d
3288
+ xorl %r10d,%edi
3289
+ addl %r12d,%r8d
3290
+ shrdl $6,%r13d,%r13d
3291
+ andl %edi,%r15d
3292
+ xorl %r9d,%r14d
3293
+ addl %r13d,%r8d
3294
+ xorl %r10d,%r15d
3295
+ shrdl $2,%r14d,%r14d
3296
+ addl %r8d,%eax
3297
+ addl %r15d,%r8d
3298
+ movl %eax,%r13d
3299
+ addl %r8d,%r14d
3300
+ vmovdqa %xmm6,0(%rsp)
3301
+ vpalignr $4,%xmm1,%xmm2,%xmm4
3302
+ shrdl $14,%r13d,%r13d
3303
+ movl %r14d,%r8d
3304
+ movl %ebx,%r12d
3305
+ vpalignr $4,%xmm3,%xmm0,%xmm7
3306
+ shrdl $9,%r14d,%r14d
3307
+ xorl %eax,%r13d
3308
+ xorl %ecx,%r12d
3309
+ vpsrld $7,%xmm4,%xmm6
3310
+ shrdl $5,%r13d,%r13d
3311
+ xorl %r8d,%r14d
3312
+ andl %eax,%r12d
3313
+ vpaddd %xmm7,%xmm1,%xmm1
3314
+ xorl %eax,%r13d
3315
+ addl 16(%rsp),%edx
3316
+ movl %r8d,%r15d
3317
+ vpsrld $3,%xmm4,%xmm7
3318
+ xorl %ecx,%r12d
3319
+ shrdl $11,%r14d,%r14d
3320
+ xorl %r9d,%r15d
3321
+ vpslld $14,%xmm4,%xmm5
3322
+ addl %r12d,%edx
3323
+ shrdl $6,%r13d,%r13d
3324
+ andl %r15d,%edi
3325
+ vpxor %xmm6,%xmm7,%xmm4
3326
+ xorl %r8d,%r14d
3327
+ addl %r13d,%edx
3328
+ xorl %r9d,%edi
3329
+ vpshufd $250,%xmm0,%xmm7
3330
+ shrdl $2,%r14d,%r14d
3331
+ addl %edx,%r11d
3332
+ addl %edi,%edx
3333
+ vpsrld $11,%xmm6,%xmm6
3334
+ movl %r11d,%r13d
3335
+ addl %edx,%r14d
3336
+ shrdl $14,%r13d,%r13d
3337
+ vpxor %xmm5,%xmm4,%xmm4
3338
+ movl %r14d,%edx
3339
+ movl %eax,%r12d
3340
+ shrdl $9,%r14d,%r14d
3341
+ vpslld $11,%xmm5,%xmm5
3342
+ xorl %r11d,%r13d
3343
+ xorl %ebx,%r12d
3344
+ shrdl $5,%r13d,%r13d
3345
+ vpxor %xmm6,%xmm4,%xmm4
3346
+ xorl %edx,%r14d
3347
+ andl %r11d,%r12d
3348
+ xorl %r11d,%r13d
3349
+ vpsrld $10,%xmm7,%xmm6
3350
+ addl 20(%rsp),%ecx
3351
+ movl %edx,%edi
3352
+ xorl %ebx,%r12d
3353
+ vpxor %xmm5,%xmm4,%xmm4
3354
+ shrdl $11,%r14d,%r14d
3355
+ xorl %r8d,%edi
3356
+ addl %r12d,%ecx
3357
+ vpsrlq $17,%xmm7,%xmm7
3358
+ shrdl $6,%r13d,%r13d
3359
+ andl %edi,%r15d
3360
+ xorl %edx,%r14d
3361
+ vpaddd %xmm4,%xmm1,%xmm1
3362
+ addl %r13d,%ecx
3363
+ xorl %r8d,%r15d
3364
+ shrdl $2,%r14d,%r14d
3365
+ vpxor %xmm7,%xmm6,%xmm6
3366
+ addl %ecx,%r10d
3367
+ addl %r15d,%ecx
3368
+ movl %r10d,%r13d
3369
+ vpsrlq $2,%xmm7,%xmm7
3370
+ addl %ecx,%r14d
3371
+ shrdl $14,%r13d,%r13d
3372
+ movl %r14d,%ecx
3373
+ vpxor %xmm7,%xmm6,%xmm6
3374
+ movl %r11d,%r12d
3375
+ shrdl $9,%r14d,%r14d
3376
+ xorl %r10d,%r13d
3377
+ vpshufb %xmm8,%xmm6,%xmm6
3378
+ xorl %eax,%r12d
3379
+ shrdl $5,%r13d,%r13d
3380
+ xorl %ecx,%r14d
3381
+ vpaddd %xmm6,%xmm1,%xmm1
3382
+ andl %r10d,%r12d
3383
+ xorl %r10d,%r13d
3384
+ addl 24(%rsp),%ebx
3385
+ vpshufd $80,%xmm1,%xmm7
3386
+ movl %ecx,%r15d
3387
+ xorl %eax,%r12d
3388
+ shrdl $11,%r14d,%r14d
3389
+ vpsrld $10,%xmm7,%xmm6
3390
+ xorl %edx,%r15d
3391
+ addl %r12d,%ebx
3392
+ shrdl $6,%r13d,%r13d
3393
+ vpsrlq $17,%xmm7,%xmm7
3394
+ andl %r15d,%edi
3395
+ xorl %ecx,%r14d
3396
+ addl %r13d,%ebx
3397
+ vpxor %xmm7,%xmm6,%xmm6
3398
+ xorl %edx,%edi
3399
+ shrdl $2,%r14d,%r14d
3400
+ addl %ebx,%r9d
3401
+ vpsrlq $2,%xmm7,%xmm7
3402
+ addl %edi,%ebx
3403
+ movl %r9d,%r13d
3404
+ addl %ebx,%r14d
3405
+ vpxor %xmm7,%xmm6,%xmm6
3406
+ shrdl $14,%r13d,%r13d
3407
+ movl %r14d,%ebx
3408
+ movl %r10d,%r12d
3409
+ vpshufb %xmm9,%xmm6,%xmm6
3410
+ shrdl $9,%r14d,%r14d
3411
+ xorl %r9d,%r13d
3412
+ xorl %r11d,%r12d
3413
+ vpaddd %xmm6,%xmm1,%xmm1
3414
+ shrdl $5,%r13d,%r13d
3415
+ xorl %ebx,%r14d
3416
+ andl %r9d,%r12d
3417
+ vpaddd 32(%rbp),%xmm1,%xmm6
3418
+ xorl %r9d,%r13d
3419
+ addl 28(%rsp),%eax
3420
+ movl %ebx,%edi
3421
+ xorl %r11d,%r12d
3422
+ shrdl $11,%r14d,%r14d
3423
+ xorl %ecx,%edi
3424
+ addl %r12d,%eax
3425
+ shrdl $6,%r13d,%r13d
3426
+ andl %edi,%r15d
3427
+ xorl %ebx,%r14d
3428
+ addl %r13d,%eax
3429
+ xorl %ecx,%r15d
3430
+ shrdl $2,%r14d,%r14d
3431
+ addl %eax,%r8d
3432
+ addl %r15d,%eax
3433
+ movl %r8d,%r13d
3434
+ addl %eax,%r14d
3435
+ vmovdqa %xmm6,16(%rsp)
3436
+ vpalignr $4,%xmm2,%xmm3,%xmm4
3437
+ shrdl $14,%r13d,%r13d
3438
+ movl %r14d,%eax
3439
+ movl %r9d,%r12d
3440
+ vpalignr $4,%xmm0,%xmm1,%xmm7
3441
+ shrdl $9,%r14d,%r14d
3442
+ xorl %r8d,%r13d
3443
+ xorl %r10d,%r12d
3444
+ vpsrld $7,%xmm4,%xmm6
3445
+ shrdl $5,%r13d,%r13d
3446
+ xorl %eax,%r14d
3447
+ andl %r8d,%r12d
3448
+ vpaddd %xmm7,%xmm2,%xmm2
3449
+ xorl %r8d,%r13d
3450
+ addl 32(%rsp),%r11d
3451
+ movl %eax,%r15d
3452
+ vpsrld $3,%xmm4,%xmm7
3453
+ xorl %r10d,%r12d
3454
+ shrdl $11,%r14d,%r14d
3455
+ xorl %ebx,%r15d
3456
+ vpslld $14,%xmm4,%xmm5
3457
+ addl %r12d,%r11d
3458
+ shrdl $6,%r13d,%r13d
3459
+ andl %r15d,%edi
3460
+ vpxor %xmm6,%xmm7,%xmm4
3461
+ xorl %eax,%r14d
3462
+ addl %r13d,%r11d
3463
+ xorl %ebx,%edi
3464
+ vpshufd $250,%xmm1,%xmm7
3465
+ shrdl $2,%r14d,%r14d
3466
+ addl %r11d,%edx
3467
+ addl %edi,%r11d
3468
+ vpsrld $11,%xmm6,%xmm6
3469
+ movl %edx,%r13d
3470
+ addl %r11d,%r14d
3471
+ shrdl $14,%r13d,%r13d
3472
+ vpxor %xmm5,%xmm4,%xmm4
3473
+ movl %r14d,%r11d
3474
+ movl %r8d,%r12d
3475
+ shrdl $9,%r14d,%r14d
3476
+ vpslld $11,%xmm5,%xmm5
3477
+ xorl %edx,%r13d
3478
+ xorl %r9d,%r12d
3479
+ shrdl $5,%r13d,%r13d
3480
+ vpxor %xmm6,%xmm4,%xmm4
3481
+ xorl %r11d,%r14d
3482
+ andl %edx,%r12d
3483
+ xorl %edx,%r13d
3484
+ vpsrld $10,%xmm7,%xmm6
3485
+ addl 36(%rsp),%r10d
3486
+ movl %r11d,%edi
3487
+ xorl %r9d,%r12d
3488
+ vpxor %xmm5,%xmm4,%xmm4
3489
+ shrdl $11,%r14d,%r14d
3490
+ xorl %eax,%edi
3491
+ addl %r12d,%r10d
3492
+ vpsrlq $17,%xmm7,%xmm7
3493
+ shrdl $6,%r13d,%r13d
3494
+ andl %edi,%r15d
3495
+ xorl %r11d,%r14d
3496
+ vpaddd %xmm4,%xmm2,%xmm2
3497
+ addl %r13d,%r10d
3498
+ xorl %eax,%r15d
3499
+ shrdl $2,%r14d,%r14d
3500
+ vpxor %xmm7,%xmm6,%xmm6
3501
+ addl %r10d,%ecx
3502
+ addl %r15d,%r10d
3503
+ movl %ecx,%r13d
3504
+ vpsrlq $2,%xmm7,%xmm7
3505
+ addl %r10d,%r14d
3506
+ shrdl $14,%r13d,%r13d
3507
+ movl %r14d,%r10d
3508
+ vpxor %xmm7,%xmm6,%xmm6
3509
+ movl %edx,%r12d
3510
+ shrdl $9,%r14d,%r14d
3511
+ xorl %ecx,%r13d
3512
+ vpshufb %xmm8,%xmm6,%xmm6
3513
+ xorl %r8d,%r12d
3514
+ shrdl $5,%r13d,%r13d
3515
+ xorl %r10d,%r14d
3516
+ vpaddd %xmm6,%xmm2,%xmm2
3517
+ andl %ecx,%r12d
3518
+ xorl %ecx,%r13d
3519
+ addl 40(%rsp),%r9d
3520
+ vpshufd $80,%xmm2,%xmm7
3521
+ movl %r10d,%r15d
3522
+ xorl %r8d,%r12d
3523
+ shrdl $11,%r14d,%r14d
3524
+ vpsrld $10,%xmm7,%xmm6
3525
+ xorl %r11d,%r15d
3526
+ addl %r12d,%r9d
3527
+ shrdl $6,%r13d,%r13d
3528
+ vpsrlq $17,%xmm7,%xmm7
3529
+ andl %r15d,%edi
3530
+ xorl %r10d,%r14d
3531
+ addl %r13d,%r9d
3532
+ vpxor %xmm7,%xmm6,%xmm6
3533
+ xorl %r11d,%edi
3534
+ shrdl $2,%r14d,%r14d
3535
+ addl %r9d,%ebx
3536
+ vpsrlq $2,%xmm7,%xmm7
3537
+ addl %edi,%r9d
3538
+ movl %ebx,%r13d
3539
+ addl %r9d,%r14d
3540
+ vpxor %xmm7,%xmm6,%xmm6
3541
+ shrdl $14,%r13d,%r13d
3542
+ movl %r14d,%r9d
3543
+ movl %ecx,%r12d
3544
+ vpshufb %xmm9,%xmm6,%xmm6
3545
+ shrdl $9,%r14d,%r14d
3546
+ xorl %ebx,%r13d
3547
+ xorl %edx,%r12d
3548
+ vpaddd %xmm6,%xmm2,%xmm2
3549
+ shrdl $5,%r13d,%r13d
3550
+ xorl %r9d,%r14d
3551
+ andl %ebx,%r12d
3552
+ vpaddd 64(%rbp),%xmm2,%xmm6
3553
+ xorl %ebx,%r13d
3554
+ addl 44(%rsp),%r8d
3555
+ movl %r9d,%edi
3556
+ xorl %edx,%r12d
3557
+ shrdl $11,%r14d,%r14d
3558
+ xorl %r10d,%edi
3559
+ addl %r12d,%r8d
3560
+ shrdl $6,%r13d,%r13d
3561
+ andl %edi,%r15d
3562
+ xorl %r9d,%r14d
3563
+ addl %r13d,%r8d
3564
+ xorl %r10d,%r15d
3565
+ shrdl $2,%r14d,%r14d
3566
+ addl %r8d,%eax
3567
+ addl %r15d,%r8d
3568
+ movl %eax,%r13d
3569
+ addl %r8d,%r14d
3570
+ vmovdqa %xmm6,32(%rsp)
3571
+ vpalignr $4,%xmm3,%xmm0,%xmm4
3572
+ shrdl $14,%r13d,%r13d
3573
+ movl %r14d,%r8d
3574
+ movl %ebx,%r12d
3575
+ vpalignr $4,%xmm1,%xmm2,%xmm7
3576
+ shrdl $9,%r14d,%r14d
3577
+ xorl %eax,%r13d
3578
+ xorl %ecx,%r12d
3579
+ vpsrld $7,%xmm4,%xmm6
3580
+ shrdl $5,%r13d,%r13d
3581
+ xorl %r8d,%r14d
3582
+ andl %eax,%r12d
3583
+ vpaddd %xmm7,%xmm3,%xmm3
3584
+ xorl %eax,%r13d
3585
+ addl 48(%rsp),%edx
3586
+ movl %r8d,%r15d
3587
+ vpsrld $3,%xmm4,%xmm7
3588
+ xorl %ecx,%r12d
3589
+ shrdl $11,%r14d,%r14d
3590
+ xorl %r9d,%r15d
3591
+ vpslld $14,%xmm4,%xmm5
3592
+ addl %r12d,%edx
3593
+ shrdl $6,%r13d,%r13d
3594
+ andl %r15d,%edi
3595
+ vpxor %xmm6,%xmm7,%xmm4
3596
+ xorl %r8d,%r14d
3597
+ addl %r13d,%edx
3598
+ xorl %r9d,%edi
3599
+ vpshufd $250,%xmm2,%xmm7
3600
+ shrdl $2,%r14d,%r14d
3601
+ addl %edx,%r11d
3602
+ addl %edi,%edx
3603
+ vpsrld $11,%xmm6,%xmm6
3604
+ movl %r11d,%r13d
3605
+ addl %edx,%r14d
3606
+ shrdl $14,%r13d,%r13d
3607
+ vpxor %xmm5,%xmm4,%xmm4
3608
+ movl %r14d,%edx
3609
+ movl %eax,%r12d
3610
+ shrdl $9,%r14d,%r14d
3611
+ vpslld $11,%xmm5,%xmm5
3612
+ xorl %r11d,%r13d
3613
+ xorl %ebx,%r12d
3614
+ shrdl $5,%r13d,%r13d
3615
+ vpxor %xmm6,%xmm4,%xmm4
3616
+ xorl %edx,%r14d
3617
+ andl %r11d,%r12d
3618
+ xorl %r11d,%r13d
3619
+ vpsrld $10,%xmm7,%xmm6
3620
+ addl 52(%rsp),%ecx
3621
+ movl %edx,%edi
3622
+ xorl %ebx,%r12d
3623
+ vpxor %xmm5,%xmm4,%xmm4
3624
+ shrdl $11,%r14d,%r14d
3625
+ xorl %r8d,%edi
3626
+ addl %r12d,%ecx
3627
+ vpsrlq $17,%xmm7,%xmm7
3628
+ shrdl $6,%r13d,%r13d
3629
+ andl %edi,%r15d
3630
+ xorl %edx,%r14d
3631
+ vpaddd %xmm4,%xmm3,%xmm3
3632
+ addl %r13d,%ecx
3633
+ xorl %r8d,%r15d
3634
+ shrdl $2,%r14d,%r14d
3635
+ vpxor %xmm7,%xmm6,%xmm6
3636
+ addl %ecx,%r10d
3637
+ addl %r15d,%ecx
3638
+ movl %r10d,%r13d
3639
+ vpsrlq $2,%xmm7,%xmm7
3640
+ addl %ecx,%r14d
3641
+ shrdl $14,%r13d,%r13d
3642
+ movl %r14d,%ecx
3643
+ vpxor %xmm7,%xmm6,%xmm6
3644
+ movl %r11d,%r12d
3645
+ shrdl $9,%r14d,%r14d
3646
+ xorl %r10d,%r13d
3647
+ vpshufb %xmm8,%xmm6,%xmm6
3648
+ xorl %eax,%r12d
3649
+ shrdl $5,%r13d,%r13d
3650
+ xorl %ecx,%r14d
3651
+ vpaddd %xmm6,%xmm3,%xmm3
3652
+ andl %r10d,%r12d
3653
+ xorl %r10d,%r13d
3654
+ addl 56(%rsp),%ebx
3655
+ vpshufd $80,%xmm3,%xmm7
3656
+ movl %ecx,%r15d
3657
+ xorl %eax,%r12d
3658
+ shrdl $11,%r14d,%r14d
3659
+ vpsrld $10,%xmm7,%xmm6
3660
+ xorl %edx,%r15d
3661
+ addl %r12d,%ebx
3662
+ shrdl $6,%r13d,%r13d
3663
+ vpsrlq $17,%xmm7,%xmm7
3664
+ andl %r15d,%edi
3665
+ xorl %ecx,%r14d
3666
+ addl %r13d,%ebx
3667
+ vpxor %xmm7,%xmm6,%xmm6
3668
+ xorl %edx,%edi
3669
+ shrdl $2,%r14d,%r14d
3670
+ addl %ebx,%r9d
3671
+ vpsrlq $2,%xmm7,%xmm7
3672
+ addl %edi,%ebx
3673
+ movl %r9d,%r13d
3674
+ addl %ebx,%r14d
3675
+ vpxor %xmm7,%xmm6,%xmm6
3676
+ shrdl $14,%r13d,%r13d
3677
+ movl %r14d,%ebx
3678
+ movl %r10d,%r12d
3679
+ vpshufb %xmm9,%xmm6,%xmm6
3680
+ shrdl $9,%r14d,%r14d
3681
+ xorl %r9d,%r13d
3682
+ xorl %r11d,%r12d
3683
+ vpaddd %xmm6,%xmm3,%xmm3
3684
+ shrdl $5,%r13d,%r13d
3685
+ xorl %ebx,%r14d
3686
+ andl %r9d,%r12d
3687
+ vpaddd 96(%rbp),%xmm3,%xmm6
3688
+ xorl %r9d,%r13d
3689
+ addl 60(%rsp),%eax
3690
+ movl %ebx,%edi
3691
+ xorl %r11d,%r12d
3692
+ shrdl $11,%r14d,%r14d
3693
+ xorl %ecx,%edi
3694
+ addl %r12d,%eax
3695
+ shrdl $6,%r13d,%r13d
3696
+ andl %edi,%r15d
3697
+ xorl %ebx,%r14d
3698
+ addl %r13d,%eax
3699
+ xorl %ecx,%r15d
3700
+ shrdl $2,%r14d,%r14d
3701
+ addl %eax,%r8d
3702
+ addl %r15d,%eax
3703
+ movl %r8d,%r13d
3704
+ addl %eax,%r14d
3705
+ vmovdqa %xmm6,48(%rsp)
3706
+ cmpb $0,131(%rbp)
3707
+ jne .Lavx_00_47
3708
+ shrdl $14,%r13d,%r13d
3709
+ movl %r14d,%eax
3710
+ movl %r9d,%r12d
3711
+ shrdl $9,%r14d,%r14d
3712
+ xorl %r8d,%r13d
3713
+ xorl %r10d,%r12d
3714
+ shrdl $5,%r13d,%r13d
3715
+ xorl %eax,%r14d
3716
+ andl %r8d,%r12d
3717
+ xorl %r8d,%r13d
3718
+ addl 0(%rsp),%r11d
3719
+ movl %eax,%r15d
3720
+ xorl %r10d,%r12d
3721
+ shrdl $11,%r14d,%r14d
3722
+ xorl %ebx,%r15d
3723
+ addl %r12d,%r11d
3724
+ shrdl $6,%r13d,%r13d
3725
+ andl %r15d,%edi
3726
+ xorl %eax,%r14d
3727
+ addl %r13d,%r11d
3728
+ xorl %ebx,%edi
3729
+ shrdl $2,%r14d,%r14d
3730
+ addl %r11d,%edx
3731
+ addl %edi,%r11d
3732
+ movl %edx,%r13d
3733
+ addl %r11d,%r14d
3734
+ shrdl $14,%r13d,%r13d
3735
+ movl %r14d,%r11d
3736
+ movl %r8d,%r12d
3737
+ shrdl $9,%r14d,%r14d
3738
+ xorl %edx,%r13d
3739
+ xorl %r9d,%r12d
3740
+ shrdl $5,%r13d,%r13d
3741
+ xorl %r11d,%r14d
3742
+ andl %edx,%r12d
3743
+ xorl %edx,%r13d
3744
+ addl 4(%rsp),%r10d
3745
+ movl %r11d,%edi
3746
+ xorl %r9d,%r12d
3747
+ shrdl $11,%r14d,%r14d
3748
+ xorl %eax,%edi
3749
+ addl %r12d,%r10d
3750
+ shrdl $6,%r13d,%r13d
3751
+ andl %edi,%r15d
3752
+ xorl %r11d,%r14d
3753
+ addl %r13d,%r10d
3754
+ xorl %eax,%r15d
3755
+ shrdl $2,%r14d,%r14d
3756
+ addl %r10d,%ecx
3757
+ addl %r15d,%r10d
3758
+ movl %ecx,%r13d
3759
+ addl %r10d,%r14d
3760
+ shrdl $14,%r13d,%r13d
3761
+ movl %r14d,%r10d
3762
+ movl %edx,%r12d
3763
+ shrdl $9,%r14d,%r14d
3764
+ xorl %ecx,%r13d
3765
+ xorl %r8d,%r12d
3766
+ shrdl $5,%r13d,%r13d
3767
+ xorl %r10d,%r14d
3768
+ andl %ecx,%r12d
3769
+ xorl %ecx,%r13d
3770
+ addl 8(%rsp),%r9d
3771
+ movl %r10d,%r15d
3772
+ xorl %r8d,%r12d
3773
+ shrdl $11,%r14d,%r14d
3774
+ xorl %r11d,%r15d
3775
+ addl %r12d,%r9d
3776
+ shrdl $6,%r13d,%r13d
3777
+ andl %r15d,%edi
3778
+ xorl %r10d,%r14d
3779
+ addl %r13d,%r9d
3780
+ xorl %r11d,%edi
3781
+ shrdl $2,%r14d,%r14d
3782
+ addl %r9d,%ebx
3783
+ addl %edi,%r9d
3784
+ movl %ebx,%r13d
3785
+ addl %r9d,%r14d
3786
+ shrdl $14,%r13d,%r13d
3787
+ movl %r14d,%r9d
3788
+ movl %ecx,%r12d
3789
+ shrdl $9,%r14d,%r14d
3790
+ xorl %ebx,%r13d
3791
+ xorl %edx,%r12d
3792
+ shrdl $5,%r13d,%r13d
3793
+ xorl %r9d,%r14d
3794
+ andl %ebx,%r12d
3795
+ xorl %ebx,%r13d
3796
+ addl 12(%rsp),%r8d
3797
+ movl %r9d,%edi
3798
+ xorl %edx,%r12d
3799
+ shrdl $11,%r14d,%r14d
3800
+ xorl %r10d,%edi
3801
+ addl %r12d,%r8d
3802
+ shrdl $6,%r13d,%r13d
3803
+ andl %edi,%r15d
3804
+ xorl %r9d,%r14d
3805
+ addl %r13d,%r8d
3806
+ xorl %r10d,%r15d
3807
+ shrdl $2,%r14d,%r14d
3808
+ addl %r8d,%eax
3809
+ addl %r15d,%r8d
3810
+ movl %eax,%r13d
3811
+ addl %r8d,%r14d
3812
+ shrdl $14,%r13d,%r13d
3813
+ movl %r14d,%r8d
3814
+ movl %ebx,%r12d
3815
+ shrdl $9,%r14d,%r14d
3816
+ xorl %eax,%r13d
3817
+ xorl %ecx,%r12d
3818
+ shrdl $5,%r13d,%r13d
3819
+ xorl %r8d,%r14d
3820
+ andl %eax,%r12d
3821
+ xorl %eax,%r13d
3822
+ addl 16(%rsp),%edx
3823
+ movl %r8d,%r15d
3824
+ xorl %ecx,%r12d
3825
+ shrdl $11,%r14d,%r14d
3826
+ xorl %r9d,%r15d
3827
+ addl %r12d,%edx
3828
+ shrdl $6,%r13d,%r13d
3829
+ andl %r15d,%edi
3830
+ xorl %r8d,%r14d
3831
+ addl %r13d,%edx
3832
+ xorl %r9d,%edi
3833
+ shrdl $2,%r14d,%r14d
3834
+ addl %edx,%r11d
3835
+ addl %edi,%edx
3836
+ movl %r11d,%r13d
3837
+ addl %edx,%r14d
3838
+ shrdl $14,%r13d,%r13d
3839
+ movl %r14d,%edx
3840
+ movl %eax,%r12d
3841
+ shrdl $9,%r14d,%r14d
3842
+ xorl %r11d,%r13d
3843
+ xorl %ebx,%r12d
3844
+ shrdl $5,%r13d,%r13d
3845
+ xorl %edx,%r14d
3846
+ andl %r11d,%r12d
3847
+ xorl %r11d,%r13d
3848
+ addl 20(%rsp),%ecx
3849
+ movl %edx,%edi
3850
+ xorl %ebx,%r12d
3851
+ shrdl $11,%r14d,%r14d
3852
+ xorl %r8d,%edi
3853
+ addl %r12d,%ecx
3854
+ shrdl $6,%r13d,%r13d
3855
+ andl %edi,%r15d
3856
+ xorl %edx,%r14d
3857
+ addl %r13d,%ecx
3858
+ xorl %r8d,%r15d
3859
+ shrdl $2,%r14d,%r14d
3860
+ addl %ecx,%r10d
3861
+ addl %r15d,%ecx
3862
+ movl %r10d,%r13d
3863
+ addl %ecx,%r14d
3864
+ shrdl $14,%r13d,%r13d
3865
+ movl %r14d,%ecx
3866
+ movl %r11d,%r12d
3867
+ shrdl $9,%r14d,%r14d
3868
+ xorl %r10d,%r13d
3869
+ xorl %eax,%r12d
3870
+ shrdl $5,%r13d,%r13d
3871
+ xorl %ecx,%r14d
3872
+ andl %r10d,%r12d
3873
+ xorl %r10d,%r13d
3874
+ addl 24(%rsp),%ebx
3875
+ movl %ecx,%r15d
3876
+ xorl %eax,%r12d
3877
+ shrdl $11,%r14d,%r14d
3878
+ xorl %edx,%r15d
3879
+ addl %r12d,%ebx
3880
+ shrdl $6,%r13d,%r13d
3881
+ andl %r15d,%edi
3882
+ xorl %ecx,%r14d
3883
+ addl %r13d,%ebx
3884
+ xorl %edx,%edi
3885
+ shrdl $2,%r14d,%r14d
3886
+ addl %ebx,%r9d
3887
+ addl %edi,%ebx
3888
+ movl %r9d,%r13d
3889
+ addl %ebx,%r14d
3890
+ shrdl $14,%r13d,%r13d
3891
+ movl %r14d,%ebx
3892
+ movl %r10d,%r12d
3893
+ shrdl $9,%r14d,%r14d
3894
+ xorl %r9d,%r13d
3895
+ xorl %r11d,%r12d
3896
+ shrdl $5,%r13d,%r13d
3897
+ xorl %ebx,%r14d
3898
+ andl %r9d,%r12d
3899
+ xorl %r9d,%r13d
3900
+ addl 28(%rsp),%eax
3901
+ movl %ebx,%edi
3902
+ xorl %r11d,%r12d
3903
+ shrdl $11,%r14d,%r14d
3904
+ xorl %ecx,%edi
3905
+ addl %r12d,%eax
3906
+ shrdl $6,%r13d,%r13d
3907
+ andl %edi,%r15d
3908
+ xorl %ebx,%r14d
3909
+ addl %r13d,%eax
3910
+ xorl %ecx,%r15d
3911
+ shrdl $2,%r14d,%r14d
3912
+ addl %eax,%r8d
3913
+ addl %r15d,%eax
3914
+ movl %r8d,%r13d
3915
+ addl %eax,%r14d
3916
+ shrdl $14,%r13d,%r13d
3917
+ movl %r14d,%eax
3918
+ movl %r9d,%r12d
3919
+ shrdl $9,%r14d,%r14d
3920
+ xorl %r8d,%r13d
3921
+ xorl %r10d,%r12d
3922
+ shrdl $5,%r13d,%r13d
3923
+ xorl %eax,%r14d
3924
+ andl %r8d,%r12d
3925
+ xorl %r8d,%r13d
3926
+ addl 32(%rsp),%r11d
3927
+ movl %eax,%r15d
3928
+ xorl %r10d,%r12d
3929
+ shrdl $11,%r14d,%r14d
3930
+ xorl %ebx,%r15d
3931
+ addl %r12d,%r11d
3932
+ shrdl $6,%r13d,%r13d
3933
+ andl %r15d,%edi
3934
+ xorl %eax,%r14d
3935
+ addl %r13d,%r11d
3936
+ xorl %ebx,%edi
3937
+ shrdl $2,%r14d,%r14d
3938
+ addl %r11d,%edx
3939
+ addl %edi,%r11d
3940
+ movl %edx,%r13d
3941
+ addl %r11d,%r14d
3942
+ shrdl $14,%r13d,%r13d
3943
+ movl %r14d,%r11d
3944
+ movl %r8d,%r12d
3945
+ shrdl $9,%r14d,%r14d
3946
+ xorl %edx,%r13d
3947
+ xorl %r9d,%r12d
3948
+ shrdl $5,%r13d,%r13d
3949
+ xorl %r11d,%r14d
3950
+ andl %edx,%r12d
3951
+ xorl %edx,%r13d
3952
+ addl 36(%rsp),%r10d
3953
+ movl %r11d,%edi
3954
+ xorl %r9d,%r12d
3955
+ shrdl $11,%r14d,%r14d
3956
+ xorl %eax,%edi
3957
+ addl %r12d,%r10d
3958
+ shrdl $6,%r13d,%r13d
3959
+ andl %edi,%r15d
3960
+ xorl %r11d,%r14d
3961
+ addl %r13d,%r10d
3962
+ xorl %eax,%r15d
3963
+ shrdl $2,%r14d,%r14d
3964
+ addl %r10d,%ecx
3965
+ addl %r15d,%r10d
3966
+ movl %ecx,%r13d
3967
+ addl %r10d,%r14d
3968
+ shrdl $14,%r13d,%r13d
3969
+ movl %r14d,%r10d
3970
+ movl %edx,%r12d
3971
+ shrdl $9,%r14d,%r14d
3972
+ xorl %ecx,%r13d
3973
+ xorl %r8d,%r12d
3974
+ shrdl $5,%r13d,%r13d
3975
+ xorl %r10d,%r14d
3976
+ andl %ecx,%r12d
3977
+ xorl %ecx,%r13d
3978
+ addl 40(%rsp),%r9d
3979
+ movl %r10d,%r15d
3980
+ xorl %r8d,%r12d
3981
+ shrdl $11,%r14d,%r14d
3982
+ xorl %r11d,%r15d
3983
+ addl %r12d,%r9d
3984
+ shrdl $6,%r13d,%r13d
3985
+ andl %r15d,%edi
3986
+ xorl %r10d,%r14d
3987
+ addl %r13d,%r9d
3988
+ xorl %r11d,%edi
3989
+ shrdl $2,%r14d,%r14d
3990
+ addl %r9d,%ebx
3991
+ addl %edi,%r9d
3992
+ movl %ebx,%r13d
3993
+ addl %r9d,%r14d
3994
+ shrdl $14,%r13d,%r13d
3995
+ movl %r14d,%r9d
3996
+ movl %ecx,%r12d
3997
+ shrdl $9,%r14d,%r14d
3998
+ xorl %ebx,%r13d
3999
+ xorl %edx,%r12d
4000
+ shrdl $5,%r13d,%r13d
4001
+ xorl %r9d,%r14d
4002
+ andl %ebx,%r12d
4003
+ xorl %ebx,%r13d
4004
+ addl 44(%rsp),%r8d
4005
+ movl %r9d,%edi
4006
+ xorl %edx,%r12d
4007
+ shrdl $11,%r14d,%r14d
4008
+ xorl %r10d,%edi
4009
+ addl %r12d,%r8d
4010
+ shrdl $6,%r13d,%r13d
4011
+ andl %edi,%r15d
4012
+ xorl %r9d,%r14d
4013
+ addl %r13d,%r8d
4014
+ xorl %r10d,%r15d
4015
+ shrdl $2,%r14d,%r14d
4016
+ addl %r8d,%eax
4017
+ addl %r15d,%r8d
4018
+ movl %eax,%r13d
4019
+ addl %r8d,%r14d
4020
+ shrdl $14,%r13d,%r13d
4021
+ movl %r14d,%r8d
4022
+ movl %ebx,%r12d
4023
+ shrdl $9,%r14d,%r14d
4024
+ xorl %eax,%r13d
4025
+ xorl %ecx,%r12d
4026
+ shrdl $5,%r13d,%r13d
4027
+ xorl %r8d,%r14d
4028
+ andl %eax,%r12d
4029
+ xorl %eax,%r13d
4030
+ addl 48(%rsp),%edx
4031
+ movl %r8d,%r15d
4032
+ xorl %ecx,%r12d
4033
+ shrdl $11,%r14d,%r14d
4034
+ xorl %r9d,%r15d
4035
+ addl %r12d,%edx
4036
+ shrdl $6,%r13d,%r13d
4037
+ andl %r15d,%edi
4038
+ xorl %r8d,%r14d
4039
+ addl %r13d,%edx
4040
+ xorl %r9d,%edi
4041
+ shrdl $2,%r14d,%r14d
4042
+ addl %edx,%r11d
4043
+ addl %edi,%edx
4044
+ movl %r11d,%r13d
4045
+ addl %edx,%r14d
4046
+ shrdl $14,%r13d,%r13d
4047
+ movl %r14d,%edx
4048
+ movl %eax,%r12d
4049
+ shrdl $9,%r14d,%r14d
4050
+ xorl %r11d,%r13d
4051
+ xorl %ebx,%r12d
4052
+ shrdl $5,%r13d,%r13d
4053
+ xorl %edx,%r14d
4054
+ andl %r11d,%r12d
4055
+ xorl %r11d,%r13d
4056
+ addl 52(%rsp),%ecx
4057
+ movl %edx,%edi
4058
+ xorl %ebx,%r12d
4059
+ shrdl $11,%r14d,%r14d
4060
+ xorl %r8d,%edi
4061
+ addl %r12d,%ecx
4062
+ shrdl $6,%r13d,%r13d
4063
+ andl %edi,%r15d
4064
+ xorl %edx,%r14d
4065
+ addl %r13d,%ecx
4066
+ xorl %r8d,%r15d
4067
+ shrdl $2,%r14d,%r14d
4068
+ addl %ecx,%r10d
4069
+ addl %r15d,%ecx
4070
+ movl %r10d,%r13d
4071
+ addl %ecx,%r14d
4072
+ shrdl $14,%r13d,%r13d
4073
+ movl %r14d,%ecx
4074
+ movl %r11d,%r12d
4075
+ shrdl $9,%r14d,%r14d
4076
+ xorl %r10d,%r13d
4077
+ xorl %eax,%r12d
4078
+ shrdl $5,%r13d,%r13d
4079
+ xorl %ecx,%r14d
4080
+ andl %r10d,%r12d
4081
+ xorl %r10d,%r13d
4082
+ addl 56(%rsp),%ebx
4083
+ movl %ecx,%r15d
4084
+ xorl %eax,%r12d
4085
+ shrdl $11,%r14d,%r14d
4086
+ xorl %edx,%r15d
4087
+ addl %r12d,%ebx
4088
+ shrdl $6,%r13d,%r13d
4089
+ andl %r15d,%edi
4090
+ xorl %ecx,%r14d
4091
+ addl %r13d,%ebx
4092
+ xorl %edx,%edi
4093
+ shrdl $2,%r14d,%r14d
4094
+ addl %ebx,%r9d
4095
+ addl %edi,%ebx
4096
+ movl %r9d,%r13d
4097
+ addl %ebx,%r14d
4098
+ shrdl $14,%r13d,%r13d
4099
+ movl %r14d,%ebx
4100
+ movl %r10d,%r12d
4101
+ shrdl $9,%r14d,%r14d
4102
+ xorl %r9d,%r13d
4103
+ xorl %r11d,%r12d
4104
+ shrdl $5,%r13d,%r13d
4105
+ xorl %ebx,%r14d
4106
+ andl %r9d,%r12d
4107
+ xorl %r9d,%r13d
4108
+ addl 60(%rsp),%eax
4109
+ movl %ebx,%edi
4110
+ xorl %r11d,%r12d
4111
+ shrdl $11,%r14d,%r14d
4112
+ xorl %ecx,%edi
4113
+ addl %r12d,%eax
4114
+ shrdl $6,%r13d,%r13d
4115
+ andl %edi,%r15d
4116
+ xorl %ebx,%r14d
4117
+ addl %r13d,%eax
4118
+ xorl %ecx,%r15d
4119
+ shrdl $2,%r14d,%r14d
4120
+ addl %eax,%r8d
4121
+ addl %r15d,%eax
4122
+ movl %r8d,%r13d
4123
+ addl %eax,%r14d
4124
+ movq 64+0(%rsp),%rdi
4125
+ movl %r14d,%eax
4126
+
4127
+ addl 0(%rdi),%eax
4128
+ leaq 64(%rsi),%rsi
4129
+ addl 4(%rdi),%ebx
4130
+ addl 8(%rdi),%ecx
4131
+ addl 12(%rdi),%edx
4132
+ addl 16(%rdi),%r8d
4133
+ addl 20(%rdi),%r9d
4134
+ addl 24(%rdi),%r10d
4135
+ addl 28(%rdi),%r11d
4136
+
4137
+ cmpq 64+16(%rsp),%rsi
4138
+
4139
+ movl %eax,0(%rdi)
4140
+ movl %ebx,4(%rdi)
4141
+ movl %ecx,8(%rdi)
4142
+ movl %edx,12(%rdi)
4143
+ movl %r8d,16(%rdi)
4144
+ movl %r9d,20(%rdi)
4145
+ movl %r10d,24(%rdi)
4146
+ movl %r11d,28(%rdi)
4147
+ jb .Lloop_avx
4148
+
4149
+ movq 88(%rsp),%rsi
4150
+ .cfi_def_cfa %rsi,8
4151
+ vzeroupper
4152
+ movq -48(%rsi),%r15
4153
+ .cfi_restore %r15
4154
+ movq -40(%rsi),%r14
4155
+ .cfi_restore %r14
4156
+ movq -32(%rsi),%r13
4157
+ .cfi_restore %r13
4158
+ movq -24(%rsi),%r12
4159
+ .cfi_restore %r12
4160
+ movq -16(%rsi),%rbp
4161
+ .cfi_restore %rbp
4162
+ movq -8(%rsi),%rbx
4163
+ .cfi_restore %rbx
4164
+ leaq (%rsi),%rsp
4165
+ .cfi_def_cfa_register %rsp
4166
+ .Lepilogue_avx:
4167
+ ret
4168
+ .cfi_endproc
4169
+ .size sha256_block_data_order_avx,.-sha256_block_data_order_avx
4170
+ #endif