visaljs 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1007) hide show
  1. package/cli.js +393 -62
  2. package/node/include/js_node.h +28 -5
  3. package/node/include/js_uv.h +36 -0
  4. package/node/prelude/crypto.js +7 -10
  5. package/node/prelude/dns.js +99 -0
  6. package/node/prelude/dns_promises.js +10 -0
  7. package/node/prelude/http.js +1039 -195
  8. package/node/prelude/internal/crypto/asym.js +39 -12
  9. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  10. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  11. package/node/prelude/internal/crypto/hash.js +1 -1
  12. package/node/prelude/internal/crypto/key_type.js +3 -0
  13. package/node/prelude/internal/crypto/keys.js +39 -9
  14. package/node/prelude/internal/http_agent.js +249 -0
  15. package/node/prelude/internal/net.js +33 -0
  16. package/node/prelude/internal/socketaddress.js +249 -0
  17. package/node/prelude/internal/tls/common.js +306 -0
  18. package/node/prelude/internal/tls/wrap.js +1217 -0
  19. package/node/prelude/internal/tls/x509.js +394 -0
  20. package/node/prelude/net.js +1083 -50
  21. package/node/prelude/stream.js +6 -0
  22. package/node/prelude/tls.js +141 -0
  23. package/node/prelude/util.js +5 -2
  24. package/node/prelude/util_types.js +85 -0
  25. package/node/src/host_http.c +268 -270
  26. package/node/src/host_loop.c +84 -0
  27. package/node/src/host_net.c +495 -0
  28. package/node/src/host_sys.c +16 -0
  29. package/package.json +1 -1
  30. package/runtime/include/js_builtins.h +16 -0
  31. package/runtime/include/js_console.h +2 -0
  32. package/runtime/include/js_core.def +23 -0
  33. package/runtime/include/js_crypto.h +23 -0
  34. package/runtime/include/js_generator.h +2 -3
  35. package/runtime/include/js_promise.h +0 -2
  36. package/runtime/src/async_iter.c +4 -1
  37. package/runtime/src/boringssl_support.cc +34 -0
  38. package/runtime/src/builtin_table.c +8 -0
  39. package/runtime/src/components.c +10 -0
  40. package/runtime/src/console.c +6 -18
  41. package/runtime/src/core_all.c +1 -0
  42. package/runtime/src/crypto_asym.c +450 -241
  43. package/runtime/src/crypto_bn.c +91 -0
  44. package/runtime/src/crypto_cipher.c +153 -75
  45. package/runtime/src/crypto_hash.c +68 -53
  46. package/runtime/src/crypto_internal.h +55 -26
  47. package/runtime/src/crypto_pkey.c +198 -61
  48. package/runtime/src/crypto_subtle.c +42 -16
  49. package/runtime/src/crypto_tls.c +678 -0
  50. package/runtime/src/generator.c +8 -1
  51. package/runtime/src/global.c +2 -4
  52. package/runtime/src/internal.h +0 -1
  53. package/runtime/src/jobs.c +2 -1
  54. package/runtime/src/promise.c +4 -1
  55. package/runtime/src/tls_roots.gen.h +3215 -0
  56. package/runtime/src/util_types.c +52 -0
  57. package/runtime/src/weak.c +2 -1
  58. package/runtime/third_party/boringssl/LICENSE +238 -0
  59. package/runtime/third_party/boringssl/README.md +46 -0
  60. package/runtime/third_party/boringssl/VERSION +1 -0
  61. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  62. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  63. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  91. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  92. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  93. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  95. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  96. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  97. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  98. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  99. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  100. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  101. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  102. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  103. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  105. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  106. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  107. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  108. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  109. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  110. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  111. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  112. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  118. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  120. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  133. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  134. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  135. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  136. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  146. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  147. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  154. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  155. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  156. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  157. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  158. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  159. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  162. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  164. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  165. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  166. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  167. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  169. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  170. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  171. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  172. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  176. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  177. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  187. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  188. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  189. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  190. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  191. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  192. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  305. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  306. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  307. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  310. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  311. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  313. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  314. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  315. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  316. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  317. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  318. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  319. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  320. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  323. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  324. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  325. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  340. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  345. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  346. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  347. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  348. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  349. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  350. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  351. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  352. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  353. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  354. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  355. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  356. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  357. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  358. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  359. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  364. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  367. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  368. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  369. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  371. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  372. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  373. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  374. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  375. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  376. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  380. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  383. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  384. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  385. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  387. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  388. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  389. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  390. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  391. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  392. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  396. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  419. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  451. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  452. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  469. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  473. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  479. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  481. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  497. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  507. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  511. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  535. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  543. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  549. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  553. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  566. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  567. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  571. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  572. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  573. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  574. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  575. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  578. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  579. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  580. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  581. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  582. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  583. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  584. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  585. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  586. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  587. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  588. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  589. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  590. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  591. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  592. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  593. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  594. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  596. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  597. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  598. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  599. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  600. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  601. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  602. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  603. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  604. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  606. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  608. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  609. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  610. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  612. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  613. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  614. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  615. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  616. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  617. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  618. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  619. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  620. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  621. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  622. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  623. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  624. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  625. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  626. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  628. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  631. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  633. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  634. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  637. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  638. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  639. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  640. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  643. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  644. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  645. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  646. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  647. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  648. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  649. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  651. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  652. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  653. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  654. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  655. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  657. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  658. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  659. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  660. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  661. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  663. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  664. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  665. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  666. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  670. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  671. package/runtime/third_party/boringssl/sources.json +696 -0
  672. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  673. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  674. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  675. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  676. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  677. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  679. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  680. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  681. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  682. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  683. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  685. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  686. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  687. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  688. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  689. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  704. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  705. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  709. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  710. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  711. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  728. package/runtime/third_party/v8-ieee754/README.md +2 -1
  729. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  730. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  731. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  732. package/runtime/third_party/bearssl/README.txt +0 -136
  733. package/runtime/third_party/bearssl/VERSION +0 -1
  734. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  735. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  736. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  737. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  738. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  739. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  740. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  741. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  742. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  743. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  744. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  745. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  746. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  747. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  748. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  749. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  750. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  751. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  752. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  764. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  765. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  766. package/runtime/third_party/bearssl/src/config.h +0 -247
  767. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  769. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  775. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  776. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  777. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  778. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  782. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  784. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  785. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  786. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  787. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  788. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  804. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  805. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  806. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  809. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  810. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  811. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  812. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  813. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  814. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  815. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  816. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  817. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  818. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  819. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  820. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  821. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  822. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  823. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  824. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  825. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  826. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  827. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  828. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  829. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  830. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  831. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  832. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  833. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  834. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  835. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  836. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  837. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  838. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  839. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  840. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  841. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  842. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  843. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  844. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  845. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  846. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  847. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  848. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  849. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  850. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  851. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  852. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  853. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  854. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  855. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  856. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  857. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  858. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  859. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  860. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  861. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  862. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  863. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  864. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  865. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  866. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  867. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  868. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  869. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  870. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  871. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  872. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  873. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  874. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  875. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  876. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  877. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  878. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  879. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  880. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  881. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  882. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  894. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  936. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  938. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  942. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  943. package/runtime/third_party/bearssl/src/settings.c +0 -306
  944. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  950. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  951. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  965. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  970. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  976. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  981. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  983. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  986. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  987. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  990. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  994. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  995. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  996. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  998. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1000. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1002. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1004. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1005. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,4173 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__APPLE__)
7
+ .text
8
+
9
+ .globl _sha256_block_data_order_nohw
10
+ .private_extern _sha256_block_data_order_nohw
11
+
12
+ .p2align 4
13
+ _sha256_block_data_order_nohw:
14
+
15
+ _CET_ENDBR
16
+ movq %rsp,%rax // copy %rsp
17
+
18
+ pushq %rbx
19
+
20
+ pushq %rbp
21
+
22
+ pushq %r12
23
+
24
+ pushq %r13
25
+
26
+ pushq %r14
27
+
28
+ pushq %r15
29
+
30
+ shlq $4,%rdx // num*16
31
+ subq $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
+
39
+ L$prologue:
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 L$loop
50
+
51
+ .p2align 4
52
+ L$loop:
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 L$rounds_16_xx
712
+ .p2align 4
713
+ L$rounds_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 L$rounds_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 L$loop
1701
+
1702
+ movq 88(%rsp),%rsi
1703
+
1704
+ movq -48(%rsi),%r15
1705
+
1706
+ movq -40(%rsi),%r14
1707
+
1708
+ movq -32(%rsi),%r13
1709
+
1710
+ movq -24(%rsi),%r12
1711
+
1712
+ movq -16(%rsi),%rbp
1713
+
1714
+ movq -8(%rsi),%rbx
1715
+
1716
+ leaq (%rsi),%rsp
1717
+
1718
+ L$epilogue:
1719
+ ret
1720
+
1721
+
1722
+ .section __DATA,__const
1723
+ .p2align 6
1724
+
1725
+ 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
+ .private_extern _sha256_block_data_order_hw
1769
+
1770
+ .p2align 6
1771
+ .alt_entry _sha256_block_data_order_hw
1772
+ _sha256_block_data_order_hw:
1773
+
1774
+ _CET_ENDBR
1775
+ leaq K256+128(%rip),%rcx
1776
+ movdqu (%rdi),%xmm1 // DCBA
1777
+ movdqu 16(%rdi),%xmm2 // HGFE
1778
+ movdqa 512-128(%rcx),%xmm7 // byte swap mask
1779
+
1780
+ pshufd $0x1b,%xmm1,%xmm0 // ABCD
1781
+ pshufd $0xb1,%xmm1,%xmm1 // CDAB
1782
+ pshufd $0x1b,%xmm2,%xmm2 // EFGH
1783
+ movdqa %xmm7,%xmm8 // offload
1784
+ palignr $8,%xmm2,%xmm1 // ABEF
1785
+ punpcklqdq %xmm0,%xmm2 // CDGH
1786
+ jmp L$oop_shaext
1787
+
1788
+ .p2align 4
1789
+ L$oop_shaext:
1790
+ movdqu (%rsi),%xmm3
1791
+ movdqu 16(%rsi),%xmm4
1792
+ movdqu 32(%rsi),%xmm5
1793
+ pshufb %xmm7,%xmm3
1794
+ movdqu 48(%rsi),%xmm6
1795
+
1796
+ movdqa 0-128(%rcx),%xmm0
1797
+ paddd %xmm3,%xmm0
1798
+ pshufb %xmm7,%xmm4
1799
+ movdqa %xmm2,%xmm10 // offload
1800
+ sha256rnds2 %xmm1,%xmm2 // 0-3
1801
+ pshufd $0x0e,%xmm0,%xmm0
1802
+ nop
1803
+ movdqa %xmm1,%xmm9 // offload
1804
+ sha256rnds2 %xmm2,%xmm1
1805
+
1806
+ movdqa 32-128(%rcx),%xmm0
1807
+ paddd %xmm4,%xmm0
1808
+ pshufb %xmm7,%xmm5
1809
+ sha256rnds2 %xmm1,%xmm2 // 4-7
1810
+ pshufd $0x0e,%xmm0,%xmm0
1811
+ leaq 64(%rsi),%rsi
1812
+ sha256msg1 %xmm4,%xmm3
1813
+ sha256rnds2 %xmm2,%xmm1
1814
+
1815
+ movdqa 64-128(%rcx),%xmm0
1816
+ paddd %xmm5,%xmm0
1817
+ pshufb %xmm7,%xmm6
1818
+ sha256rnds2 %xmm1,%xmm2 // 8-11
1819
+ pshufd $0x0e,%xmm0,%xmm0
1820
+ movdqa %xmm6,%xmm7
1821
+ palignr $4,%xmm5,%xmm7
1822
+ nop
1823
+ paddd %xmm7,%xmm3
1824
+ sha256msg1 %xmm5,%xmm4
1825
+ sha256rnds2 %xmm2,%xmm1
1826
+
1827
+ movdqa 96-128(%rcx),%xmm0
1828
+ paddd %xmm6,%xmm0
1829
+ sha256msg2 %xmm6,%xmm3
1830
+ sha256rnds2 %xmm1,%xmm2 // 12-15
1831
+ pshufd $0x0e,%xmm0,%xmm0
1832
+ movdqa %xmm3,%xmm7
1833
+ palignr $4,%xmm6,%xmm7
1834
+ nop
1835
+ paddd %xmm7,%xmm4
1836
+ sha256msg1 %xmm6,%xmm5
1837
+ sha256rnds2 %xmm2,%xmm1
1838
+ movdqa 128-128(%rcx),%xmm0
1839
+ paddd %xmm3,%xmm0
1840
+ sha256msg2 %xmm3,%xmm4
1841
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1842
+ pshufd $0x0e,%xmm0,%xmm0
1843
+ movdqa %xmm4,%xmm7
1844
+ palignr $4,%xmm3,%xmm7
1845
+ nop
1846
+ paddd %xmm7,%xmm5
1847
+ sha256msg1 %xmm3,%xmm6
1848
+ sha256rnds2 %xmm2,%xmm1
1849
+ movdqa 160-128(%rcx),%xmm0
1850
+ paddd %xmm4,%xmm0
1851
+ sha256msg2 %xmm4,%xmm5
1852
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1853
+ pshufd $0x0e,%xmm0,%xmm0
1854
+ movdqa %xmm5,%xmm7
1855
+ palignr $4,%xmm4,%xmm7
1856
+ nop
1857
+ paddd %xmm7,%xmm6
1858
+ sha256msg1 %xmm4,%xmm3
1859
+ sha256rnds2 %xmm2,%xmm1
1860
+ movdqa 192-128(%rcx),%xmm0
1861
+ paddd %xmm5,%xmm0
1862
+ sha256msg2 %xmm5,%xmm6
1863
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1864
+ pshufd $0x0e,%xmm0,%xmm0
1865
+ movdqa %xmm6,%xmm7
1866
+ palignr $4,%xmm5,%xmm7
1867
+ nop
1868
+ paddd %xmm7,%xmm3
1869
+ sha256msg1 %xmm5,%xmm4
1870
+ sha256rnds2 %xmm2,%xmm1
1871
+ movdqa 224-128(%rcx),%xmm0
1872
+ paddd %xmm6,%xmm0
1873
+ sha256msg2 %xmm6,%xmm3
1874
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1875
+ pshufd $0x0e,%xmm0,%xmm0
1876
+ movdqa %xmm3,%xmm7
1877
+ palignr $4,%xmm6,%xmm7
1878
+ nop
1879
+ paddd %xmm7,%xmm4
1880
+ sha256msg1 %xmm6,%xmm5
1881
+ sha256rnds2 %xmm2,%xmm1
1882
+ movdqa 256-128(%rcx),%xmm0
1883
+ paddd %xmm3,%xmm0
1884
+ sha256msg2 %xmm3,%xmm4
1885
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1886
+ pshufd $0x0e,%xmm0,%xmm0
1887
+ movdqa %xmm4,%xmm7
1888
+ palignr $4,%xmm3,%xmm7
1889
+ nop
1890
+ paddd %xmm7,%xmm5
1891
+ sha256msg1 %xmm3,%xmm6
1892
+ sha256rnds2 %xmm2,%xmm1
1893
+ movdqa 288-128(%rcx),%xmm0
1894
+ paddd %xmm4,%xmm0
1895
+ sha256msg2 %xmm4,%xmm5
1896
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1897
+ pshufd $0x0e,%xmm0,%xmm0
1898
+ movdqa %xmm5,%xmm7
1899
+ palignr $4,%xmm4,%xmm7
1900
+ nop
1901
+ paddd %xmm7,%xmm6
1902
+ sha256msg1 %xmm4,%xmm3
1903
+ sha256rnds2 %xmm2,%xmm1
1904
+ movdqa 320-128(%rcx),%xmm0
1905
+ paddd %xmm5,%xmm0
1906
+ sha256msg2 %xmm5,%xmm6
1907
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1908
+ pshufd $0x0e,%xmm0,%xmm0
1909
+ movdqa %xmm6,%xmm7
1910
+ palignr $4,%xmm5,%xmm7
1911
+ nop
1912
+ paddd %xmm7,%xmm3
1913
+ sha256msg1 %xmm5,%xmm4
1914
+ sha256rnds2 %xmm2,%xmm1
1915
+ movdqa 352-128(%rcx),%xmm0
1916
+ paddd %xmm6,%xmm0
1917
+ sha256msg2 %xmm6,%xmm3
1918
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1919
+ pshufd $0x0e,%xmm0,%xmm0
1920
+ movdqa %xmm3,%xmm7
1921
+ palignr $4,%xmm6,%xmm7
1922
+ nop
1923
+ paddd %xmm7,%xmm4
1924
+ sha256msg1 %xmm6,%xmm5
1925
+ sha256rnds2 %xmm2,%xmm1
1926
+ movdqa 384-128(%rcx),%xmm0
1927
+ paddd %xmm3,%xmm0
1928
+ sha256msg2 %xmm3,%xmm4
1929
+ sha256rnds2 %xmm1,%xmm2 // 16-19...
1930
+ pshufd $0x0e,%xmm0,%xmm0
1931
+ movdqa %xmm4,%xmm7
1932
+ palignr $4,%xmm3,%xmm7
1933
+ nop
1934
+ paddd %xmm7,%xmm5
1935
+ sha256msg1 %xmm3,%xmm6
1936
+ sha256rnds2 %xmm2,%xmm1
1937
+ movdqa 416-128(%rcx),%xmm0
1938
+ paddd %xmm4,%xmm0
1939
+ sha256msg2 %xmm4,%xmm5
1940
+ sha256rnds2 %xmm1,%xmm2 // 52-55
1941
+ pshufd $0x0e,%xmm0,%xmm0
1942
+ movdqa %xmm5,%xmm7
1943
+ palignr $4,%xmm4,%xmm7
1944
+ sha256rnds2 %xmm2,%xmm1
1945
+ paddd %xmm7,%xmm6
1946
+
1947
+ movdqa 448-128(%rcx),%xmm0
1948
+ paddd %xmm5,%xmm0
1949
+ sha256rnds2 %xmm1,%xmm2 // 56-59
1950
+ pshufd $0x0e,%xmm0,%xmm0
1951
+ sha256msg2 %xmm5,%xmm6
1952
+ movdqa %xmm8,%xmm7
1953
+ sha256rnds2 %xmm2,%xmm1
1954
+
1955
+ movdqa 480-128(%rcx),%xmm0
1956
+ paddd %xmm6,%xmm0
1957
+ nop
1958
+ sha256rnds2 %xmm1,%xmm2 // 60-63
1959
+ pshufd $0x0e,%xmm0,%xmm0
1960
+ decq %rdx
1961
+ nop
1962
+ sha256rnds2 %xmm2,%xmm1
1963
+
1964
+ paddd %xmm10,%xmm2
1965
+ paddd %xmm9,%xmm1
1966
+ jnz L$oop_shaext
1967
+
1968
+ pshufd $0xb1,%xmm2,%xmm2 // DCHG
1969
+ pshufd $0x1b,%xmm1,%xmm7 // FEBA
1970
+ pshufd $0xb1,%xmm1,%xmm1 // BAFE
1971
+ punpckhqdq %xmm2,%xmm1 // DCBA
1972
+ palignr $8,%xmm7,%xmm2 // HGFE
1973
+
1974
+ movdqu %xmm1,(%rdi)
1975
+ movdqu %xmm2,16(%rdi)
1976
+ ret
1977
+
1978
+
1979
+ .globl _sha256_block_data_order_ssse3
1980
+ .private_extern _sha256_block_data_order_ssse3
1981
+
1982
+ .p2align 6
1983
+ .alt_entry _sha256_block_data_order_ssse3
1984
+ _sha256_block_data_order_ssse3:
1985
+
1986
+ _CET_ENDBR
1987
+ movq %rsp,%rax // copy %rsp
1988
+
1989
+ pushq %rbx
1990
+
1991
+ pushq %rbp
1992
+
1993
+ pushq %r12
1994
+
1995
+ pushq %r13
1996
+
1997
+ pushq %r14
1998
+
1999
+ pushq %r15
2000
+
2001
+ shlq $4,%rdx // num*16
2002
+ subq $96,%rsp
2003
+ leaq (%rsi,%rdx,4),%rdx // inp+num*16*4
2004
+ andq $-64,%rsp // align stack frame
2005
+ movq %rdi,64+0(%rsp) // save ctx, 1st arg
2006
+ movq %rsi,64+8(%rsp) // save inp, 2nd arh
2007
+ movq %rdx,64+16(%rsp) // save end pointer, "3rd" arg
2008
+ movq %rax,88(%rsp) // save copy of %rsp
2009
+
2010
+ L$prologue_ssse3:
2011
+
2012
+ movl 0(%rdi),%eax
2013
+ movl 4(%rdi),%ebx
2014
+ movl 8(%rdi),%ecx
2015
+ movl 12(%rdi),%edx
2016
+ movl 16(%rdi),%r8d
2017
+ movl 20(%rdi),%r9d
2018
+ movl 24(%rdi),%r10d
2019
+ movl 28(%rdi),%r11d
2020
+ // movdqa K256+512+32(%rip),%xmm8
2021
+ // movdqa K256+512+64(%rip),%xmm9
2022
+ jmp L$loop_ssse3
2023
+ .p2align 4
2024
+ L$loop_ssse3:
2025
+ movdqa K256+512(%rip),%xmm7
2026
+ movdqu 0(%rsi),%xmm0
2027
+ movdqu 16(%rsi),%xmm1
2028
+ movdqu 32(%rsi),%xmm2
2029
+ pshufb %xmm7,%xmm0
2030
+ movdqu 48(%rsi),%xmm3
2031
+ leaq K256(%rip),%rbp
2032
+ pshufb %xmm7,%xmm1
2033
+ movdqa 0(%rbp),%xmm4
2034
+ movdqa 32(%rbp),%xmm5
2035
+ pshufb %xmm7,%xmm2
2036
+ paddd %xmm0,%xmm4
2037
+ movdqa 64(%rbp),%xmm6
2038
+ pshufb %xmm7,%xmm3
2039
+ movdqa 96(%rbp),%xmm7
2040
+ paddd %xmm1,%xmm5
2041
+ paddd %xmm2,%xmm6
2042
+ paddd %xmm3,%xmm7
2043
+ movdqa %xmm4,0(%rsp)
2044
+ movl %eax,%r14d
2045
+ movdqa %xmm5,16(%rsp)
2046
+ movl %ebx,%edi
2047
+ movdqa %xmm6,32(%rsp)
2048
+ xorl %ecx,%edi // magic
2049
+ movdqa %xmm7,48(%rsp)
2050
+ movl %r8d,%r13d
2051
+ jmp L$ssse3_00_47
2052
+
2053
+ .p2align 4
2054
+ L$ssse3_00_47:
2055
+ subq $-128,%rbp // size optimization
2056
+ rorl $14,%r13d
2057
+ movdqa %xmm1,%xmm4
2058
+ movl %r14d,%eax
2059
+ movl %r9d,%r12d
2060
+ movdqa %xmm3,%xmm7
2061
+ rorl $9,%r14d
2062
+ xorl %r8d,%r13d
2063
+ xorl %r10d,%r12d
2064
+ rorl $5,%r13d
2065
+ xorl %eax,%r14d
2066
+ palignr $4,%xmm0,%xmm4
2067
+ andl %r8d,%r12d
2068
+ xorl %r8d,%r13d
2069
+ palignr $4,%xmm2,%xmm7
2070
+ addl 0(%rsp),%r11d
2071
+ movl %eax,%r15d
2072
+ xorl %r10d,%r12d
2073
+ rorl $11,%r14d
2074
+ movdqa %xmm4,%xmm5
2075
+ xorl %ebx,%r15d
2076
+ addl %r12d,%r11d
2077
+ movdqa %xmm4,%xmm6
2078
+ rorl $6,%r13d
2079
+ andl %r15d,%edi
2080
+ psrld $3,%xmm4
2081
+ xorl %eax,%r14d
2082
+ addl %r13d,%r11d
2083
+ xorl %ebx,%edi
2084
+ paddd %xmm7,%xmm0
2085
+ rorl $2,%r14d
2086
+ addl %r11d,%edx
2087
+ psrld $7,%xmm6
2088
+ addl %edi,%r11d
2089
+ movl %edx,%r13d
2090
+ pshufd $250,%xmm3,%xmm7
2091
+ addl %r11d,%r14d
2092
+ rorl $14,%r13d
2093
+ pslld $14,%xmm5
2094
+ movl %r14d,%r11d
2095
+ movl %r8d,%r12d
2096
+ pxor %xmm6,%xmm4
2097
+ rorl $9,%r14d
2098
+ xorl %edx,%r13d
2099
+ xorl %r9d,%r12d
2100
+ rorl $5,%r13d
2101
+ psrld $11,%xmm6
2102
+ xorl %r11d,%r14d
2103
+ pxor %xmm5,%xmm4
2104
+ andl %edx,%r12d
2105
+ xorl %edx,%r13d
2106
+ pslld $11,%xmm5
2107
+ addl 4(%rsp),%r10d
2108
+ movl %r11d,%edi
2109
+ pxor %xmm6,%xmm4
2110
+ xorl %r9d,%r12d
2111
+ rorl $11,%r14d
2112
+ movdqa %xmm7,%xmm6
2113
+ xorl %eax,%edi
2114
+ addl %r12d,%r10d
2115
+ pxor %xmm5,%xmm4
2116
+ rorl $6,%r13d
2117
+ andl %edi,%r15d
2118
+ xorl %r11d,%r14d
2119
+ psrld $10,%xmm7
2120
+ addl %r13d,%r10d
2121
+ xorl %eax,%r15d
2122
+ paddd %xmm4,%xmm0
2123
+ rorl $2,%r14d
2124
+ addl %r10d,%ecx
2125
+ psrlq $17,%xmm6
2126
+ addl %r15d,%r10d
2127
+ movl %ecx,%r13d
2128
+ addl %r10d,%r14d
2129
+ pxor %xmm6,%xmm7
2130
+ rorl $14,%r13d
2131
+ movl %r14d,%r10d
2132
+ movl %edx,%r12d
2133
+ rorl $9,%r14d
2134
+ psrlq $2,%xmm6
2135
+ xorl %ecx,%r13d
2136
+ xorl %r8d,%r12d
2137
+ pxor %xmm6,%xmm7
2138
+ rorl $5,%r13d
2139
+ xorl %r10d,%r14d
2140
+ andl %ecx,%r12d
2141
+ pshufd $128,%xmm7,%xmm7
2142
+ xorl %ecx,%r13d
2143
+ addl 8(%rsp),%r9d
2144
+ movl %r10d,%r15d
2145
+ psrldq $8,%xmm7
2146
+ xorl %r8d,%r12d
2147
+ rorl $11,%r14d
2148
+ xorl %r11d,%r15d
2149
+ addl %r12d,%r9d
2150
+ rorl $6,%r13d
2151
+ paddd %xmm7,%xmm0
2152
+ andl %r15d,%edi
2153
+ xorl %r10d,%r14d
2154
+ addl %r13d,%r9d
2155
+ pshufd $80,%xmm0,%xmm7
2156
+ xorl %r11d,%edi
2157
+ rorl $2,%r14d
2158
+ addl %r9d,%ebx
2159
+ movdqa %xmm7,%xmm6
2160
+ addl %edi,%r9d
2161
+ movl %ebx,%r13d
2162
+ psrld $10,%xmm7
2163
+ addl %r9d,%r14d
2164
+ rorl $14,%r13d
2165
+ psrlq $17,%xmm6
2166
+ movl %r14d,%r9d
2167
+ movl %ecx,%r12d
2168
+ pxor %xmm6,%xmm7
2169
+ rorl $9,%r14d
2170
+ xorl %ebx,%r13d
2171
+ xorl %edx,%r12d
2172
+ rorl $5,%r13d
2173
+ xorl %r9d,%r14d
2174
+ psrlq $2,%xmm6
2175
+ andl %ebx,%r12d
2176
+ xorl %ebx,%r13d
2177
+ addl 12(%rsp),%r8d
2178
+ pxor %xmm6,%xmm7
2179
+ movl %r9d,%edi
2180
+ xorl %edx,%r12d
2181
+ rorl $11,%r14d
2182
+ pshufd $8,%xmm7,%xmm7
2183
+ xorl %r10d,%edi
2184
+ addl %r12d,%r8d
2185
+ movdqa 0(%rbp),%xmm6
2186
+ rorl $6,%r13d
2187
+ andl %edi,%r15d
2188
+ pslldq $8,%xmm7
2189
+ xorl %r9d,%r14d
2190
+ addl %r13d,%r8d
2191
+ xorl %r10d,%r15d
2192
+ paddd %xmm7,%xmm0
2193
+ rorl $2,%r14d
2194
+ addl %r8d,%eax
2195
+ addl %r15d,%r8d
2196
+ paddd %xmm0,%xmm6
2197
+ movl %eax,%r13d
2198
+ addl %r8d,%r14d
2199
+ movdqa %xmm6,0(%rsp)
2200
+ rorl $14,%r13d
2201
+ movdqa %xmm2,%xmm4
2202
+ movl %r14d,%r8d
2203
+ movl %ebx,%r12d
2204
+ movdqa %xmm0,%xmm7
2205
+ rorl $9,%r14d
2206
+ xorl %eax,%r13d
2207
+ xorl %ecx,%r12d
2208
+ rorl $5,%r13d
2209
+ xorl %r8d,%r14d
2210
+ palignr $4,%xmm1,%xmm4
2211
+ andl %eax,%r12d
2212
+ xorl %eax,%r13d
2213
+ palignr $4,%xmm3,%xmm7
2214
+ addl 16(%rsp),%edx
2215
+ movl %r8d,%r15d
2216
+ xorl %ecx,%r12d
2217
+ rorl $11,%r14d
2218
+ movdqa %xmm4,%xmm5
2219
+ xorl %r9d,%r15d
2220
+ addl %r12d,%edx
2221
+ movdqa %xmm4,%xmm6
2222
+ rorl $6,%r13d
2223
+ andl %r15d,%edi
2224
+ psrld $3,%xmm4
2225
+ xorl %r8d,%r14d
2226
+ addl %r13d,%edx
2227
+ xorl %r9d,%edi
2228
+ paddd %xmm7,%xmm1
2229
+ rorl $2,%r14d
2230
+ addl %edx,%r11d
2231
+ psrld $7,%xmm6
2232
+ addl %edi,%edx
2233
+ movl %r11d,%r13d
2234
+ pshufd $250,%xmm0,%xmm7
2235
+ addl %edx,%r14d
2236
+ rorl $14,%r13d
2237
+ pslld $14,%xmm5
2238
+ movl %r14d,%edx
2239
+ movl %eax,%r12d
2240
+ pxor %xmm6,%xmm4
2241
+ rorl $9,%r14d
2242
+ xorl %r11d,%r13d
2243
+ xorl %ebx,%r12d
2244
+ rorl $5,%r13d
2245
+ psrld $11,%xmm6
2246
+ xorl %edx,%r14d
2247
+ pxor %xmm5,%xmm4
2248
+ andl %r11d,%r12d
2249
+ xorl %r11d,%r13d
2250
+ pslld $11,%xmm5
2251
+ addl 20(%rsp),%ecx
2252
+ movl %edx,%edi
2253
+ pxor %xmm6,%xmm4
2254
+ xorl %ebx,%r12d
2255
+ rorl $11,%r14d
2256
+ movdqa %xmm7,%xmm6
2257
+ xorl %r8d,%edi
2258
+ addl %r12d,%ecx
2259
+ pxor %xmm5,%xmm4
2260
+ rorl $6,%r13d
2261
+ andl %edi,%r15d
2262
+ xorl %edx,%r14d
2263
+ psrld $10,%xmm7
2264
+ addl %r13d,%ecx
2265
+ xorl %r8d,%r15d
2266
+ paddd %xmm4,%xmm1
2267
+ rorl $2,%r14d
2268
+ addl %ecx,%r10d
2269
+ psrlq $17,%xmm6
2270
+ addl %r15d,%ecx
2271
+ movl %r10d,%r13d
2272
+ addl %ecx,%r14d
2273
+ pxor %xmm6,%xmm7
2274
+ rorl $14,%r13d
2275
+ movl %r14d,%ecx
2276
+ movl %r11d,%r12d
2277
+ rorl $9,%r14d
2278
+ psrlq $2,%xmm6
2279
+ xorl %r10d,%r13d
2280
+ xorl %eax,%r12d
2281
+ pxor %xmm6,%xmm7
2282
+ rorl $5,%r13d
2283
+ xorl %ecx,%r14d
2284
+ andl %r10d,%r12d
2285
+ pshufd $128,%xmm7,%xmm7
2286
+ xorl %r10d,%r13d
2287
+ addl 24(%rsp),%ebx
2288
+ movl %ecx,%r15d
2289
+ psrldq $8,%xmm7
2290
+ xorl %eax,%r12d
2291
+ rorl $11,%r14d
2292
+ xorl %edx,%r15d
2293
+ addl %r12d,%ebx
2294
+ rorl $6,%r13d
2295
+ paddd %xmm7,%xmm1
2296
+ andl %r15d,%edi
2297
+ xorl %ecx,%r14d
2298
+ addl %r13d,%ebx
2299
+ pshufd $80,%xmm1,%xmm7
2300
+ xorl %edx,%edi
2301
+ rorl $2,%r14d
2302
+ addl %ebx,%r9d
2303
+ movdqa %xmm7,%xmm6
2304
+ addl %edi,%ebx
2305
+ movl %r9d,%r13d
2306
+ psrld $10,%xmm7
2307
+ addl %ebx,%r14d
2308
+ rorl $14,%r13d
2309
+ psrlq $17,%xmm6
2310
+ movl %r14d,%ebx
2311
+ movl %r10d,%r12d
2312
+ pxor %xmm6,%xmm7
2313
+ rorl $9,%r14d
2314
+ xorl %r9d,%r13d
2315
+ xorl %r11d,%r12d
2316
+ rorl $5,%r13d
2317
+ xorl %ebx,%r14d
2318
+ psrlq $2,%xmm6
2319
+ andl %r9d,%r12d
2320
+ xorl %r9d,%r13d
2321
+ addl 28(%rsp),%eax
2322
+ pxor %xmm6,%xmm7
2323
+ movl %ebx,%edi
2324
+ xorl %r11d,%r12d
2325
+ rorl $11,%r14d
2326
+ pshufd $8,%xmm7,%xmm7
2327
+ xorl %ecx,%edi
2328
+ addl %r12d,%eax
2329
+ movdqa 32(%rbp),%xmm6
2330
+ rorl $6,%r13d
2331
+ andl %edi,%r15d
2332
+ pslldq $8,%xmm7
2333
+ xorl %ebx,%r14d
2334
+ addl %r13d,%eax
2335
+ xorl %ecx,%r15d
2336
+ paddd %xmm7,%xmm1
2337
+ rorl $2,%r14d
2338
+ addl %eax,%r8d
2339
+ addl %r15d,%eax
2340
+ paddd %xmm1,%xmm6
2341
+ movl %r8d,%r13d
2342
+ addl %eax,%r14d
2343
+ movdqa %xmm6,16(%rsp)
2344
+ rorl $14,%r13d
2345
+ movdqa %xmm3,%xmm4
2346
+ movl %r14d,%eax
2347
+ movl %r9d,%r12d
2348
+ movdqa %xmm1,%xmm7
2349
+ rorl $9,%r14d
2350
+ xorl %r8d,%r13d
2351
+ xorl %r10d,%r12d
2352
+ rorl $5,%r13d
2353
+ xorl %eax,%r14d
2354
+ palignr $4,%xmm2,%xmm4
2355
+ andl %r8d,%r12d
2356
+ xorl %r8d,%r13d
2357
+ palignr $4,%xmm0,%xmm7
2358
+ addl 32(%rsp),%r11d
2359
+ movl %eax,%r15d
2360
+ xorl %r10d,%r12d
2361
+ rorl $11,%r14d
2362
+ movdqa %xmm4,%xmm5
2363
+ xorl %ebx,%r15d
2364
+ addl %r12d,%r11d
2365
+ movdqa %xmm4,%xmm6
2366
+ rorl $6,%r13d
2367
+ andl %r15d,%edi
2368
+ psrld $3,%xmm4
2369
+ xorl %eax,%r14d
2370
+ addl %r13d,%r11d
2371
+ xorl %ebx,%edi
2372
+ paddd %xmm7,%xmm2
2373
+ rorl $2,%r14d
2374
+ addl %r11d,%edx
2375
+ psrld $7,%xmm6
2376
+ addl %edi,%r11d
2377
+ movl %edx,%r13d
2378
+ pshufd $250,%xmm1,%xmm7
2379
+ addl %r11d,%r14d
2380
+ rorl $14,%r13d
2381
+ pslld $14,%xmm5
2382
+ movl %r14d,%r11d
2383
+ movl %r8d,%r12d
2384
+ pxor %xmm6,%xmm4
2385
+ rorl $9,%r14d
2386
+ xorl %edx,%r13d
2387
+ xorl %r9d,%r12d
2388
+ rorl $5,%r13d
2389
+ psrld $11,%xmm6
2390
+ xorl %r11d,%r14d
2391
+ pxor %xmm5,%xmm4
2392
+ andl %edx,%r12d
2393
+ xorl %edx,%r13d
2394
+ pslld $11,%xmm5
2395
+ addl 36(%rsp),%r10d
2396
+ movl %r11d,%edi
2397
+ pxor %xmm6,%xmm4
2398
+ xorl %r9d,%r12d
2399
+ rorl $11,%r14d
2400
+ movdqa %xmm7,%xmm6
2401
+ xorl %eax,%edi
2402
+ addl %r12d,%r10d
2403
+ pxor %xmm5,%xmm4
2404
+ rorl $6,%r13d
2405
+ andl %edi,%r15d
2406
+ xorl %r11d,%r14d
2407
+ psrld $10,%xmm7
2408
+ addl %r13d,%r10d
2409
+ xorl %eax,%r15d
2410
+ paddd %xmm4,%xmm2
2411
+ rorl $2,%r14d
2412
+ addl %r10d,%ecx
2413
+ psrlq $17,%xmm6
2414
+ addl %r15d,%r10d
2415
+ movl %ecx,%r13d
2416
+ addl %r10d,%r14d
2417
+ pxor %xmm6,%xmm7
2418
+ rorl $14,%r13d
2419
+ movl %r14d,%r10d
2420
+ movl %edx,%r12d
2421
+ rorl $9,%r14d
2422
+ psrlq $2,%xmm6
2423
+ xorl %ecx,%r13d
2424
+ xorl %r8d,%r12d
2425
+ pxor %xmm6,%xmm7
2426
+ rorl $5,%r13d
2427
+ xorl %r10d,%r14d
2428
+ andl %ecx,%r12d
2429
+ pshufd $128,%xmm7,%xmm7
2430
+ xorl %ecx,%r13d
2431
+ addl 40(%rsp),%r9d
2432
+ movl %r10d,%r15d
2433
+ psrldq $8,%xmm7
2434
+ xorl %r8d,%r12d
2435
+ rorl $11,%r14d
2436
+ xorl %r11d,%r15d
2437
+ addl %r12d,%r9d
2438
+ rorl $6,%r13d
2439
+ paddd %xmm7,%xmm2
2440
+ andl %r15d,%edi
2441
+ xorl %r10d,%r14d
2442
+ addl %r13d,%r9d
2443
+ pshufd $80,%xmm2,%xmm7
2444
+ xorl %r11d,%edi
2445
+ rorl $2,%r14d
2446
+ addl %r9d,%ebx
2447
+ movdqa %xmm7,%xmm6
2448
+ addl %edi,%r9d
2449
+ movl %ebx,%r13d
2450
+ psrld $10,%xmm7
2451
+ addl %r9d,%r14d
2452
+ rorl $14,%r13d
2453
+ psrlq $17,%xmm6
2454
+ movl %r14d,%r9d
2455
+ movl %ecx,%r12d
2456
+ pxor %xmm6,%xmm7
2457
+ rorl $9,%r14d
2458
+ xorl %ebx,%r13d
2459
+ xorl %edx,%r12d
2460
+ rorl $5,%r13d
2461
+ xorl %r9d,%r14d
2462
+ psrlq $2,%xmm6
2463
+ andl %ebx,%r12d
2464
+ xorl %ebx,%r13d
2465
+ addl 44(%rsp),%r8d
2466
+ pxor %xmm6,%xmm7
2467
+ movl %r9d,%edi
2468
+ xorl %edx,%r12d
2469
+ rorl $11,%r14d
2470
+ pshufd $8,%xmm7,%xmm7
2471
+ xorl %r10d,%edi
2472
+ addl %r12d,%r8d
2473
+ movdqa 64(%rbp),%xmm6
2474
+ rorl $6,%r13d
2475
+ andl %edi,%r15d
2476
+ pslldq $8,%xmm7
2477
+ xorl %r9d,%r14d
2478
+ addl %r13d,%r8d
2479
+ xorl %r10d,%r15d
2480
+ paddd %xmm7,%xmm2
2481
+ rorl $2,%r14d
2482
+ addl %r8d,%eax
2483
+ addl %r15d,%r8d
2484
+ paddd %xmm2,%xmm6
2485
+ movl %eax,%r13d
2486
+ addl %r8d,%r14d
2487
+ movdqa %xmm6,32(%rsp)
2488
+ rorl $14,%r13d
2489
+ movdqa %xmm0,%xmm4
2490
+ movl %r14d,%r8d
2491
+ movl %ebx,%r12d
2492
+ movdqa %xmm2,%xmm7
2493
+ rorl $9,%r14d
2494
+ xorl %eax,%r13d
2495
+ xorl %ecx,%r12d
2496
+ rorl $5,%r13d
2497
+ xorl %r8d,%r14d
2498
+ palignr $4,%xmm3,%xmm4
2499
+ andl %eax,%r12d
2500
+ xorl %eax,%r13d
2501
+ palignr $4,%xmm1,%xmm7
2502
+ addl 48(%rsp),%edx
2503
+ movl %r8d,%r15d
2504
+ xorl %ecx,%r12d
2505
+ rorl $11,%r14d
2506
+ movdqa %xmm4,%xmm5
2507
+ xorl %r9d,%r15d
2508
+ addl %r12d,%edx
2509
+ movdqa %xmm4,%xmm6
2510
+ rorl $6,%r13d
2511
+ andl %r15d,%edi
2512
+ psrld $3,%xmm4
2513
+ xorl %r8d,%r14d
2514
+ addl %r13d,%edx
2515
+ xorl %r9d,%edi
2516
+ paddd %xmm7,%xmm3
2517
+ rorl $2,%r14d
2518
+ addl %edx,%r11d
2519
+ psrld $7,%xmm6
2520
+ addl %edi,%edx
2521
+ movl %r11d,%r13d
2522
+ pshufd $250,%xmm2,%xmm7
2523
+ addl %edx,%r14d
2524
+ rorl $14,%r13d
2525
+ pslld $14,%xmm5
2526
+ movl %r14d,%edx
2527
+ movl %eax,%r12d
2528
+ pxor %xmm6,%xmm4
2529
+ rorl $9,%r14d
2530
+ xorl %r11d,%r13d
2531
+ xorl %ebx,%r12d
2532
+ rorl $5,%r13d
2533
+ psrld $11,%xmm6
2534
+ xorl %edx,%r14d
2535
+ pxor %xmm5,%xmm4
2536
+ andl %r11d,%r12d
2537
+ xorl %r11d,%r13d
2538
+ pslld $11,%xmm5
2539
+ addl 52(%rsp),%ecx
2540
+ movl %edx,%edi
2541
+ pxor %xmm6,%xmm4
2542
+ xorl %ebx,%r12d
2543
+ rorl $11,%r14d
2544
+ movdqa %xmm7,%xmm6
2545
+ xorl %r8d,%edi
2546
+ addl %r12d,%ecx
2547
+ pxor %xmm5,%xmm4
2548
+ rorl $6,%r13d
2549
+ andl %edi,%r15d
2550
+ xorl %edx,%r14d
2551
+ psrld $10,%xmm7
2552
+ addl %r13d,%ecx
2553
+ xorl %r8d,%r15d
2554
+ paddd %xmm4,%xmm3
2555
+ rorl $2,%r14d
2556
+ addl %ecx,%r10d
2557
+ psrlq $17,%xmm6
2558
+ addl %r15d,%ecx
2559
+ movl %r10d,%r13d
2560
+ addl %ecx,%r14d
2561
+ pxor %xmm6,%xmm7
2562
+ rorl $14,%r13d
2563
+ movl %r14d,%ecx
2564
+ movl %r11d,%r12d
2565
+ rorl $9,%r14d
2566
+ psrlq $2,%xmm6
2567
+ xorl %r10d,%r13d
2568
+ xorl %eax,%r12d
2569
+ pxor %xmm6,%xmm7
2570
+ rorl $5,%r13d
2571
+ xorl %ecx,%r14d
2572
+ andl %r10d,%r12d
2573
+ pshufd $128,%xmm7,%xmm7
2574
+ xorl %r10d,%r13d
2575
+ addl 56(%rsp),%ebx
2576
+ movl %ecx,%r15d
2577
+ psrldq $8,%xmm7
2578
+ xorl %eax,%r12d
2579
+ rorl $11,%r14d
2580
+ xorl %edx,%r15d
2581
+ addl %r12d,%ebx
2582
+ rorl $6,%r13d
2583
+ paddd %xmm7,%xmm3
2584
+ andl %r15d,%edi
2585
+ xorl %ecx,%r14d
2586
+ addl %r13d,%ebx
2587
+ pshufd $80,%xmm3,%xmm7
2588
+ xorl %edx,%edi
2589
+ rorl $2,%r14d
2590
+ addl %ebx,%r9d
2591
+ movdqa %xmm7,%xmm6
2592
+ addl %edi,%ebx
2593
+ movl %r9d,%r13d
2594
+ psrld $10,%xmm7
2595
+ addl %ebx,%r14d
2596
+ rorl $14,%r13d
2597
+ psrlq $17,%xmm6
2598
+ movl %r14d,%ebx
2599
+ movl %r10d,%r12d
2600
+ pxor %xmm6,%xmm7
2601
+ rorl $9,%r14d
2602
+ xorl %r9d,%r13d
2603
+ xorl %r11d,%r12d
2604
+ rorl $5,%r13d
2605
+ xorl %ebx,%r14d
2606
+ psrlq $2,%xmm6
2607
+ andl %r9d,%r12d
2608
+ xorl %r9d,%r13d
2609
+ addl 60(%rsp),%eax
2610
+ pxor %xmm6,%xmm7
2611
+ movl %ebx,%edi
2612
+ xorl %r11d,%r12d
2613
+ rorl $11,%r14d
2614
+ pshufd $8,%xmm7,%xmm7
2615
+ xorl %ecx,%edi
2616
+ addl %r12d,%eax
2617
+ movdqa 96(%rbp),%xmm6
2618
+ rorl $6,%r13d
2619
+ andl %edi,%r15d
2620
+ pslldq $8,%xmm7
2621
+ xorl %ebx,%r14d
2622
+ addl %r13d,%eax
2623
+ xorl %ecx,%r15d
2624
+ paddd %xmm7,%xmm3
2625
+ rorl $2,%r14d
2626
+ addl %eax,%r8d
2627
+ addl %r15d,%eax
2628
+ paddd %xmm3,%xmm6
2629
+ movl %r8d,%r13d
2630
+ addl %eax,%r14d
2631
+ movdqa %xmm6,48(%rsp)
2632
+ cmpb $0,131(%rbp)
2633
+ jne L$ssse3_00_47
2634
+ rorl $14,%r13d
2635
+ movl %r14d,%eax
2636
+ movl %r9d,%r12d
2637
+ rorl $9,%r14d
2638
+ xorl %r8d,%r13d
2639
+ xorl %r10d,%r12d
2640
+ rorl $5,%r13d
2641
+ xorl %eax,%r14d
2642
+ andl %r8d,%r12d
2643
+ xorl %r8d,%r13d
2644
+ addl 0(%rsp),%r11d
2645
+ movl %eax,%r15d
2646
+ xorl %r10d,%r12d
2647
+ rorl $11,%r14d
2648
+ xorl %ebx,%r15d
2649
+ addl %r12d,%r11d
2650
+ rorl $6,%r13d
2651
+ andl %r15d,%edi
2652
+ xorl %eax,%r14d
2653
+ addl %r13d,%r11d
2654
+ xorl %ebx,%edi
2655
+ rorl $2,%r14d
2656
+ addl %r11d,%edx
2657
+ addl %edi,%r11d
2658
+ movl %edx,%r13d
2659
+ addl %r11d,%r14d
2660
+ rorl $14,%r13d
2661
+ movl %r14d,%r11d
2662
+ movl %r8d,%r12d
2663
+ rorl $9,%r14d
2664
+ xorl %edx,%r13d
2665
+ xorl %r9d,%r12d
2666
+ rorl $5,%r13d
2667
+ xorl %r11d,%r14d
2668
+ andl %edx,%r12d
2669
+ xorl %edx,%r13d
2670
+ addl 4(%rsp),%r10d
2671
+ movl %r11d,%edi
2672
+ xorl %r9d,%r12d
2673
+ rorl $11,%r14d
2674
+ xorl %eax,%edi
2675
+ addl %r12d,%r10d
2676
+ rorl $6,%r13d
2677
+ andl %edi,%r15d
2678
+ xorl %r11d,%r14d
2679
+ addl %r13d,%r10d
2680
+ xorl %eax,%r15d
2681
+ rorl $2,%r14d
2682
+ addl %r10d,%ecx
2683
+ addl %r15d,%r10d
2684
+ movl %ecx,%r13d
2685
+ addl %r10d,%r14d
2686
+ rorl $14,%r13d
2687
+ movl %r14d,%r10d
2688
+ movl %edx,%r12d
2689
+ rorl $9,%r14d
2690
+ xorl %ecx,%r13d
2691
+ xorl %r8d,%r12d
2692
+ rorl $5,%r13d
2693
+ xorl %r10d,%r14d
2694
+ andl %ecx,%r12d
2695
+ xorl %ecx,%r13d
2696
+ addl 8(%rsp),%r9d
2697
+ movl %r10d,%r15d
2698
+ xorl %r8d,%r12d
2699
+ rorl $11,%r14d
2700
+ xorl %r11d,%r15d
2701
+ addl %r12d,%r9d
2702
+ rorl $6,%r13d
2703
+ andl %r15d,%edi
2704
+ xorl %r10d,%r14d
2705
+ addl %r13d,%r9d
2706
+ xorl %r11d,%edi
2707
+ rorl $2,%r14d
2708
+ addl %r9d,%ebx
2709
+ addl %edi,%r9d
2710
+ movl %ebx,%r13d
2711
+ addl %r9d,%r14d
2712
+ rorl $14,%r13d
2713
+ movl %r14d,%r9d
2714
+ movl %ecx,%r12d
2715
+ rorl $9,%r14d
2716
+ xorl %ebx,%r13d
2717
+ xorl %edx,%r12d
2718
+ rorl $5,%r13d
2719
+ xorl %r9d,%r14d
2720
+ andl %ebx,%r12d
2721
+ xorl %ebx,%r13d
2722
+ addl 12(%rsp),%r8d
2723
+ movl %r9d,%edi
2724
+ xorl %edx,%r12d
2725
+ rorl $11,%r14d
2726
+ xorl %r10d,%edi
2727
+ addl %r12d,%r8d
2728
+ rorl $6,%r13d
2729
+ andl %edi,%r15d
2730
+ xorl %r9d,%r14d
2731
+ addl %r13d,%r8d
2732
+ xorl %r10d,%r15d
2733
+ rorl $2,%r14d
2734
+ addl %r8d,%eax
2735
+ addl %r15d,%r8d
2736
+ movl %eax,%r13d
2737
+ addl %r8d,%r14d
2738
+ rorl $14,%r13d
2739
+ movl %r14d,%r8d
2740
+ movl %ebx,%r12d
2741
+ rorl $9,%r14d
2742
+ xorl %eax,%r13d
2743
+ xorl %ecx,%r12d
2744
+ rorl $5,%r13d
2745
+ xorl %r8d,%r14d
2746
+ andl %eax,%r12d
2747
+ xorl %eax,%r13d
2748
+ addl 16(%rsp),%edx
2749
+ movl %r8d,%r15d
2750
+ xorl %ecx,%r12d
2751
+ rorl $11,%r14d
2752
+ xorl %r9d,%r15d
2753
+ addl %r12d,%edx
2754
+ rorl $6,%r13d
2755
+ andl %r15d,%edi
2756
+ xorl %r8d,%r14d
2757
+ addl %r13d,%edx
2758
+ xorl %r9d,%edi
2759
+ rorl $2,%r14d
2760
+ addl %edx,%r11d
2761
+ addl %edi,%edx
2762
+ movl %r11d,%r13d
2763
+ addl %edx,%r14d
2764
+ rorl $14,%r13d
2765
+ movl %r14d,%edx
2766
+ movl %eax,%r12d
2767
+ rorl $9,%r14d
2768
+ xorl %r11d,%r13d
2769
+ xorl %ebx,%r12d
2770
+ rorl $5,%r13d
2771
+ xorl %edx,%r14d
2772
+ andl %r11d,%r12d
2773
+ xorl %r11d,%r13d
2774
+ addl 20(%rsp),%ecx
2775
+ movl %edx,%edi
2776
+ xorl %ebx,%r12d
2777
+ rorl $11,%r14d
2778
+ xorl %r8d,%edi
2779
+ addl %r12d,%ecx
2780
+ rorl $6,%r13d
2781
+ andl %edi,%r15d
2782
+ xorl %edx,%r14d
2783
+ addl %r13d,%ecx
2784
+ xorl %r8d,%r15d
2785
+ rorl $2,%r14d
2786
+ addl %ecx,%r10d
2787
+ addl %r15d,%ecx
2788
+ movl %r10d,%r13d
2789
+ addl %ecx,%r14d
2790
+ rorl $14,%r13d
2791
+ movl %r14d,%ecx
2792
+ movl %r11d,%r12d
2793
+ rorl $9,%r14d
2794
+ xorl %r10d,%r13d
2795
+ xorl %eax,%r12d
2796
+ rorl $5,%r13d
2797
+ xorl %ecx,%r14d
2798
+ andl %r10d,%r12d
2799
+ xorl %r10d,%r13d
2800
+ addl 24(%rsp),%ebx
2801
+ movl %ecx,%r15d
2802
+ xorl %eax,%r12d
2803
+ rorl $11,%r14d
2804
+ xorl %edx,%r15d
2805
+ addl %r12d,%ebx
2806
+ rorl $6,%r13d
2807
+ andl %r15d,%edi
2808
+ xorl %ecx,%r14d
2809
+ addl %r13d,%ebx
2810
+ xorl %edx,%edi
2811
+ rorl $2,%r14d
2812
+ addl %ebx,%r9d
2813
+ addl %edi,%ebx
2814
+ movl %r9d,%r13d
2815
+ addl %ebx,%r14d
2816
+ rorl $14,%r13d
2817
+ movl %r14d,%ebx
2818
+ movl %r10d,%r12d
2819
+ rorl $9,%r14d
2820
+ xorl %r9d,%r13d
2821
+ xorl %r11d,%r12d
2822
+ rorl $5,%r13d
2823
+ xorl %ebx,%r14d
2824
+ andl %r9d,%r12d
2825
+ xorl %r9d,%r13d
2826
+ addl 28(%rsp),%eax
2827
+ movl %ebx,%edi
2828
+ xorl %r11d,%r12d
2829
+ rorl $11,%r14d
2830
+ xorl %ecx,%edi
2831
+ addl %r12d,%eax
2832
+ rorl $6,%r13d
2833
+ andl %edi,%r15d
2834
+ xorl %ebx,%r14d
2835
+ addl %r13d,%eax
2836
+ xorl %ecx,%r15d
2837
+ rorl $2,%r14d
2838
+ addl %eax,%r8d
2839
+ addl %r15d,%eax
2840
+ movl %r8d,%r13d
2841
+ addl %eax,%r14d
2842
+ rorl $14,%r13d
2843
+ movl %r14d,%eax
2844
+ movl %r9d,%r12d
2845
+ rorl $9,%r14d
2846
+ xorl %r8d,%r13d
2847
+ xorl %r10d,%r12d
2848
+ rorl $5,%r13d
2849
+ xorl %eax,%r14d
2850
+ andl %r8d,%r12d
2851
+ xorl %r8d,%r13d
2852
+ addl 32(%rsp),%r11d
2853
+ movl %eax,%r15d
2854
+ xorl %r10d,%r12d
2855
+ rorl $11,%r14d
2856
+ xorl %ebx,%r15d
2857
+ addl %r12d,%r11d
2858
+ rorl $6,%r13d
2859
+ andl %r15d,%edi
2860
+ xorl %eax,%r14d
2861
+ addl %r13d,%r11d
2862
+ xorl %ebx,%edi
2863
+ rorl $2,%r14d
2864
+ addl %r11d,%edx
2865
+ addl %edi,%r11d
2866
+ movl %edx,%r13d
2867
+ addl %r11d,%r14d
2868
+ rorl $14,%r13d
2869
+ movl %r14d,%r11d
2870
+ movl %r8d,%r12d
2871
+ rorl $9,%r14d
2872
+ xorl %edx,%r13d
2873
+ xorl %r9d,%r12d
2874
+ rorl $5,%r13d
2875
+ xorl %r11d,%r14d
2876
+ andl %edx,%r12d
2877
+ xorl %edx,%r13d
2878
+ addl 36(%rsp),%r10d
2879
+ movl %r11d,%edi
2880
+ xorl %r9d,%r12d
2881
+ rorl $11,%r14d
2882
+ xorl %eax,%edi
2883
+ addl %r12d,%r10d
2884
+ rorl $6,%r13d
2885
+ andl %edi,%r15d
2886
+ xorl %r11d,%r14d
2887
+ addl %r13d,%r10d
2888
+ xorl %eax,%r15d
2889
+ rorl $2,%r14d
2890
+ addl %r10d,%ecx
2891
+ addl %r15d,%r10d
2892
+ movl %ecx,%r13d
2893
+ addl %r10d,%r14d
2894
+ rorl $14,%r13d
2895
+ movl %r14d,%r10d
2896
+ movl %edx,%r12d
2897
+ rorl $9,%r14d
2898
+ xorl %ecx,%r13d
2899
+ xorl %r8d,%r12d
2900
+ rorl $5,%r13d
2901
+ xorl %r10d,%r14d
2902
+ andl %ecx,%r12d
2903
+ xorl %ecx,%r13d
2904
+ addl 40(%rsp),%r9d
2905
+ movl %r10d,%r15d
2906
+ xorl %r8d,%r12d
2907
+ rorl $11,%r14d
2908
+ xorl %r11d,%r15d
2909
+ addl %r12d,%r9d
2910
+ rorl $6,%r13d
2911
+ andl %r15d,%edi
2912
+ xorl %r10d,%r14d
2913
+ addl %r13d,%r9d
2914
+ xorl %r11d,%edi
2915
+ rorl $2,%r14d
2916
+ addl %r9d,%ebx
2917
+ addl %edi,%r9d
2918
+ movl %ebx,%r13d
2919
+ addl %r9d,%r14d
2920
+ rorl $14,%r13d
2921
+ movl %r14d,%r9d
2922
+ movl %ecx,%r12d
2923
+ rorl $9,%r14d
2924
+ xorl %ebx,%r13d
2925
+ xorl %edx,%r12d
2926
+ rorl $5,%r13d
2927
+ xorl %r9d,%r14d
2928
+ andl %ebx,%r12d
2929
+ xorl %ebx,%r13d
2930
+ addl 44(%rsp),%r8d
2931
+ movl %r9d,%edi
2932
+ xorl %edx,%r12d
2933
+ rorl $11,%r14d
2934
+ xorl %r10d,%edi
2935
+ addl %r12d,%r8d
2936
+ rorl $6,%r13d
2937
+ andl %edi,%r15d
2938
+ xorl %r9d,%r14d
2939
+ addl %r13d,%r8d
2940
+ xorl %r10d,%r15d
2941
+ rorl $2,%r14d
2942
+ addl %r8d,%eax
2943
+ addl %r15d,%r8d
2944
+ movl %eax,%r13d
2945
+ addl %r8d,%r14d
2946
+ rorl $14,%r13d
2947
+ movl %r14d,%r8d
2948
+ movl %ebx,%r12d
2949
+ rorl $9,%r14d
2950
+ xorl %eax,%r13d
2951
+ xorl %ecx,%r12d
2952
+ rorl $5,%r13d
2953
+ xorl %r8d,%r14d
2954
+ andl %eax,%r12d
2955
+ xorl %eax,%r13d
2956
+ addl 48(%rsp),%edx
2957
+ movl %r8d,%r15d
2958
+ xorl %ecx,%r12d
2959
+ rorl $11,%r14d
2960
+ xorl %r9d,%r15d
2961
+ addl %r12d,%edx
2962
+ rorl $6,%r13d
2963
+ andl %r15d,%edi
2964
+ xorl %r8d,%r14d
2965
+ addl %r13d,%edx
2966
+ xorl %r9d,%edi
2967
+ rorl $2,%r14d
2968
+ addl %edx,%r11d
2969
+ addl %edi,%edx
2970
+ movl %r11d,%r13d
2971
+ addl %edx,%r14d
2972
+ rorl $14,%r13d
2973
+ movl %r14d,%edx
2974
+ movl %eax,%r12d
2975
+ rorl $9,%r14d
2976
+ xorl %r11d,%r13d
2977
+ xorl %ebx,%r12d
2978
+ rorl $5,%r13d
2979
+ xorl %edx,%r14d
2980
+ andl %r11d,%r12d
2981
+ xorl %r11d,%r13d
2982
+ addl 52(%rsp),%ecx
2983
+ movl %edx,%edi
2984
+ xorl %ebx,%r12d
2985
+ rorl $11,%r14d
2986
+ xorl %r8d,%edi
2987
+ addl %r12d,%ecx
2988
+ rorl $6,%r13d
2989
+ andl %edi,%r15d
2990
+ xorl %edx,%r14d
2991
+ addl %r13d,%ecx
2992
+ xorl %r8d,%r15d
2993
+ rorl $2,%r14d
2994
+ addl %ecx,%r10d
2995
+ addl %r15d,%ecx
2996
+ movl %r10d,%r13d
2997
+ addl %ecx,%r14d
2998
+ rorl $14,%r13d
2999
+ movl %r14d,%ecx
3000
+ movl %r11d,%r12d
3001
+ rorl $9,%r14d
3002
+ xorl %r10d,%r13d
3003
+ xorl %eax,%r12d
3004
+ rorl $5,%r13d
3005
+ xorl %ecx,%r14d
3006
+ andl %r10d,%r12d
3007
+ xorl %r10d,%r13d
3008
+ addl 56(%rsp),%ebx
3009
+ movl %ecx,%r15d
3010
+ xorl %eax,%r12d
3011
+ rorl $11,%r14d
3012
+ xorl %edx,%r15d
3013
+ addl %r12d,%ebx
3014
+ rorl $6,%r13d
3015
+ andl %r15d,%edi
3016
+ xorl %ecx,%r14d
3017
+ addl %r13d,%ebx
3018
+ xorl %edx,%edi
3019
+ rorl $2,%r14d
3020
+ addl %ebx,%r9d
3021
+ addl %edi,%ebx
3022
+ movl %r9d,%r13d
3023
+ addl %ebx,%r14d
3024
+ rorl $14,%r13d
3025
+ movl %r14d,%ebx
3026
+ movl %r10d,%r12d
3027
+ rorl $9,%r14d
3028
+ xorl %r9d,%r13d
3029
+ xorl %r11d,%r12d
3030
+ rorl $5,%r13d
3031
+ xorl %ebx,%r14d
3032
+ andl %r9d,%r12d
3033
+ xorl %r9d,%r13d
3034
+ addl 60(%rsp),%eax
3035
+ movl %ebx,%edi
3036
+ xorl %r11d,%r12d
3037
+ rorl $11,%r14d
3038
+ xorl %ecx,%edi
3039
+ addl %r12d,%eax
3040
+ rorl $6,%r13d
3041
+ andl %edi,%r15d
3042
+ xorl %ebx,%r14d
3043
+ addl %r13d,%eax
3044
+ xorl %ecx,%r15d
3045
+ rorl $2,%r14d
3046
+ addl %eax,%r8d
3047
+ addl %r15d,%eax
3048
+ movl %r8d,%r13d
3049
+ addl %eax,%r14d
3050
+ movq 64+0(%rsp),%rdi
3051
+ movl %r14d,%eax
3052
+
3053
+ addl 0(%rdi),%eax
3054
+ leaq 64(%rsi),%rsi
3055
+ addl 4(%rdi),%ebx
3056
+ addl 8(%rdi),%ecx
3057
+ addl 12(%rdi),%edx
3058
+ addl 16(%rdi),%r8d
3059
+ addl 20(%rdi),%r9d
3060
+ addl 24(%rdi),%r10d
3061
+ addl 28(%rdi),%r11d
3062
+
3063
+ cmpq 64+16(%rsp),%rsi
3064
+
3065
+ movl %eax,0(%rdi)
3066
+ movl %ebx,4(%rdi)
3067
+ movl %ecx,8(%rdi)
3068
+ movl %edx,12(%rdi)
3069
+ movl %r8d,16(%rdi)
3070
+ movl %r9d,20(%rdi)
3071
+ movl %r10d,24(%rdi)
3072
+ movl %r11d,28(%rdi)
3073
+ jb L$loop_ssse3
3074
+
3075
+ movq 88(%rsp),%rsi
3076
+
3077
+ movq -48(%rsi),%r15
3078
+
3079
+ movq -40(%rsi),%r14
3080
+
3081
+ movq -32(%rsi),%r13
3082
+
3083
+ movq -24(%rsi),%r12
3084
+
3085
+ movq -16(%rsi),%rbp
3086
+
3087
+ movq -8(%rsi),%rbx
3088
+
3089
+ leaq (%rsi),%rsp
3090
+
3091
+ L$epilogue_ssse3:
3092
+ ret
3093
+
3094
+
3095
+ .globl _sha256_block_data_order_avx
3096
+ .private_extern _sha256_block_data_order_avx
3097
+
3098
+ .p2align 6
3099
+ .alt_entry _sha256_block_data_order_avx
3100
+ _sha256_block_data_order_avx:
3101
+
3102
+ _CET_ENDBR
3103
+ movq %rsp,%rax // copy %rsp
3104
+
3105
+ pushq %rbx
3106
+
3107
+ pushq %rbp
3108
+
3109
+ pushq %r12
3110
+
3111
+ pushq %r13
3112
+
3113
+ pushq %r14
3114
+
3115
+ pushq %r15
3116
+
3117
+ shlq $4,%rdx // num*16
3118
+ subq $96,%rsp
3119
+ leaq (%rsi,%rdx,4),%rdx // inp+num*16*4
3120
+ andq $-64,%rsp // align stack frame
3121
+ movq %rdi,64+0(%rsp) // save ctx, 1st arg
3122
+ movq %rsi,64+8(%rsp) // save inp, 2nd arh
3123
+ movq %rdx,64+16(%rsp) // save end pointer, "3rd" arg
3124
+ movq %rax,88(%rsp) // save copy of %rsp
3125
+
3126
+ L$prologue_avx:
3127
+
3128
+ vzeroupper
3129
+ movl 0(%rdi),%eax
3130
+ movl 4(%rdi),%ebx
3131
+ movl 8(%rdi),%ecx
3132
+ movl 12(%rdi),%edx
3133
+ movl 16(%rdi),%r8d
3134
+ movl 20(%rdi),%r9d
3135
+ movl 24(%rdi),%r10d
3136
+ movl 28(%rdi),%r11d
3137
+ vmovdqa K256+512+32(%rip),%xmm8
3138
+ vmovdqa K256+512+64(%rip),%xmm9
3139
+ jmp L$loop_avx
3140
+ .p2align 4
3141
+ L$loop_avx:
3142
+ vmovdqa K256+512(%rip),%xmm7
3143
+ vmovdqu 0(%rsi),%xmm0
3144
+ vmovdqu 16(%rsi),%xmm1
3145
+ vmovdqu 32(%rsi),%xmm2
3146
+ vmovdqu 48(%rsi),%xmm3
3147
+ vpshufb %xmm7,%xmm0,%xmm0
3148
+ leaq K256(%rip),%rbp
3149
+ vpshufb %xmm7,%xmm1,%xmm1
3150
+ vpshufb %xmm7,%xmm2,%xmm2
3151
+ vpaddd 0(%rbp),%xmm0,%xmm4
3152
+ vpshufb %xmm7,%xmm3,%xmm3
3153
+ vpaddd 32(%rbp),%xmm1,%xmm5
3154
+ vpaddd 64(%rbp),%xmm2,%xmm6
3155
+ vpaddd 96(%rbp),%xmm3,%xmm7
3156
+ vmovdqa %xmm4,0(%rsp)
3157
+ movl %eax,%r14d
3158
+ vmovdqa %xmm5,16(%rsp)
3159
+ movl %ebx,%edi
3160
+ vmovdqa %xmm6,32(%rsp)
3161
+ xorl %ecx,%edi // magic
3162
+ vmovdqa %xmm7,48(%rsp)
3163
+ movl %r8d,%r13d
3164
+ jmp L$avx_00_47
3165
+
3166
+ .p2align 4
3167
+ L$avx_00_47:
3168
+ subq $-128,%rbp // size optimization
3169
+ vpalignr $4,%xmm0,%xmm1,%xmm4
3170
+ shrdl $14,%r13d,%r13d
3171
+ movl %r14d,%eax
3172
+ movl %r9d,%r12d
3173
+ vpalignr $4,%xmm2,%xmm3,%xmm7
3174
+ shrdl $9,%r14d,%r14d
3175
+ xorl %r8d,%r13d
3176
+ xorl %r10d,%r12d
3177
+ vpsrld $7,%xmm4,%xmm6
3178
+ shrdl $5,%r13d,%r13d
3179
+ xorl %eax,%r14d
3180
+ andl %r8d,%r12d
3181
+ vpaddd %xmm7,%xmm0,%xmm0
3182
+ xorl %r8d,%r13d
3183
+ addl 0(%rsp),%r11d
3184
+ movl %eax,%r15d
3185
+ vpsrld $3,%xmm4,%xmm7
3186
+ xorl %r10d,%r12d
3187
+ shrdl $11,%r14d,%r14d
3188
+ xorl %ebx,%r15d
3189
+ vpslld $14,%xmm4,%xmm5
3190
+ addl %r12d,%r11d
3191
+ shrdl $6,%r13d,%r13d
3192
+ andl %r15d,%edi
3193
+ vpxor %xmm6,%xmm7,%xmm4
3194
+ xorl %eax,%r14d
3195
+ addl %r13d,%r11d
3196
+ xorl %ebx,%edi
3197
+ vpshufd $250,%xmm3,%xmm7
3198
+ shrdl $2,%r14d,%r14d
3199
+ addl %r11d,%edx
3200
+ addl %edi,%r11d
3201
+ vpsrld $11,%xmm6,%xmm6
3202
+ movl %edx,%r13d
3203
+ addl %r11d,%r14d
3204
+ shrdl $14,%r13d,%r13d
3205
+ vpxor %xmm5,%xmm4,%xmm4
3206
+ movl %r14d,%r11d
3207
+ movl %r8d,%r12d
3208
+ shrdl $9,%r14d,%r14d
3209
+ vpslld $11,%xmm5,%xmm5
3210
+ xorl %edx,%r13d
3211
+ xorl %r9d,%r12d
3212
+ shrdl $5,%r13d,%r13d
3213
+ vpxor %xmm6,%xmm4,%xmm4
3214
+ xorl %r11d,%r14d
3215
+ andl %edx,%r12d
3216
+ xorl %edx,%r13d
3217
+ vpsrld $10,%xmm7,%xmm6
3218
+ addl 4(%rsp),%r10d
3219
+ movl %r11d,%edi
3220
+ xorl %r9d,%r12d
3221
+ vpxor %xmm5,%xmm4,%xmm4
3222
+ shrdl $11,%r14d,%r14d
3223
+ xorl %eax,%edi
3224
+ addl %r12d,%r10d
3225
+ vpsrlq $17,%xmm7,%xmm7
3226
+ shrdl $6,%r13d,%r13d
3227
+ andl %edi,%r15d
3228
+ xorl %r11d,%r14d
3229
+ vpaddd %xmm4,%xmm0,%xmm0
3230
+ addl %r13d,%r10d
3231
+ xorl %eax,%r15d
3232
+ shrdl $2,%r14d,%r14d
3233
+ vpxor %xmm7,%xmm6,%xmm6
3234
+ addl %r10d,%ecx
3235
+ addl %r15d,%r10d
3236
+ movl %ecx,%r13d
3237
+ vpsrlq $2,%xmm7,%xmm7
3238
+ addl %r10d,%r14d
3239
+ shrdl $14,%r13d,%r13d
3240
+ movl %r14d,%r10d
3241
+ vpxor %xmm7,%xmm6,%xmm6
3242
+ movl %edx,%r12d
3243
+ shrdl $9,%r14d,%r14d
3244
+ xorl %ecx,%r13d
3245
+ vpshufb %xmm8,%xmm6,%xmm6
3246
+ xorl %r8d,%r12d
3247
+ shrdl $5,%r13d,%r13d
3248
+ xorl %r10d,%r14d
3249
+ vpaddd %xmm6,%xmm0,%xmm0
3250
+ andl %ecx,%r12d
3251
+ xorl %ecx,%r13d
3252
+ addl 8(%rsp),%r9d
3253
+ vpshufd $80,%xmm0,%xmm7
3254
+ movl %r10d,%r15d
3255
+ xorl %r8d,%r12d
3256
+ shrdl $11,%r14d,%r14d
3257
+ vpsrld $10,%xmm7,%xmm6
3258
+ xorl %r11d,%r15d
3259
+ addl %r12d,%r9d
3260
+ shrdl $6,%r13d,%r13d
3261
+ vpsrlq $17,%xmm7,%xmm7
3262
+ andl %r15d,%edi
3263
+ xorl %r10d,%r14d
3264
+ addl %r13d,%r9d
3265
+ vpxor %xmm7,%xmm6,%xmm6
3266
+ xorl %r11d,%edi
3267
+ shrdl $2,%r14d,%r14d
3268
+ addl %r9d,%ebx
3269
+ vpsrlq $2,%xmm7,%xmm7
3270
+ addl %edi,%r9d
3271
+ movl %ebx,%r13d
3272
+ addl %r9d,%r14d
3273
+ vpxor %xmm7,%xmm6,%xmm6
3274
+ shrdl $14,%r13d,%r13d
3275
+ movl %r14d,%r9d
3276
+ movl %ecx,%r12d
3277
+ vpshufb %xmm9,%xmm6,%xmm6
3278
+ shrdl $9,%r14d,%r14d
3279
+ xorl %ebx,%r13d
3280
+ xorl %edx,%r12d
3281
+ vpaddd %xmm6,%xmm0,%xmm0
3282
+ shrdl $5,%r13d,%r13d
3283
+ xorl %r9d,%r14d
3284
+ andl %ebx,%r12d
3285
+ vpaddd 0(%rbp),%xmm0,%xmm6
3286
+ xorl %ebx,%r13d
3287
+ addl 12(%rsp),%r8d
3288
+ movl %r9d,%edi
3289
+ xorl %edx,%r12d
3290
+ shrdl $11,%r14d,%r14d
3291
+ xorl %r10d,%edi
3292
+ addl %r12d,%r8d
3293
+ shrdl $6,%r13d,%r13d
3294
+ andl %edi,%r15d
3295
+ xorl %r9d,%r14d
3296
+ addl %r13d,%r8d
3297
+ xorl %r10d,%r15d
3298
+ shrdl $2,%r14d,%r14d
3299
+ addl %r8d,%eax
3300
+ addl %r15d,%r8d
3301
+ movl %eax,%r13d
3302
+ addl %r8d,%r14d
3303
+ vmovdqa %xmm6,0(%rsp)
3304
+ vpalignr $4,%xmm1,%xmm2,%xmm4
3305
+ shrdl $14,%r13d,%r13d
3306
+ movl %r14d,%r8d
3307
+ movl %ebx,%r12d
3308
+ vpalignr $4,%xmm3,%xmm0,%xmm7
3309
+ shrdl $9,%r14d,%r14d
3310
+ xorl %eax,%r13d
3311
+ xorl %ecx,%r12d
3312
+ vpsrld $7,%xmm4,%xmm6
3313
+ shrdl $5,%r13d,%r13d
3314
+ xorl %r8d,%r14d
3315
+ andl %eax,%r12d
3316
+ vpaddd %xmm7,%xmm1,%xmm1
3317
+ xorl %eax,%r13d
3318
+ addl 16(%rsp),%edx
3319
+ movl %r8d,%r15d
3320
+ vpsrld $3,%xmm4,%xmm7
3321
+ xorl %ecx,%r12d
3322
+ shrdl $11,%r14d,%r14d
3323
+ xorl %r9d,%r15d
3324
+ vpslld $14,%xmm4,%xmm5
3325
+ addl %r12d,%edx
3326
+ shrdl $6,%r13d,%r13d
3327
+ andl %r15d,%edi
3328
+ vpxor %xmm6,%xmm7,%xmm4
3329
+ xorl %r8d,%r14d
3330
+ addl %r13d,%edx
3331
+ xorl %r9d,%edi
3332
+ vpshufd $250,%xmm0,%xmm7
3333
+ shrdl $2,%r14d,%r14d
3334
+ addl %edx,%r11d
3335
+ addl %edi,%edx
3336
+ vpsrld $11,%xmm6,%xmm6
3337
+ movl %r11d,%r13d
3338
+ addl %edx,%r14d
3339
+ shrdl $14,%r13d,%r13d
3340
+ vpxor %xmm5,%xmm4,%xmm4
3341
+ movl %r14d,%edx
3342
+ movl %eax,%r12d
3343
+ shrdl $9,%r14d,%r14d
3344
+ vpslld $11,%xmm5,%xmm5
3345
+ xorl %r11d,%r13d
3346
+ xorl %ebx,%r12d
3347
+ shrdl $5,%r13d,%r13d
3348
+ vpxor %xmm6,%xmm4,%xmm4
3349
+ xorl %edx,%r14d
3350
+ andl %r11d,%r12d
3351
+ xorl %r11d,%r13d
3352
+ vpsrld $10,%xmm7,%xmm6
3353
+ addl 20(%rsp),%ecx
3354
+ movl %edx,%edi
3355
+ xorl %ebx,%r12d
3356
+ vpxor %xmm5,%xmm4,%xmm4
3357
+ shrdl $11,%r14d,%r14d
3358
+ xorl %r8d,%edi
3359
+ addl %r12d,%ecx
3360
+ vpsrlq $17,%xmm7,%xmm7
3361
+ shrdl $6,%r13d,%r13d
3362
+ andl %edi,%r15d
3363
+ xorl %edx,%r14d
3364
+ vpaddd %xmm4,%xmm1,%xmm1
3365
+ addl %r13d,%ecx
3366
+ xorl %r8d,%r15d
3367
+ shrdl $2,%r14d,%r14d
3368
+ vpxor %xmm7,%xmm6,%xmm6
3369
+ addl %ecx,%r10d
3370
+ addl %r15d,%ecx
3371
+ movl %r10d,%r13d
3372
+ vpsrlq $2,%xmm7,%xmm7
3373
+ addl %ecx,%r14d
3374
+ shrdl $14,%r13d,%r13d
3375
+ movl %r14d,%ecx
3376
+ vpxor %xmm7,%xmm6,%xmm6
3377
+ movl %r11d,%r12d
3378
+ shrdl $9,%r14d,%r14d
3379
+ xorl %r10d,%r13d
3380
+ vpshufb %xmm8,%xmm6,%xmm6
3381
+ xorl %eax,%r12d
3382
+ shrdl $5,%r13d,%r13d
3383
+ xorl %ecx,%r14d
3384
+ vpaddd %xmm6,%xmm1,%xmm1
3385
+ andl %r10d,%r12d
3386
+ xorl %r10d,%r13d
3387
+ addl 24(%rsp),%ebx
3388
+ vpshufd $80,%xmm1,%xmm7
3389
+ movl %ecx,%r15d
3390
+ xorl %eax,%r12d
3391
+ shrdl $11,%r14d,%r14d
3392
+ vpsrld $10,%xmm7,%xmm6
3393
+ xorl %edx,%r15d
3394
+ addl %r12d,%ebx
3395
+ shrdl $6,%r13d,%r13d
3396
+ vpsrlq $17,%xmm7,%xmm7
3397
+ andl %r15d,%edi
3398
+ xorl %ecx,%r14d
3399
+ addl %r13d,%ebx
3400
+ vpxor %xmm7,%xmm6,%xmm6
3401
+ xorl %edx,%edi
3402
+ shrdl $2,%r14d,%r14d
3403
+ addl %ebx,%r9d
3404
+ vpsrlq $2,%xmm7,%xmm7
3405
+ addl %edi,%ebx
3406
+ movl %r9d,%r13d
3407
+ addl %ebx,%r14d
3408
+ vpxor %xmm7,%xmm6,%xmm6
3409
+ shrdl $14,%r13d,%r13d
3410
+ movl %r14d,%ebx
3411
+ movl %r10d,%r12d
3412
+ vpshufb %xmm9,%xmm6,%xmm6
3413
+ shrdl $9,%r14d,%r14d
3414
+ xorl %r9d,%r13d
3415
+ xorl %r11d,%r12d
3416
+ vpaddd %xmm6,%xmm1,%xmm1
3417
+ shrdl $5,%r13d,%r13d
3418
+ xorl %ebx,%r14d
3419
+ andl %r9d,%r12d
3420
+ vpaddd 32(%rbp),%xmm1,%xmm6
3421
+ xorl %r9d,%r13d
3422
+ addl 28(%rsp),%eax
3423
+ movl %ebx,%edi
3424
+ xorl %r11d,%r12d
3425
+ shrdl $11,%r14d,%r14d
3426
+ xorl %ecx,%edi
3427
+ addl %r12d,%eax
3428
+ shrdl $6,%r13d,%r13d
3429
+ andl %edi,%r15d
3430
+ xorl %ebx,%r14d
3431
+ addl %r13d,%eax
3432
+ xorl %ecx,%r15d
3433
+ shrdl $2,%r14d,%r14d
3434
+ addl %eax,%r8d
3435
+ addl %r15d,%eax
3436
+ movl %r8d,%r13d
3437
+ addl %eax,%r14d
3438
+ vmovdqa %xmm6,16(%rsp)
3439
+ vpalignr $4,%xmm2,%xmm3,%xmm4
3440
+ shrdl $14,%r13d,%r13d
3441
+ movl %r14d,%eax
3442
+ movl %r9d,%r12d
3443
+ vpalignr $4,%xmm0,%xmm1,%xmm7
3444
+ shrdl $9,%r14d,%r14d
3445
+ xorl %r8d,%r13d
3446
+ xorl %r10d,%r12d
3447
+ vpsrld $7,%xmm4,%xmm6
3448
+ shrdl $5,%r13d,%r13d
3449
+ xorl %eax,%r14d
3450
+ andl %r8d,%r12d
3451
+ vpaddd %xmm7,%xmm2,%xmm2
3452
+ xorl %r8d,%r13d
3453
+ addl 32(%rsp),%r11d
3454
+ movl %eax,%r15d
3455
+ vpsrld $3,%xmm4,%xmm7
3456
+ xorl %r10d,%r12d
3457
+ shrdl $11,%r14d,%r14d
3458
+ xorl %ebx,%r15d
3459
+ vpslld $14,%xmm4,%xmm5
3460
+ addl %r12d,%r11d
3461
+ shrdl $6,%r13d,%r13d
3462
+ andl %r15d,%edi
3463
+ vpxor %xmm6,%xmm7,%xmm4
3464
+ xorl %eax,%r14d
3465
+ addl %r13d,%r11d
3466
+ xorl %ebx,%edi
3467
+ vpshufd $250,%xmm1,%xmm7
3468
+ shrdl $2,%r14d,%r14d
3469
+ addl %r11d,%edx
3470
+ addl %edi,%r11d
3471
+ vpsrld $11,%xmm6,%xmm6
3472
+ movl %edx,%r13d
3473
+ addl %r11d,%r14d
3474
+ shrdl $14,%r13d,%r13d
3475
+ vpxor %xmm5,%xmm4,%xmm4
3476
+ movl %r14d,%r11d
3477
+ movl %r8d,%r12d
3478
+ shrdl $9,%r14d,%r14d
3479
+ vpslld $11,%xmm5,%xmm5
3480
+ xorl %edx,%r13d
3481
+ xorl %r9d,%r12d
3482
+ shrdl $5,%r13d,%r13d
3483
+ vpxor %xmm6,%xmm4,%xmm4
3484
+ xorl %r11d,%r14d
3485
+ andl %edx,%r12d
3486
+ xorl %edx,%r13d
3487
+ vpsrld $10,%xmm7,%xmm6
3488
+ addl 36(%rsp),%r10d
3489
+ movl %r11d,%edi
3490
+ xorl %r9d,%r12d
3491
+ vpxor %xmm5,%xmm4,%xmm4
3492
+ shrdl $11,%r14d,%r14d
3493
+ xorl %eax,%edi
3494
+ addl %r12d,%r10d
3495
+ vpsrlq $17,%xmm7,%xmm7
3496
+ shrdl $6,%r13d,%r13d
3497
+ andl %edi,%r15d
3498
+ xorl %r11d,%r14d
3499
+ vpaddd %xmm4,%xmm2,%xmm2
3500
+ addl %r13d,%r10d
3501
+ xorl %eax,%r15d
3502
+ shrdl $2,%r14d,%r14d
3503
+ vpxor %xmm7,%xmm6,%xmm6
3504
+ addl %r10d,%ecx
3505
+ addl %r15d,%r10d
3506
+ movl %ecx,%r13d
3507
+ vpsrlq $2,%xmm7,%xmm7
3508
+ addl %r10d,%r14d
3509
+ shrdl $14,%r13d,%r13d
3510
+ movl %r14d,%r10d
3511
+ vpxor %xmm7,%xmm6,%xmm6
3512
+ movl %edx,%r12d
3513
+ shrdl $9,%r14d,%r14d
3514
+ xorl %ecx,%r13d
3515
+ vpshufb %xmm8,%xmm6,%xmm6
3516
+ xorl %r8d,%r12d
3517
+ shrdl $5,%r13d,%r13d
3518
+ xorl %r10d,%r14d
3519
+ vpaddd %xmm6,%xmm2,%xmm2
3520
+ andl %ecx,%r12d
3521
+ xorl %ecx,%r13d
3522
+ addl 40(%rsp),%r9d
3523
+ vpshufd $80,%xmm2,%xmm7
3524
+ movl %r10d,%r15d
3525
+ xorl %r8d,%r12d
3526
+ shrdl $11,%r14d,%r14d
3527
+ vpsrld $10,%xmm7,%xmm6
3528
+ xorl %r11d,%r15d
3529
+ addl %r12d,%r9d
3530
+ shrdl $6,%r13d,%r13d
3531
+ vpsrlq $17,%xmm7,%xmm7
3532
+ andl %r15d,%edi
3533
+ xorl %r10d,%r14d
3534
+ addl %r13d,%r9d
3535
+ vpxor %xmm7,%xmm6,%xmm6
3536
+ xorl %r11d,%edi
3537
+ shrdl $2,%r14d,%r14d
3538
+ addl %r9d,%ebx
3539
+ vpsrlq $2,%xmm7,%xmm7
3540
+ addl %edi,%r9d
3541
+ movl %ebx,%r13d
3542
+ addl %r9d,%r14d
3543
+ vpxor %xmm7,%xmm6,%xmm6
3544
+ shrdl $14,%r13d,%r13d
3545
+ movl %r14d,%r9d
3546
+ movl %ecx,%r12d
3547
+ vpshufb %xmm9,%xmm6,%xmm6
3548
+ shrdl $9,%r14d,%r14d
3549
+ xorl %ebx,%r13d
3550
+ xorl %edx,%r12d
3551
+ vpaddd %xmm6,%xmm2,%xmm2
3552
+ shrdl $5,%r13d,%r13d
3553
+ xorl %r9d,%r14d
3554
+ andl %ebx,%r12d
3555
+ vpaddd 64(%rbp),%xmm2,%xmm6
3556
+ xorl %ebx,%r13d
3557
+ addl 44(%rsp),%r8d
3558
+ movl %r9d,%edi
3559
+ xorl %edx,%r12d
3560
+ shrdl $11,%r14d,%r14d
3561
+ xorl %r10d,%edi
3562
+ addl %r12d,%r8d
3563
+ shrdl $6,%r13d,%r13d
3564
+ andl %edi,%r15d
3565
+ xorl %r9d,%r14d
3566
+ addl %r13d,%r8d
3567
+ xorl %r10d,%r15d
3568
+ shrdl $2,%r14d,%r14d
3569
+ addl %r8d,%eax
3570
+ addl %r15d,%r8d
3571
+ movl %eax,%r13d
3572
+ addl %r8d,%r14d
3573
+ vmovdqa %xmm6,32(%rsp)
3574
+ vpalignr $4,%xmm3,%xmm0,%xmm4
3575
+ shrdl $14,%r13d,%r13d
3576
+ movl %r14d,%r8d
3577
+ movl %ebx,%r12d
3578
+ vpalignr $4,%xmm1,%xmm2,%xmm7
3579
+ shrdl $9,%r14d,%r14d
3580
+ xorl %eax,%r13d
3581
+ xorl %ecx,%r12d
3582
+ vpsrld $7,%xmm4,%xmm6
3583
+ shrdl $5,%r13d,%r13d
3584
+ xorl %r8d,%r14d
3585
+ andl %eax,%r12d
3586
+ vpaddd %xmm7,%xmm3,%xmm3
3587
+ xorl %eax,%r13d
3588
+ addl 48(%rsp),%edx
3589
+ movl %r8d,%r15d
3590
+ vpsrld $3,%xmm4,%xmm7
3591
+ xorl %ecx,%r12d
3592
+ shrdl $11,%r14d,%r14d
3593
+ xorl %r9d,%r15d
3594
+ vpslld $14,%xmm4,%xmm5
3595
+ addl %r12d,%edx
3596
+ shrdl $6,%r13d,%r13d
3597
+ andl %r15d,%edi
3598
+ vpxor %xmm6,%xmm7,%xmm4
3599
+ xorl %r8d,%r14d
3600
+ addl %r13d,%edx
3601
+ xorl %r9d,%edi
3602
+ vpshufd $250,%xmm2,%xmm7
3603
+ shrdl $2,%r14d,%r14d
3604
+ addl %edx,%r11d
3605
+ addl %edi,%edx
3606
+ vpsrld $11,%xmm6,%xmm6
3607
+ movl %r11d,%r13d
3608
+ addl %edx,%r14d
3609
+ shrdl $14,%r13d,%r13d
3610
+ vpxor %xmm5,%xmm4,%xmm4
3611
+ movl %r14d,%edx
3612
+ movl %eax,%r12d
3613
+ shrdl $9,%r14d,%r14d
3614
+ vpslld $11,%xmm5,%xmm5
3615
+ xorl %r11d,%r13d
3616
+ xorl %ebx,%r12d
3617
+ shrdl $5,%r13d,%r13d
3618
+ vpxor %xmm6,%xmm4,%xmm4
3619
+ xorl %edx,%r14d
3620
+ andl %r11d,%r12d
3621
+ xorl %r11d,%r13d
3622
+ vpsrld $10,%xmm7,%xmm6
3623
+ addl 52(%rsp),%ecx
3624
+ movl %edx,%edi
3625
+ xorl %ebx,%r12d
3626
+ vpxor %xmm5,%xmm4,%xmm4
3627
+ shrdl $11,%r14d,%r14d
3628
+ xorl %r8d,%edi
3629
+ addl %r12d,%ecx
3630
+ vpsrlq $17,%xmm7,%xmm7
3631
+ shrdl $6,%r13d,%r13d
3632
+ andl %edi,%r15d
3633
+ xorl %edx,%r14d
3634
+ vpaddd %xmm4,%xmm3,%xmm3
3635
+ addl %r13d,%ecx
3636
+ xorl %r8d,%r15d
3637
+ shrdl $2,%r14d,%r14d
3638
+ vpxor %xmm7,%xmm6,%xmm6
3639
+ addl %ecx,%r10d
3640
+ addl %r15d,%ecx
3641
+ movl %r10d,%r13d
3642
+ vpsrlq $2,%xmm7,%xmm7
3643
+ addl %ecx,%r14d
3644
+ shrdl $14,%r13d,%r13d
3645
+ movl %r14d,%ecx
3646
+ vpxor %xmm7,%xmm6,%xmm6
3647
+ movl %r11d,%r12d
3648
+ shrdl $9,%r14d,%r14d
3649
+ xorl %r10d,%r13d
3650
+ vpshufb %xmm8,%xmm6,%xmm6
3651
+ xorl %eax,%r12d
3652
+ shrdl $5,%r13d,%r13d
3653
+ xorl %ecx,%r14d
3654
+ vpaddd %xmm6,%xmm3,%xmm3
3655
+ andl %r10d,%r12d
3656
+ xorl %r10d,%r13d
3657
+ addl 56(%rsp),%ebx
3658
+ vpshufd $80,%xmm3,%xmm7
3659
+ movl %ecx,%r15d
3660
+ xorl %eax,%r12d
3661
+ shrdl $11,%r14d,%r14d
3662
+ vpsrld $10,%xmm7,%xmm6
3663
+ xorl %edx,%r15d
3664
+ addl %r12d,%ebx
3665
+ shrdl $6,%r13d,%r13d
3666
+ vpsrlq $17,%xmm7,%xmm7
3667
+ andl %r15d,%edi
3668
+ xorl %ecx,%r14d
3669
+ addl %r13d,%ebx
3670
+ vpxor %xmm7,%xmm6,%xmm6
3671
+ xorl %edx,%edi
3672
+ shrdl $2,%r14d,%r14d
3673
+ addl %ebx,%r9d
3674
+ vpsrlq $2,%xmm7,%xmm7
3675
+ addl %edi,%ebx
3676
+ movl %r9d,%r13d
3677
+ addl %ebx,%r14d
3678
+ vpxor %xmm7,%xmm6,%xmm6
3679
+ shrdl $14,%r13d,%r13d
3680
+ movl %r14d,%ebx
3681
+ movl %r10d,%r12d
3682
+ vpshufb %xmm9,%xmm6,%xmm6
3683
+ shrdl $9,%r14d,%r14d
3684
+ xorl %r9d,%r13d
3685
+ xorl %r11d,%r12d
3686
+ vpaddd %xmm6,%xmm3,%xmm3
3687
+ shrdl $5,%r13d,%r13d
3688
+ xorl %ebx,%r14d
3689
+ andl %r9d,%r12d
3690
+ vpaddd 96(%rbp),%xmm3,%xmm6
3691
+ xorl %r9d,%r13d
3692
+ addl 60(%rsp),%eax
3693
+ movl %ebx,%edi
3694
+ xorl %r11d,%r12d
3695
+ shrdl $11,%r14d,%r14d
3696
+ xorl %ecx,%edi
3697
+ addl %r12d,%eax
3698
+ shrdl $6,%r13d,%r13d
3699
+ andl %edi,%r15d
3700
+ xorl %ebx,%r14d
3701
+ addl %r13d,%eax
3702
+ xorl %ecx,%r15d
3703
+ shrdl $2,%r14d,%r14d
3704
+ addl %eax,%r8d
3705
+ addl %r15d,%eax
3706
+ movl %r8d,%r13d
3707
+ addl %eax,%r14d
3708
+ vmovdqa %xmm6,48(%rsp)
3709
+ cmpb $0,131(%rbp)
3710
+ jne L$avx_00_47
3711
+ shrdl $14,%r13d,%r13d
3712
+ movl %r14d,%eax
3713
+ movl %r9d,%r12d
3714
+ shrdl $9,%r14d,%r14d
3715
+ xorl %r8d,%r13d
3716
+ xorl %r10d,%r12d
3717
+ shrdl $5,%r13d,%r13d
3718
+ xorl %eax,%r14d
3719
+ andl %r8d,%r12d
3720
+ xorl %r8d,%r13d
3721
+ addl 0(%rsp),%r11d
3722
+ movl %eax,%r15d
3723
+ xorl %r10d,%r12d
3724
+ shrdl $11,%r14d,%r14d
3725
+ xorl %ebx,%r15d
3726
+ addl %r12d,%r11d
3727
+ shrdl $6,%r13d,%r13d
3728
+ andl %r15d,%edi
3729
+ xorl %eax,%r14d
3730
+ addl %r13d,%r11d
3731
+ xorl %ebx,%edi
3732
+ shrdl $2,%r14d,%r14d
3733
+ addl %r11d,%edx
3734
+ addl %edi,%r11d
3735
+ movl %edx,%r13d
3736
+ addl %r11d,%r14d
3737
+ shrdl $14,%r13d,%r13d
3738
+ movl %r14d,%r11d
3739
+ movl %r8d,%r12d
3740
+ shrdl $9,%r14d,%r14d
3741
+ xorl %edx,%r13d
3742
+ xorl %r9d,%r12d
3743
+ shrdl $5,%r13d,%r13d
3744
+ xorl %r11d,%r14d
3745
+ andl %edx,%r12d
3746
+ xorl %edx,%r13d
3747
+ addl 4(%rsp),%r10d
3748
+ movl %r11d,%edi
3749
+ xorl %r9d,%r12d
3750
+ shrdl $11,%r14d,%r14d
3751
+ xorl %eax,%edi
3752
+ addl %r12d,%r10d
3753
+ shrdl $6,%r13d,%r13d
3754
+ andl %edi,%r15d
3755
+ xorl %r11d,%r14d
3756
+ addl %r13d,%r10d
3757
+ xorl %eax,%r15d
3758
+ shrdl $2,%r14d,%r14d
3759
+ addl %r10d,%ecx
3760
+ addl %r15d,%r10d
3761
+ movl %ecx,%r13d
3762
+ addl %r10d,%r14d
3763
+ shrdl $14,%r13d,%r13d
3764
+ movl %r14d,%r10d
3765
+ movl %edx,%r12d
3766
+ shrdl $9,%r14d,%r14d
3767
+ xorl %ecx,%r13d
3768
+ xorl %r8d,%r12d
3769
+ shrdl $5,%r13d,%r13d
3770
+ xorl %r10d,%r14d
3771
+ andl %ecx,%r12d
3772
+ xorl %ecx,%r13d
3773
+ addl 8(%rsp),%r9d
3774
+ movl %r10d,%r15d
3775
+ xorl %r8d,%r12d
3776
+ shrdl $11,%r14d,%r14d
3777
+ xorl %r11d,%r15d
3778
+ addl %r12d,%r9d
3779
+ shrdl $6,%r13d,%r13d
3780
+ andl %r15d,%edi
3781
+ xorl %r10d,%r14d
3782
+ addl %r13d,%r9d
3783
+ xorl %r11d,%edi
3784
+ shrdl $2,%r14d,%r14d
3785
+ addl %r9d,%ebx
3786
+ addl %edi,%r9d
3787
+ movl %ebx,%r13d
3788
+ addl %r9d,%r14d
3789
+ shrdl $14,%r13d,%r13d
3790
+ movl %r14d,%r9d
3791
+ movl %ecx,%r12d
3792
+ shrdl $9,%r14d,%r14d
3793
+ xorl %ebx,%r13d
3794
+ xorl %edx,%r12d
3795
+ shrdl $5,%r13d,%r13d
3796
+ xorl %r9d,%r14d
3797
+ andl %ebx,%r12d
3798
+ xorl %ebx,%r13d
3799
+ addl 12(%rsp),%r8d
3800
+ movl %r9d,%edi
3801
+ xorl %edx,%r12d
3802
+ shrdl $11,%r14d,%r14d
3803
+ xorl %r10d,%edi
3804
+ addl %r12d,%r8d
3805
+ shrdl $6,%r13d,%r13d
3806
+ andl %edi,%r15d
3807
+ xorl %r9d,%r14d
3808
+ addl %r13d,%r8d
3809
+ xorl %r10d,%r15d
3810
+ shrdl $2,%r14d,%r14d
3811
+ addl %r8d,%eax
3812
+ addl %r15d,%r8d
3813
+ movl %eax,%r13d
3814
+ addl %r8d,%r14d
3815
+ shrdl $14,%r13d,%r13d
3816
+ movl %r14d,%r8d
3817
+ movl %ebx,%r12d
3818
+ shrdl $9,%r14d,%r14d
3819
+ xorl %eax,%r13d
3820
+ xorl %ecx,%r12d
3821
+ shrdl $5,%r13d,%r13d
3822
+ xorl %r8d,%r14d
3823
+ andl %eax,%r12d
3824
+ xorl %eax,%r13d
3825
+ addl 16(%rsp),%edx
3826
+ movl %r8d,%r15d
3827
+ xorl %ecx,%r12d
3828
+ shrdl $11,%r14d,%r14d
3829
+ xorl %r9d,%r15d
3830
+ addl %r12d,%edx
3831
+ shrdl $6,%r13d,%r13d
3832
+ andl %r15d,%edi
3833
+ xorl %r8d,%r14d
3834
+ addl %r13d,%edx
3835
+ xorl %r9d,%edi
3836
+ shrdl $2,%r14d,%r14d
3837
+ addl %edx,%r11d
3838
+ addl %edi,%edx
3839
+ movl %r11d,%r13d
3840
+ addl %edx,%r14d
3841
+ shrdl $14,%r13d,%r13d
3842
+ movl %r14d,%edx
3843
+ movl %eax,%r12d
3844
+ shrdl $9,%r14d,%r14d
3845
+ xorl %r11d,%r13d
3846
+ xorl %ebx,%r12d
3847
+ shrdl $5,%r13d,%r13d
3848
+ xorl %edx,%r14d
3849
+ andl %r11d,%r12d
3850
+ xorl %r11d,%r13d
3851
+ addl 20(%rsp),%ecx
3852
+ movl %edx,%edi
3853
+ xorl %ebx,%r12d
3854
+ shrdl $11,%r14d,%r14d
3855
+ xorl %r8d,%edi
3856
+ addl %r12d,%ecx
3857
+ shrdl $6,%r13d,%r13d
3858
+ andl %edi,%r15d
3859
+ xorl %edx,%r14d
3860
+ addl %r13d,%ecx
3861
+ xorl %r8d,%r15d
3862
+ shrdl $2,%r14d,%r14d
3863
+ addl %ecx,%r10d
3864
+ addl %r15d,%ecx
3865
+ movl %r10d,%r13d
3866
+ addl %ecx,%r14d
3867
+ shrdl $14,%r13d,%r13d
3868
+ movl %r14d,%ecx
3869
+ movl %r11d,%r12d
3870
+ shrdl $9,%r14d,%r14d
3871
+ xorl %r10d,%r13d
3872
+ xorl %eax,%r12d
3873
+ shrdl $5,%r13d,%r13d
3874
+ xorl %ecx,%r14d
3875
+ andl %r10d,%r12d
3876
+ xorl %r10d,%r13d
3877
+ addl 24(%rsp),%ebx
3878
+ movl %ecx,%r15d
3879
+ xorl %eax,%r12d
3880
+ shrdl $11,%r14d,%r14d
3881
+ xorl %edx,%r15d
3882
+ addl %r12d,%ebx
3883
+ shrdl $6,%r13d,%r13d
3884
+ andl %r15d,%edi
3885
+ xorl %ecx,%r14d
3886
+ addl %r13d,%ebx
3887
+ xorl %edx,%edi
3888
+ shrdl $2,%r14d,%r14d
3889
+ addl %ebx,%r9d
3890
+ addl %edi,%ebx
3891
+ movl %r9d,%r13d
3892
+ addl %ebx,%r14d
3893
+ shrdl $14,%r13d,%r13d
3894
+ movl %r14d,%ebx
3895
+ movl %r10d,%r12d
3896
+ shrdl $9,%r14d,%r14d
3897
+ xorl %r9d,%r13d
3898
+ xorl %r11d,%r12d
3899
+ shrdl $5,%r13d,%r13d
3900
+ xorl %ebx,%r14d
3901
+ andl %r9d,%r12d
3902
+ xorl %r9d,%r13d
3903
+ addl 28(%rsp),%eax
3904
+ movl %ebx,%edi
3905
+ xorl %r11d,%r12d
3906
+ shrdl $11,%r14d,%r14d
3907
+ xorl %ecx,%edi
3908
+ addl %r12d,%eax
3909
+ shrdl $6,%r13d,%r13d
3910
+ andl %edi,%r15d
3911
+ xorl %ebx,%r14d
3912
+ addl %r13d,%eax
3913
+ xorl %ecx,%r15d
3914
+ shrdl $2,%r14d,%r14d
3915
+ addl %eax,%r8d
3916
+ addl %r15d,%eax
3917
+ movl %r8d,%r13d
3918
+ addl %eax,%r14d
3919
+ shrdl $14,%r13d,%r13d
3920
+ movl %r14d,%eax
3921
+ movl %r9d,%r12d
3922
+ shrdl $9,%r14d,%r14d
3923
+ xorl %r8d,%r13d
3924
+ xorl %r10d,%r12d
3925
+ shrdl $5,%r13d,%r13d
3926
+ xorl %eax,%r14d
3927
+ andl %r8d,%r12d
3928
+ xorl %r8d,%r13d
3929
+ addl 32(%rsp),%r11d
3930
+ movl %eax,%r15d
3931
+ xorl %r10d,%r12d
3932
+ shrdl $11,%r14d,%r14d
3933
+ xorl %ebx,%r15d
3934
+ addl %r12d,%r11d
3935
+ shrdl $6,%r13d,%r13d
3936
+ andl %r15d,%edi
3937
+ xorl %eax,%r14d
3938
+ addl %r13d,%r11d
3939
+ xorl %ebx,%edi
3940
+ shrdl $2,%r14d,%r14d
3941
+ addl %r11d,%edx
3942
+ addl %edi,%r11d
3943
+ movl %edx,%r13d
3944
+ addl %r11d,%r14d
3945
+ shrdl $14,%r13d,%r13d
3946
+ movl %r14d,%r11d
3947
+ movl %r8d,%r12d
3948
+ shrdl $9,%r14d,%r14d
3949
+ xorl %edx,%r13d
3950
+ xorl %r9d,%r12d
3951
+ shrdl $5,%r13d,%r13d
3952
+ xorl %r11d,%r14d
3953
+ andl %edx,%r12d
3954
+ xorl %edx,%r13d
3955
+ addl 36(%rsp),%r10d
3956
+ movl %r11d,%edi
3957
+ xorl %r9d,%r12d
3958
+ shrdl $11,%r14d,%r14d
3959
+ xorl %eax,%edi
3960
+ addl %r12d,%r10d
3961
+ shrdl $6,%r13d,%r13d
3962
+ andl %edi,%r15d
3963
+ xorl %r11d,%r14d
3964
+ addl %r13d,%r10d
3965
+ xorl %eax,%r15d
3966
+ shrdl $2,%r14d,%r14d
3967
+ addl %r10d,%ecx
3968
+ addl %r15d,%r10d
3969
+ movl %ecx,%r13d
3970
+ addl %r10d,%r14d
3971
+ shrdl $14,%r13d,%r13d
3972
+ movl %r14d,%r10d
3973
+ movl %edx,%r12d
3974
+ shrdl $9,%r14d,%r14d
3975
+ xorl %ecx,%r13d
3976
+ xorl %r8d,%r12d
3977
+ shrdl $5,%r13d,%r13d
3978
+ xorl %r10d,%r14d
3979
+ andl %ecx,%r12d
3980
+ xorl %ecx,%r13d
3981
+ addl 40(%rsp),%r9d
3982
+ movl %r10d,%r15d
3983
+ xorl %r8d,%r12d
3984
+ shrdl $11,%r14d,%r14d
3985
+ xorl %r11d,%r15d
3986
+ addl %r12d,%r9d
3987
+ shrdl $6,%r13d,%r13d
3988
+ andl %r15d,%edi
3989
+ xorl %r10d,%r14d
3990
+ addl %r13d,%r9d
3991
+ xorl %r11d,%edi
3992
+ shrdl $2,%r14d,%r14d
3993
+ addl %r9d,%ebx
3994
+ addl %edi,%r9d
3995
+ movl %ebx,%r13d
3996
+ addl %r9d,%r14d
3997
+ shrdl $14,%r13d,%r13d
3998
+ movl %r14d,%r9d
3999
+ movl %ecx,%r12d
4000
+ shrdl $9,%r14d,%r14d
4001
+ xorl %ebx,%r13d
4002
+ xorl %edx,%r12d
4003
+ shrdl $5,%r13d,%r13d
4004
+ xorl %r9d,%r14d
4005
+ andl %ebx,%r12d
4006
+ xorl %ebx,%r13d
4007
+ addl 44(%rsp),%r8d
4008
+ movl %r9d,%edi
4009
+ xorl %edx,%r12d
4010
+ shrdl $11,%r14d,%r14d
4011
+ xorl %r10d,%edi
4012
+ addl %r12d,%r8d
4013
+ shrdl $6,%r13d,%r13d
4014
+ andl %edi,%r15d
4015
+ xorl %r9d,%r14d
4016
+ addl %r13d,%r8d
4017
+ xorl %r10d,%r15d
4018
+ shrdl $2,%r14d,%r14d
4019
+ addl %r8d,%eax
4020
+ addl %r15d,%r8d
4021
+ movl %eax,%r13d
4022
+ addl %r8d,%r14d
4023
+ shrdl $14,%r13d,%r13d
4024
+ movl %r14d,%r8d
4025
+ movl %ebx,%r12d
4026
+ shrdl $9,%r14d,%r14d
4027
+ xorl %eax,%r13d
4028
+ xorl %ecx,%r12d
4029
+ shrdl $5,%r13d,%r13d
4030
+ xorl %r8d,%r14d
4031
+ andl %eax,%r12d
4032
+ xorl %eax,%r13d
4033
+ addl 48(%rsp),%edx
4034
+ movl %r8d,%r15d
4035
+ xorl %ecx,%r12d
4036
+ shrdl $11,%r14d,%r14d
4037
+ xorl %r9d,%r15d
4038
+ addl %r12d,%edx
4039
+ shrdl $6,%r13d,%r13d
4040
+ andl %r15d,%edi
4041
+ xorl %r8d,%r14d
4042
+ addl %r13d,%edx
4043
+ xorl %r9d,%edi
4044
+ shrdl $2,%r14d,%r14d
4045
+ addl %edx,%r11d
4046
+ addl %edi,%edx
4047
+ movl %r11d,%r13d
4048
+ addl %edx,%r14d
4049
+ shrdl $14,%r13d,%r13d
4050
+ movl %r14d,%edx
4051
+ movl %eax,%r12d
4052
+ shrdl $9,%r14d,%r14d
4053
+ xorl %r11d,%r13d
4054
+ xorl %ebx,%r12d
4055
+ shrdl $5,%r13d,%r13d
4056
+ xorl %edx,%r14d
4057
+ andl %r11d,%r12d
4058
+ xorl %r11d,%r13d
4059
+ addl 52(%rsp),%ecx
4060
+ movl %edx,%edi
4061
+ xorl %ebx,%r12d
4062
+ shrdl $11,%r14d,%r14d
4063
+ xorl %r8d,%edi
4064
+ addl %r12d,%ecx
4065
+ shrdl $6,%r13d,%r13d
4066
+ andl %edi,%r15d
4067
+ xorl %edx,%r14d
4068
+ addl %r13d,%ecx
4069
+ xorl %r8d,%r15d
4070
+ shrdl $2,%r14d,%r14d
4071
+ addl %ecx,%r10d
4072
+ addl %r15d,%ecx
4073
+ movl %r10d,%r13d
4074
+ addl %ecx,%r14d
4075
+ shrdl $14,%r13d,%r13d
4076
+ movl %r14d,%ecx
4077
+ movl %r11d,%r12d
4078
+ shrdl $9,%r14d,%r14d
4079
+ xorl %r10d,%r13d
4080
+ xorl %eax,%r12d
4081
+ shrdl $5,%r13d,%r13d
4082
+ xorl %ecx,%r14d
4083
+ andl %r10d,%r12d
4084
+ xorl %r10d,%r13d
4085
+ addl 56(%rsp),%ebx
4086
+ movl %ecx,%r15d
4087
+ xorl %eax,%r12d
4088
+ shrdl $11,%r14d,%r14d
4089
+ xorl %edx,%r15d
4090
+ addl %r12d,%ebx
4091
+ shrdl $6,%r13d,%r13d
4092
+ andl %r15d,%edi
4093
+ xorl %ecx,%r14d
4094
+ addl %r13d,%ebx
4095
+ xorl %edx,%edi
4096
+ shrdl $2,%r14d,%r14d
4097
+ addl %ebx,%r9d
4098
+ addl %edi,%ebx
4099
+ movl %r9d,%r13d
4100
+ addl %ebx,%r14d
4101
+ shrdl $14,%r13d,%r13d
4102
+ movl %r14d,%ebx
4103
+ movl %r10d,%r12d
4104
+ shrdl $9,%r14d,%r14d
4105
+ xorl %r9d,%r13d
4106
+ xorl %r11d,%r12d
4107
+ shrdl $5,%r13d,%r13d
4108
+ xorl %ebx,%r14d
4109
+ andl %r9d,%r12d
4110
+ xorl %r9d,%r13d
4111
+ addl 60(%rsp),%eax
4112
+ movl %ebx,%edi
4113
+ xorl %r11d,%r12d
4114
+ shrdl $11,%r14d,%r14d
4115
+ xorl %ecx,%edi
4116
+ addl %r12d,%eax
4117
+ shrdl $6,%r13d,%r13d
4118
+ andl %edi,%r15d
4119
+ xorl %ebx,%r14d
4120
+ addl %r13d,%eax
4121
+ xorl %ecx,%r15d
4122
+ shrdl $2,%r14d,%r14d
4123
+ addl %eax,%r8d
4124
+ addl %r15d,%eax
4125
+ movl %r8d,%r13d
4126
+ addl %eax,%r14d
4127
+ movq 64+0(%rsp),%rdi
4128
+ movl %r14d,%eax
4129
+
4130
+ addl 0(%rdi),%eax
4131
+ leaq 64(%rsi),%rsi
4132
+ addl 4(%rdi),%ebx
4133
+ addl 8(%rdi),%ecx
4134
+ addl 12(%rdi),%edx
4135
+ addl 16(%rdi),%r8d
4136
+ addl 20(%rdi),%r9d
4137
+ addl 24(%rdi),%r10d
4138
+ addl 28(%rdi),%r11d
4139
+
4140
+ cmpq 64+16(%rsp),%rsi
4141
+
4142
+ movl %eax,0(%rdi)
4143
+ movl %ebx,4(%rdi)
4144
+ movl %ecx,8(%rdi)
4145
+ movl %edx,12(%rdi)
4146
+ movl %r8d,16(%rdi)
4147
+ movl %r9d,20(%rdi)
4148
+ movl %r10d,24(%rdi)
4149
+ movl %r11d,28(%rdi)
4150
+ jb L$loop_avx
4151
+
4152
+ movq 88(%rsp),%rsi
4153
+
4154
+ vzeroupper
4155
+ movq -48(%rsi),%r15
4156
+
4157
+ movq -40(%rsi),%r14
4158
+
4159
+ movq -32(%rsi),%r13
4160
+
4161
+ movq -24(%rsi),%r12
4162
+
4163
+ movq -16(%rsi),%rbp
4164
+
4165
+ movq -8(%rsi),%rbx
4166
+
4167
+ leaq (%rsi),%rsp
4168
+
4169
+ L$epilogue_avx:
4170
+ ret
4171
+
4172
+
4173
+ #endif