rbnacl-libsodium 1.0.6 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +4 -0
  3. data/lib/rbnacl/libsodium/version.rb +1 -1
  4. data/vendor/libsodium/AUTHORS +10 -3
  5. data/vendor/libsodium/ChangeLog +19 -1
  6. data/vendor/libsodium/Makefile.in +1 -0
  7. data/vendor/libsodium/README.markdown +1 -1
  8. data/vendor/libsodium/THANKS +1 -0
  9. data/vendor/libsodium/autogen.sh +24 -4
  10. data/vendor/libsodium/autom4te.cache/output.1 +208 -24
  11. data/vendor/libsodium/autom4te.cache/output.5 +208 -24
  12. data/vendor/libsodium/autom4te.cache/requests +869 -869
  13. data/vendor/libsodium/autom4te.cache/traces.1 +426 -406
  14. data/vendor/libsodium/autom4te.cache/traces.5 +255 -245
  15. data/vendor/libsodium/builds/msvc/version.h +2 -2
  16. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +14 -44
  17. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +36 -132
  18. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +14 -44
  19. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +36 -132
  20. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +14 -44
  21. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +36 -132
  22. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +14 -44
  23. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +62 -158
  24. data/vendor/libsodium/configure +208 -24
  25. data/vendor/libsodium/configure.ac +70 -15
  26. data/vendor/libsodium/dist-build/Makefile.in +1 -0
  27. data/vendor/libsodium/dist-build/emscripten.sh +52 -19
  28. data/vendor/libsodium/dist-build/ios.sh +8 -8
  29. data/vendor/libsodium/dist-build/msys2-win32.sh +2 -1
  30. data/vendor/libsodium/dist-build/msys2-win64.sh +2 -1
  31. data/vendor/libsodium/dist-build/osx.sh +2 -2
  32. data/vendor/libsodium/examples/box.c +3 -1
  33. data/vendor/libsodium/examples/box_detached.c +4 -2
  34. data/vendor/libsodium/examples/utils.h +3 -1
  35. data/vendor/libsodium/libsodium.vcxproj +13 -13
  36. data/vendor/libsodium/libsodium.vcxproj.filters +31 -35
  37. data/vendor/libsodium/msvc-scripts/Makefile.in +1 -0
  38. data/vendor/libsodium/msvc-scripts/process.bat +2 -2
  39. data/vendor/libsodium/src/Makefile.in +1 -0
  40. data/vendor/libsodium/src/libsodium/Makefile.am +43 -45
  41. data/vendor/libsodium/src/libsodium/Makefile.in +250 -249
  42. data/vendor/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +28 -22
  43. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c +3 -4
  44. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c +3 -3
  45. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c +3 -4
  46. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c +4 -4
  47. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c +4 -4
  48. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c +6 -4
  49. data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +6 -2
  50. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c +3 -3
  51. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +5 -3
  52. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c +13 -9
  53. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +3 -3
  54. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +2 -2
  55. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +2 -2
  56. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +2 -2
  57. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +2 -2
  58. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +2 -2
  59. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +36 -26
  60. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c +1 -1
  61. data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +1 -2
  62. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c +2 -3
  63. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c +2 -3
  64. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/{auth_poly1305_donna.c → poly1305_donna.c} +18 -11
  65. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +1 -5
  66. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +10 -9
  67. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +17 -9
  68. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +10 -1
  69. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +708 -0
  70. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +31 -0
  71. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +1 -0
  72. data/vendor/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +11 -12
  73. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/{smult_curve25519_donna_c64.c → curve25519_donna_c64.c} +32 -15
  74. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h +9 -0
  75. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.c +73 -0
  76. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.h +9 -0
  77. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_frombytes_curve25519_ref10.c +1 -0
  78. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +25 -0
  79. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +20 -0
  80. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +114 -0
  81. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +9 -0
  82. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +25 -0
  83. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +33 -0
  84. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +57 -0
  85. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +189 -0
  86. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +16 -0
  87. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +165 -0
  88. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +219 -0
  89. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +76 -0
  90. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +1432 -0
  91. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +18 -0
  92. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S +1287 -0
  93. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +18 -0
  94. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +8 -0
  95. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +8 -0
  96. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +17 -0
  97. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +67 -0
  98. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +11 -0
  99. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c +3 -3
  100. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +3 -2
  101. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h +2 -0
  102. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c +42 -0
  103. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +7 -7
  104. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +113 -0
  105. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +10 -7
  106. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +10 -10
  107. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +2 -2
  108. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c +2 -2
  109. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c +10 -9
  110. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +2 -3
  111. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.c +72 -68
  112. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/{api.h → stream_chacha20_ref.h} +5 -0
  113. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/{stream_chacha20_api.c → stream_chacha20.c} +27 -7
  114. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +22 -0
  115. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.c +329 -0
  116. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.h +27 -0
  117. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +1 -1
  118. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +2 -2
  119. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +1 -1
  120. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +2 -2
  121. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +2 -2
  122. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +2 -2
  123. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +2 -2
  124. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +2 -2
  125. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +4 -4
  126. data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c +14 -21
  127. data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c +14 -37
  128. data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/verify_64.c +14 -69
  129. data/vendor/libsodium/src/libsodium/include/Makefile.in +1 -0
  130. data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +8 -4
  131. data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +4 -2
  132. data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +2 -2
  133. data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +2 -3
  134. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +2 -1
  135. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +6 -1
  136. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +5 -0
  137. data/vendor/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h +6 -20
  138. data/vendor/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +1 -28
  139. data/vendor/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +1 -27
  140. data/vendor/libsodium/src/libsodium/include/sodium/runtime.h +3 -0
  141. data/vendor/libsodium/src/libsodium/include/sodium/utils.h +6 -0
  142. data/vendor/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c +3 -3
  143. data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +58 -51
  144. data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +23 -18
  145. data/vendor/libsodium/src/libsodium/sodium/core.c +4 -0
  146. data/vendor/libsodium/src/libsodium/sodium/runtime.c +34 -15
  147. data/vendor/libsodium/src/libsodium/sodium/utils.c +104 -14
  148. data/vendor/libsodium/test/Makefile.in +1 -0
  149. data/vendor/libsodium/test/default/Makefile.in +1 -0
  150. data/vendor/libsodium/test/default/auth.c +5 -5
  151. data/vendor/libsodium/test/default/auth2.c +3 -3
  152. data/vendor/libsodium/test/default/auth3.c +3 -3
  153. data/vendor/libsodium/test/default/auth5.c +4 -4
  154. data/vendor/libsodium/test/default/auth6.c +3 -3
  155. data/vendor/libsodium/test/default/auth7.c +4 -4
  156. data/vendor/libsodium/test/default/box.c +13 -9
  157. data/vendor/libsodium/test/default/box2.c +11 -8
  158. data/vendor/libsodium/test/default/box7.c +11 -9
  159. data/vendor/libsodium/test/default/box8.c +32 -19
  160. data/vendor/libsodium/test/default/box_easy.c +31 -10
  161. data/vendor/libsodium/test/default/box_easy.exp +3 -19
  162. data/vendor/libsodium/test/default/box_easy2.c +30 -15
  163. data/vendor/libsodium/test/default/box_seed.c +1 -1
  164. data/vendor/libsodium/test/default/cmptest.h +22 -1
  165. data/vendor/libsodium/test/default/core1.c +6 -5
  166. data/vendor/libsodium/test/default/core2.c +6 -5
  167. data/vendor/libsodium/test/default/core3.c +8 -7
  168. data/vendor/libsodium/test/default/core4.c +11 -8
  169. data/vendor/libsodium/test/default/core5.c +7 -5
  170. data/vendor/libsodium/test/default/core6.c +8 -6
  171. data/vendor/libsodium/test/default/generichash.c +0 -15
  172. data/vendor/libsodium/test/default/generichash.exp +0 -1
  173. data/vendor/libsodium/test/default/generichash3.c +1 -21
  174. data/vendor/libsodium/test/default/generichash3.exp +1 -1
  175. data/vendor/libsodium/test/default/hash.c +3 -3
  176. data/vendor/libsodium/test/default/hash3.c +2 -2
  177. data/vendor/libsodium/test/default/index.html.tpl +84 -0
  178. data/vendor/libsodium/test/default/onetimeauth.c +3 -3
  179. data/vendor/libsodium/test/default/onetimeauth2.c +5 -4
  180. data/vendor/libsodium/test/default/onetimeauth7.c +4 -4
  181. data/vendor/libsodium/test/default/pre.js.inc +14 -6
  182. data/vendor/libsodium/test/default/randombytes.c +2 -2
  183. data/vendor/libsodium/test/default/scalarmult.c +19 -6
  184. data/vendor/libsodium/test/default/scalarmult.exp +1 -0
  185. data/vendor/libsodium/test/default/scalarmult2.c +2 -2
  186. data/vendor/libsodium/test/default/scalarmult5.c +6 -4
  187. data/vendor/libsodium/test/default/scalarmult6.c +5 -3
  188. data/vendor/libsodium/test/default/scalarmult7.c +11 -7
  189. data/vendor/libsodium/test/default/secretbox.c +7 -6
  190. data/vendor/libsodium/test/default/secretbox2.c +7 -6
  191. data/vendor/libsodium/test/default/secretbox7.c +5 -5
  192. data/vendor/libsodium/test/default/secretbox8.c +5 -5
  193. data/vendor/libsodium/test/default/secretbox_easy.c +27 -17
  194. data/vendor/libsodium/test/default/secretbox_easy.exp +7 -95
  195. data/vendor/libsodium/test/default/secretbox_easy2.c +22 -10
  196. data/vendor/libsodium/test/default/sign.c +5 -0
  197. data/vendor/libsodium/test/default/sodium_utils.c +73 -0
  198. data/vendor/libsodium/test/default/sodium_utils.exp +6 -0
  199. data/vendor/libsodium/test/default/stream.c +7 -6
  200. data/vendor/libsodium/test/default/stream2.c +4 -4
  201. data/vendor/libsodium/test/default/stream3.c +6 -5
  202. data/vendor/libsodium/test/default/stream4.c +7 -6
  203. data/vendor/libsodium/test/default/verify1.c +61 -18
  204. data/vendor/libsodium/test/default/verify1.exp +2 -6
  205. metadata +37 -44
  206. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/api.h +0 -9
  207. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/api.h +0 -9
  208. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/api.h +0 -9
  209. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +0 -20
  210. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h +0 -10
  211. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h +0 -10
  212. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h +0 -10
  213. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h +0 -10
  214. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h +0 -2
  215. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/api.h +0 -10
  216. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/api.h +0 -10
  217. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h +0 -6
  218. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c +0 -13
  219. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/api.h +0 -5
  220. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/base_curve25519_ref10.c +0 -14
  221. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/scalarmult_curve25519_ref10.c +0 -54
  222. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c +0 -14
  223. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h +0 -11
  224. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h +0 -7
  225. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h +0 -15
  226. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h +0 -12
  227. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h +0 -54
  228. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c +0 -348
  229. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h +0 -34
  230. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c +0 -230
  231. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h +0 -51
  232. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c +0 -150
  233. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c +0 -106
  234. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c +0 -16
  235. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h +0 -13
  236. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h +0 -1
  237. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h +0 -5
  238. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h +0 -10
  239. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h +0 -9
  240. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h +0 -11
  241. data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/api.h +0 -2
  242. data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/api.h +0 -2
  243. data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/api.h +0 -2
@@ -0,0 +1,219 @@
1
+ #ifdef IN_SANDY2X
2
+
3
+ /*
4
+ This file is the result of merging
5
+ amd64-51/fe25519_pack.c and amd64-51/fe25519_freeze.s.
6
+ */
7
+ #include "fe51_namespace.h"
8
+ #include "consts_namespace.h"
9
+ .p2align 5
10
+
11
+ .globl fe51_pack
12
+ .globl _fe51_pack
13
+ #ifdef __ELF__
14
+ .type fe51_pack, @function
15
+ .type _fe51_pack, @function
16
+ #endif
17
+ fe51_pack:
18
+ _fe51_pack:
19
+
20
+ mov %rsp,%r11
21
+ and $31,%r11
22
+ add $32,%r11
23
+ sub %r11,%rsp
24
+ movq %r11,0(%rsp)
25
+ movq %r12,8(%rsp)
26
+ movq 0(%rsi),%rdx
27
+ movq 8(%rsi),%rcx
28
+ movq 16(%rsi),%r8
29
+ movq 24(%rsi),%r9
30
+ movq 32(%rsi),%rsi
31
+ movq REDMASK51(%rip),%rax
32
+ lea -18(%rax),%r10
33
+ mov $3,%r11
34
+ ._reduceloop:
35
+ mov %rdx,%r12
36
+ shr $51,%r12
37
+ and %rax,%rdx
38
+ add %r12,%rcx
39
+ mov %rcx,%r12
40
+ shr $51,%r12
41
+ and %rax,%rcx
42
+ add %r12,%r8
43
+ mov %r8,%r12
44
+ shr $51,%r12
45
+ and %rax,%r8
46
+ add %r12,%r9
47
+ mov %r9,%r12
48
+ shr $51,%r12
49
+ and %rax,%r9
50
+ add %r12,%rsi
51
+ mov %rsi,%r12
52
+ shr $51,%r12
53
+ and %rax,%rsi
54
+ imulq $19, %r12,%r12
55
+ add %r12,%rdx
56
+ sub $1,%r11
57
+ ja ._reduceloop
58
+ mov $1,%r12
59
+ cmp %r10,%rdx
60
+ cmovl %r11,%r12
61
+ cmp %rax,%rcx
62
+ cmovne %r11,%r12
63
+ cmp %rax,%r8
64
+ cmovne %r11,%r12
65
+ cmp %rax,%r9
66
+ cmovne %r11,%r12
67
+ cmp %rax,%rsi
68
+ cmovne %r11,%r12
69
+ neg %r12
70
+ and %r12,%rax
71
+ and %r12,%r10
72
+ sub %r10,%rdx
73
+ sub %rax,%rcx
74
+ sub %rax,%r8
75
+ sub %rax,%r9
76
+ sub %rax,%rsi
77
+ mov %rdx,%rax
78
+ and $0xFF,%eax
79
+ movb %al,0(%rdi)
80
+ mov %rdx,%rax
81
+ shr $8,%rax
82
+ and $0xFF,%eax
83
+ movb %al,1(%rdi)
84
+ mov %rdx,%rax
85
+ shr $16,%rax
86
+ and $0xFF,%eax
87
+ movb %al,2(%rdi)
88
+ mov %rdx,%rax
89
+ shr $24,%rax
90
+ and $0xFF,%eax
91
+ movb %al,3(%rdi)
92
+ mov %rdx,%rax
93
+ shr $32,%rax
94
+ and $0xFF,%eax
95
+ movb %al,4(%rdi)
96
+ mov %rdx,%rax
97
+ shr $40,%rax
98
+ and $0xFF,%eax
99
+ movb %al,5(%rdi)
100
+ mov %rdx,%rdx
101
+ shr $48,%rdx
102
+ mov %rcx,%rax
103
+ shl $3,%rax
104
+ and $0xF8,%eax
105
+ xor %rdx,%rax
106
+ movb %al,6(%rdi)
107
+ mov %rcx,%rdx
108
+ shr $5,%rdx
109
+ and $0xFF,%edx
110
+ movb %dl,7(%rdi)
111
+ mov %rcx,%rdx
112
+ shr $13,%rdx
113
+ and $0xFF,%edx
114
+ movb %dl,8(%rdi)
115
+ mov %rcx,%rdx
116
+ shr $21,%rdx
117
+ and $0xFF,%edx
118
+ movb %dl,9(%rdi)
119
+ mov %rcx,%rdx
120
+ shr $29,%rdx
121
+ and $0xFF,%edx
122
+ movb %dl,10(%rdi)
123
+ mov %rcx,%rdx
124
+ shr $37,%rdx
125
+ and $0xFF,%edx
126
+ movb %dl,11(%rdi)
127
+ mov %rcx,%rdx
128
+ shr $45,%rdx
129
+ mov %r8,%rcx
130
+ shl $6,%rcx
131
+ and $0xC0,%ecx
132
+ xor %rdx,%rcx
133
+ movb %cl,12(%rdi)
134
+ mov %r8,%rdx
135
+ shr $2,%rdx
136
+ and $0xFF,%edx
137
+ movb %dl,13(%rdi)
138
+ mov %r8,%rdx
139
+ shr $10,%rdx
140
+ and $0xFF,%edx
141
+ movb %dl,14(%rdi)
142
+ mov %r8,%rdx
143
+ shr $18,%rdx
144
+ and $0xFF,%edx
145
+ movb %dl,15(%rdi)
146
+ mov %r8,%rdx
147
+ shr $26,%rdx
148
+ and $0xFF,%edx
149
+ movb %dl,16(%rdi)
150
+ mov %r8,%rdx
151
+ shr $34,%rdx
152
+ and $0xFF,%edx
153
+ movb %dl,17(%rdi)
154
+ mov %r8,%rdx
155
+ shr $42,%rdx
156
+ movb %dl,18(%rdi)
157
+ mov %r8,%rdx
158
+ shr $50,%rdx
159
+ mov %r9,%rcx
160
+ shl $1,%rcx
161
+ and $0xFE,%ecx
162
+ xor %rdx,%rcx
163
+ movb %cl,19(%rdi)
164
+ mov %r9,%rdx
165
+ shr $7,%rdx
166
+ and $0xFF,%edx
167
+ movb %dl,20(%rdi)
168
+ mov %r9,%rdx
169
+ shr $15,%rdx
170
+ and $0xFF,%edx
171
+ movb %dl,21(%rdi)
172
+ mov %r9,%rdx
173
+ shr $23,%rdx
174
+ and $0xFF,%edx
175
+ movb %dl,22(%rdi)
176
+ mov %r9,%rdx
177
+ shr $31,%rdx
178
+ and $0xFF,%edx
179
+ movb %dl,23(%rdi)
180
+ mov %r9,%rdx
181
+ shr $39,%rdx
182
+ and $0xFF,%edx
183
+ movb %dl,24(%rdi)
184
+ mov %r9,%rdx
185
+ shr $47,%rdx
186
+ mov %rsi,%rcx
187
+ shl $4,%rcx
188
+ and $0xF0,%ecx
189
+ xor %rdx,%rcx
190
+ movb %cl,25(%rdi)
191
+ mov %rsi,%rdx
192
+ shr $4,%rdx
193
+ and $0xFF,%edx
194
+ movb %dl,26(%rdi)
195
+ mov %rsi,%rdx
196
+ shr $12,%rdx
197
+ and $0xFF,%edx
198
+ movb %dl,27(%rdi)
199
+ mov %rsi,%rdx
200
+ shr $20,%rdx
201
+ and $0xFF,%edx
202
+ movb %dl,28(%rdi)
203
+ mov %rsi,%rdx
204
+ shr $28,%rdx
205
+ and $0xFF,%edx
206
+ movb %dl,29(%rdi)
207
+ mov %rsi,%rdx
208
+ shr $36,%rdx
209
+ and $0xFF,%edx
210
+ movb %dl,30(%rdi)
211
+ mov %rsi,%rsi
212
+ shr $44,%rsi
213
+ movb %sil,31(%rdi)
214
+ movq 0(%rsp),%r11
215
+ movq 8(%rsp),%r12
216
+ add %r11,%rsp
217
+ ret
218
+
219
+ #endif
@@ -0,0 +1,76 @@
1
+ /*
2
+ This file is basically ref10/fe_frombytes.h.
3
+ */
4
+
5
+ #include "fe.h"
6
+ #include "crypto_uint64.h"
7
+
8
+ #ifdef HAVE_AVX_ASM
9
+
10
+ static crypto_uint64 load_3(const unsigned char *in)
11
+ {
12
+ crypto_uint64 result;
13
+ result = (crypto_uint64) in[0];
14
+ result |= ((crypto_uint64) in[1]) << 8;
15
+ result |= ((crypto_uint64) in[2]) << 16;
16
+ return result;
17
+ }
18
+
19
+ static crypto_uint64 load_4(const unsigned char *in)
20
+ {
21
+ crypto_uint64 result;
22
+ result = (crypto_uint64) in[0];
23
+ result |= ((crypto_uint64) in[1]) << 8;
24
+ result |= ((crypto_uint64) in[2]) << 16;
25
+ result |= ((crypto_uint64) in[3]) << 24;
26
+ return result;
27
+ }
28
+
29
+ void fe_frombytes(fe h,const unsigned char *s)
30
+ {
31
+ crypto_uint64 h0 = load_4(s);
32
+ crypto_uint64 h1 = load_3(s + 4) << 6;
33
+ crypto_uint64 h2 = load_3(s + 7) << 5;
34
+ crypto_uint64 h3 = load_3(s + 10) << 3;
35
+ crypto_uint64 h4 = load_3(s + 13) << 2;
36
+ crypto_uint64 h5 = load_4(s + 16);
37
+ crypto_uint64 h6 = load_3(s + 20) << 7;
38
+ crypto_uint64 h7 = load_3(s + 23) << 5;
39
+ crypto_uint64 h8 = load_3(s + 26) << 4;
40
+ crypto_uint64 h9 = (load_3(s + 29) & 8388607) << 2;
41
+ crypto_uint64 carry0;
42
+ crypto_uint64 carry1;
43
+ crypto_uint64 carry2;
44
+ crypto_uint64 carry3;
45
+ crypto_uint64 carry4;
46
+ crypto_uint64 carry5;
47
+ crypto_uint64 carry6;
48
+ crypto_uint64 carry7;
49
+ crypto_uint64 carry8;
50
+ crypto_uint64 carry9;
51
+
52
+ carry9 = h9 >> 25; h0 += carry9 * 19; h9 &= 0x1FFFFFF;
53
+ carry1 = h1 >> 25; h2 += carry1; h1 &= 0x1FFFFFF;
54
+ carry3 = h3 >> 25; h4 += carry3; h3 &= 0x1FFFFFF;
55
+ carry5 = h5 >> 25; h6 += carry5; h5 &= 0x1FFFFFF;
56
+ carry7 = h7 >> 25; h8 += carry7; h7 &= 0x1FFFFFF;
57
+
58
+ carry0 = h0 >> 26; h1 += carry0; h0 &= 0x3FFFFFF;
59
+ carry2 = h2 >> 26; h3 += carry2; h2 &= 0x3FFFFFF;
60
+ carry4 = h4 >> 26; h5 += carry4; h4 &= 0x3FFFFFF;
61
+ carry6 = h6 >> 26; h7 += carry6; h6 &= 0x3FFFFFF;
62
+ carry8 = h8 >> 26; h9 += carry8; h8 &= 0x3FFFFFF;
63
+
64
+ h[0] = h0;
65
+ h[1] = h1;
66
+ h[2] = h2;
67
+ h[3] = h3;
68
+ h[4] = h4;
69
+ h[5] = h5;
70
+ h[6] = h6;
71
+ h[7] = h7;
72
+ h[8] = h8;
73
+ h[9] = h9;
74
+ }
75
+
76
+ #endif
@@ -0,0 +1,1432 @@
1
+ #ifdef IN_SANDY2X
2
+
3
+ #include "ladder_namespace.h"
4
+ #include "consts_namespace.h"
5
+ .p2align 5
6
+
7
+ .globl ladder
8
+ .globl _ladder
9
+ #ifdef __ELF__
10
+ .type ladder, @function
11
+ .type _ladder, @function
12
+ #endif
13
+ ladder:
14
+ _ladder:
15
+
16
+ mov %rsp,%r11
17
+ and $31,%r11
18
+ add $1856,%r11
19
+ sub %r11,%rsp
20
+ movq %r11,1824(%rsp)
21
+ movq %r12,1832(%rsp)
22
+ movq %r13,1840(%rsp)
23
+ movq %r14,1848(%rsp)
24
+ movdqa v0_0(%rip),%xmm0
25
+ movdqa v1_0(%rip),%xmm1
26
+ movdqu 0(%rdi),%xmm2
27
+ movdqa %xmm2,0(%rsp)
28
+ movdqu 16(%rdi),%xmm2
29
+ movdqa %xmm2,16(%rsp)
30
+ movdqu 32(%rdi),%xmm2
31
+ movdqa %xmm2,32(%rsp)
32
+ movdqu 48(%rdi),%xmm2
33
+ movdqa %xmm2,48(%rsp)
34
+ movdqu 64(%rdi),%xmm2
35
+ movdqa %xmm2,64(%rsp)
36
+ movdqa %xmm1,80(%rsp)
37
+ movdqa %xmm0,96(%rsp)
38
+ movdqa %xmm0,112(%rsp)
39
+ movdqa %xmm0,128(%rsp)
40
+ movdqa %xmm0,144(%rsp)
41
+ movdqa %xmm1,%xmm0
42
+ pxor %xmm1,%xmm1
43
+ pxor %xmm2,%xmm2
44
+ pxor %xmm3,%xmm3
45
+ pxor %xmm4,%xmm4
46
+ pxor %xmm5,%xmm5
47
+ pxor %xmm6,%xmm6
48
+ pxor %xmm7,%xmm7
49
+ pxor %xmm8,%xmm8
50
+ pxor %xmm9,%xmm9
51
+ movdqu 0(%rdi),%xmm10
52
+ movdqa %xmm10,160(%rsp)
53
+ movdqu 16(%rdi),%xmm10
54
+ movdqa %xmm10,176(%rsp)
55
+ pmuludq v19_19(%rip),%xmm10
56
+ movdqa %xmm10,192(%rsp)
57
+ movdqu 32(%rdi),%xmm10
58
+ movdqa %xmm10,208(%rsp)
59
+ pmuludq v19_19(%rip),%xmm10
60
+ movdqa %xmm10,224(%rsp)
61
+ movdqu 48(%rdi),%xmm10
62
+ movdqa %xmm10,240(%rsp)
63
+ pmuludq v19_19(%rip),%xmm10
64
+ movdqa %xmm10,256(%rsp)
65
+ movdqu 64(%rdi),%xmm10
66
+ movdqa %xmm10,272(%rsp)
67
+ pmuludq v19_19(%rip),%xmm10
68
+ movdqa %xmm10,288(%rsp)
69
+ movdqu 8(%rdi),%xmm10
70
+ pmuludq v2_1(%rip),%xmm10
71
+ movdqa %xmm10,304(%rsp)
72
+ pmuludq v19_19(%rip),%xmm10
73
+ movdqa %xmm10,320(%rsp)
74
+ movdqu 24(%rdi),%xmm10
75
+ pmuludq v2_1(%rip),%xmm10
76
+ movdqa %xmm10,336(%rsp)
77
+ pmuludq v19_19(%rip),%xmm10
78
+ movdqa %xmm10,352(%rsp)
79
+ movdqu 40(%rdi),%xmm10
80
+ pmuludq v2_1(%rip),%xmm10
81
+ movdqa %xmm10,368(%rsp)
82
+ pmuludq v19_19(%rip),%xmm10
83
+ movdqa %xmm10,384(%rsp)
84
+ movdqu 56(%rdi),%xmm10
85
+ pmuludq v2_1(%rip),%xmm10
86
+ movdqa %xmm10,400(%rsp)
87
+ pmuludq v19_19(%rip),%xmm10
88
+ movdqa %xmm10,416(%rsp)
89
+ movdqu 0(%rdi),%xmm10
90
+ movdqu 64(%rdi),%xmm11
91
+ blendps $12, %xmm11, %xmm10
92
+ pshufd $2,%xmm10,%xmm10
93
+ pmuludq v38_1(%rip),%xmm10
94
+ movdqa %xmm10,432(%rsp)
95
+ movq 0(%rsi),%rdx
96
+ movq 8(%rsi),%rcx
97
+ movq 16(%rsi),%r8
98
+ movq 24(%rsi),%r9
99
+ shrd $1,%rcx,%rdx
100
+ shrd $1,%r8,%rcx
101
+ shrd $1,%r9,%r8
102
+ shr $1,%r9
103
+ xorq 0(%rsi),%rdx
104
+ xorq 8(%rsi),%rcx
105
+ xorq 16(%rsi),%r8
106
+ xorq 24(%rsi),%r9
107
+ leaq 800(%rsp),%rsi
108
+ mov $64,%rax
109
+ ._ladder_small_loop:
110
+ mov %rdx,%r10
111
+ mov %rcx,%r11
112
+ mov %r8,%r12
113
+ mov %r9,%r13
114
+ shr $1,%rdx
115
+ shr $1,%rcx
116
+ shr $1,%r8
117
+ shr $1,%r9
118
+ and $1,%r10d
119
+ and $1,%r11d
120
+ and $1,%r12d
121
+ and $1,%r13d
122
+ neg %r10
123
+ neg %r11
124
+ neg %r12
125
+ neg %r13
126
+ movl %r10d,0(%rsi)
127
+ movl %r11d,256(%rsi)
128
+ movl %r12d,512(%rsi)
129
+ movl %r13d,768(%rsi)
130
+ add $4,%rsi
131
+ sub $1,%rax
132
+ jne ._ladder_small_loop
133
+ mov $255,%rdx
134
+ add $760,%rsi
135
+ ._ladder_loop:
136
+ sub $1,%rdx
137
+ vbroadcastss 0(%rsi),%xmm10
138
+ sub $4,%rsi
139
+ movdqa 0(%rsp),%xmm11
140
+ movdqa 80(%rsp),%xmm12
141
+ vpxor %xmm11,%xmm0,%xmm13
142
+ pand %xmm10,%xmm13
143
+ pxor %xmm13,%xmm0
144
+ pxor %xmm13,%xmm11
145
+ vpxor %xmm12,%xmm1,%xmm13
146
+ pand %xmm10,%xmm13
147
+ pxor %xmm13,%xmm1
148
+ pxor %xmm13,%xmm12
149
+ movdqa 16(%rsp),%xmm13
150
+ movdqa 96(%rsp),%xmm14
151
+ vpxor %xmm13,%xmm2,%xmm15
152
+ pand %xmm10,%xmm15
153
+ pxor %xmm15,%xmm2
154
+ pxor %xmm15,%xmm13
155
+ vpxor %xmm14,%xmm3,%xmm15
156
+ pand %xmm10,%xmm15
157
+ pxor %xmm15,%xmm3
158
+ pxor %xmm15,%xmm14
159
+ movdqa %xmm13,0(%rsp)
160
+ movdqa %xmm14,16(%rsp)
161
+ movdqa 32(%rsp),%xmm13
162
+ movdqa 112(%rsp),%xmm14
163
+ vpxor %xmm13,%xmm4,%xmm15
164
+ pand %xmm10,%xmm15
165
+ pxor %xmm15,%xmm4
166
+ pxor %xmm15,%xmm13
167
+ vpxor %xmm14,%xmm5,%xmm15
168
+ pand %xmm10,%xmm15
169
+ pxor %xmm15,%xmm5
170
+ pxor %xmm15,%xmm14
171
+ movdqa %xmm13,32(%rsp)
172
+ movdqa %xmm14,80(%rsp)
173
+ movdqa 48(%rsp),%xmm13
174
+ movdqa 128(%rsp),%xmm14
175
+ vpxor %xmm13,%xmm6,%xmm15
176
+ pand %xmm10,%xmm15
177
+ pxor %xmm15,%xmm6
178
+ pxor %xmm15,%xmm13
179
+ vpxor %xmm14,%xmm7,%xmm15
180
+ pand %xmm10,%xmm15
181
+ pxor %xmm15,%xmm7
182
+ pxor %xmm15,%xmm14
183
+ movdqa %xmm13,48(%rsp)
184
+ movdqa %xmm14,96(%rsp)
185
+ movdqa 64(%rsp),%xmm13
186
+ movdqa 144(%rsp),%xmm14
187
+ vpxor %xmm13,%xmm8,%xmm15
188
+ pand %xmm10,%xmm15
189
+ pxor %xmm15,%xmm8
190
+ pxor %xmm15,%xmm13
191
+ vpxor %xmm14,%xmm9,%xmm15
192
+ pand %xmm10,%xmm15
193
+ pxor %xmm15,%xmm9
194
+ pxor %xmm15,%xmm14
195
+ movdqa %xmm13,64(%rsp)
196
+ movdqa %xmm14,112(%rsp)
197
+ vpaddq subc0(%rip),%xmm11,%xmm10
198
+ psubq %xmm12,%xmm10
199
+ paddq %xmm12,%xmm11
200
+ vpunpckhqdq %xmm10,%xmm11,%xmm12
201
+ vpunpcklqdq %xmm10,%xmm11,%xmm10
202
+ vpaddq %xmm1,%xmm0,%xmm11
203
+ paddq subc0(%rip),%xmm0
204
+ psubq %xmm1,%xmm0
205
+ vpunpckhqdq %xmm11,%xmm0,%xmm1
206
+ vpunpcklqdq %xmm11,%xmm0,%xmm0
207
+ vpmuludq %xmm0,%xmm10,%xmm11
208
+ vpmuludq %xmm1,%xmm10,%xmm13
209
+ movdqa %xmm1,128(%rsp)
210
+ paddq %xmm1,%xmm1
211
+ vpmuludq %xmm0,%xmm12,%xmm14
212
+ movdqa %xmm0,144(%rsp)
213
+ paddq %xmm14,%xmm13
214
+ vpmuludq %xmm1,%xmm12,%xmm0
215
+ movdqa %xmm1,448(%rsp)
216
+ vpaddq %xmm3,%xmm2,%xmm1
217
+ paddq subc2(%rip),%xmm2
218
+ psubq %xmm3,%xmm2
219
+ vpunpckhqdq %xmm1,%xmm2,%xmm3
220
+ vpunpcklqdq %xmm1,%xmm2,%xmm1
221
+ vpmuludq %xmm1,%xmm10,%xmm2
222
+ paddq %xmm2,%xmm0
223
+ vpmuludq %xmm3,%xmm10,%xmm2
224
+ movdqa %xmm3,464(%rsp)
225
+ paddq %xmm3,%xmm3
226
+ vpmuludq %xmm1,%xmm12,%xmm14
227
+ movdqa %xmm1,480(%rsp)
228
+ paddq %xmm14,%xmm2
229
+ vpmuludq %xmm3,%xmm12,%xmm1
230
+ movdqa %xmm3,496(%rsp)
231
+ vpaddq %xmm5,%xmm4,%xmm3
232
+ paddq subc2(%rip),%xmm4
233
+ psubq %xmm5,%xmm4
234
+ vpunpckhqdq %xmm3,%xmm4,%xmm5
235
+ vpunpcklqdq %xmm3,%xmm4,%xmm3
236
+ vpmuludq %xmm3,%xmm10,%xmm4
237
+ paddq %xmm4,%xmm1
238
+ vpmuludq %xmm5,%xmm10,%xmm4
239
+ movdqa %xmm5,512(%rsp)
240
+ paddq %xmm5,%xmm5
241
+ vpmuludq %xmm3,%xmm12,%xmm14
242
+ movdqa %xmm3,528(%rsp)
243
+ paddq %xmm14,%xmm4
244
+ vpaddq %xmm7,%xmm6,%xmm3
245
+ paddq subc2(%rip),%xmm6
246
+ psubq %xmm7,%xmm6
247
+ vpunpckhqdq %xmm3,%xmm6,%xmm7
248
+ vpunpcklqdq %xmm3,%xmm6,%xmm3
249
+ vpmuludq %xmm3,%xmm10,%xmm6
250
+ vpmuludq %xmm5,%xmm12,%xmm14
251
+ movdqa %xmm5,544(%rsp)
252
+ pmuludq v19_19(%rip),%xmm5
253
+ movdqa %xmm5,560(%rsp)
254
+ paddq %xmm14,%xmm6
255
+ vpmuludq %xmm7,%xmm10,%xmm5
256
+ movdqa %xmm7,576(%rsp)
257
+ paddq %xmm7,%xmm7
258
+ vpmuludq %xmm3,%xmm12,%xmm14
259
+ movdqa %xmm3,592(%rsp)
260
+ paddq %xmm14,%xmm5
261
+ pmuludq v19_19(%rip),%xmm3
262
+ movdqa %xmm3,608(%rsp)
263
+ vpaddq %xmm9,%xmm8,%xmm3
264
+ paddq subc2(%rip),%xmm8
265
+ psubq %xmm9,%xmm8
266
+ vpunpckhqdq %xmm3,%xmm8,%xmm9
267
+ vpunpcklqdq %xmm3,%xmm8,%xmm3
268
+ movdqa %xmm3,624(%rsp)
269
+ vpmuludq %xmm7,%xmm12,%xmm8
270
+ movdqa %xmm7,640(%rsp)
271
+ pmuludq v19_19(%rip),%xmm7
272
+ movdqa %xmm7,656(%rsp)
273
+ vpmuludq %xmm3,%xmm10,%xmm7
274
+ paddq %xmm7,%xmm8
275
+ vpmuludq %xmm9,%xmm10,%xmm7
276
+ movdqa %xmm9,672(%rsp)
277
+ paddq %xmm9,%xmm9
278
+ vpmuludq %xmm3,%xmm12,%xmm10
279
+ paddq %xmm10,%xmm7
280
+ pmuludq v19_19(%rip),%xmm3
281
+ movdqa %xmm3,688(%rsp)
282
+ pmuludq v19_19(%rip),%xmm12
283
+ vpmuludq %xmm9,%xmm12,%xmm3
284
+ movdqa %xmm9,704(%rsp)
285
+ paddq %xmm3,%xmm11
286
+ movdqa 0(%rsp),%xmm3
287
+ movdqa 16(%rsp),%xmm9
288
+ vpaddq subc2(%rip),%xmm3,%xmm10
289
+ psubq %xmm9,%xmm10
290
+ paddq %xmm9,%xmm3
291
+ vpunpckhqdq %xmm10,%xmm3,%xmm9
292
+ vpunpcklqdq %xmm10,%xmm3,%xmm3
293
+ vpmuludq 144(%rsp),%xmm3,%xmm10
294
+ paddq %xmm10,%xmm0
295
+ vpmuludq 128(%rsp),%xmm3,%xmm10
296
+ paddq %xmm10,%xmm2
297
+ vpmuludq 480(%rsp),%xmm3,%xmm10
298
+ paddq %xmm10,%xmm1
299
+ vpmuludq 464(%rsp),%xmm3,%xmm10
300
+ paddq %xmm10,%xmm4
301
+ vpmuludq 528(%rsp),%xmm3,%xmm10
302
+ paddq %xmm10,%xmm6
303
+ vpmuludq 512(%rsp),%xmm3,%xmm10
304
+ paddq %xmm10,%xmm5
305
+ vpmuludq 592(%rsp),%xmm3,%xmm10
306
+ paddq %xmm10,%xmm8
307
+ vpmuludq 576(%rsp),%xmm3,%xmm10
308
+ paddq %xmm10,%xmm7
309
+ pmuludq v19_19(%rip),%xmm3
310
+ vpmuludq 624(%rsp),%xmm3,%xmm10
311
+ paddq %xmm10,%xmm11
312
+ pmuludq 672(%rsp),%xmm3
313
+ paddq %xmm3,%xmm13
314
+ vpmuludq 144(%rsp),%xmm9,%xmm3
315
+ paddq %xmm3,%xmm2
316
+ vpmuludq 448(%rsp),%xmm9,%xmm3
317
+ paddq %xmm3,%xmm1
318
+ vpmuludq 480(%rsp),%xmm9,%xmm3
319
+ paddq %xmm3,%xmm4
320
+ vpmuludq 496(%rsp),%xmm9,%xmm3
321
+ paddq %xmm3,%xmm6
322
+ vpmuludq 528(%rsp),%xmm9,%xmm3
323
+ paddq %xmm3,%xmm5
324
+ vpmuludq 544(%rsp),%xmm9,%xmm3
325
+ paddq %xmm3,%xmm8
326
+ vpmuludq 592(%rsp),%xmm9,%xmm3
327
+ paddq %xmm3,%xmm7
328
+ pmuludq v19_19(%rip),%xmm9
329
+ vpmuludq 640(%rsp),%xmm9,%xmm3
330
+ paddq %xmm3,%xmm11
331
+ vpmuludq 624(%rsp),%xmm9,%xmm3
332
+ paddq %xmm3,%xmm13
333
+ pmuludq 704(%rsp),%xmm9
334
+ paddq %xmm9,%xmm0
335
+ movdqa 32(%rsp),%xmm3
336
+ movdqa 80(%rsp),%xmm9
337
+ vpaddq subc2(%rip),%xmm3,%xmm10
338
+ psubq %xmm9,%xmm10
339
+ paddq %xmm9,%xmm3
340
+ vpunpckhqdq %xmm10,%xmm3,%xmm9
341
+ vpunpcklqdq %xmm10,%xmm3,%xmm3
342
+ vpmuludq 144(%rsp),%xmm3,%xmm10
343
+ paddq %xmm10,%xmm1
344
+ vpmuludq 128(%rsp),%xmm3,%xmm10
345
+ paddq %xmm10,%xmm4
346
+ vpmuludq 480(%rsp),%xmm3,%xmm10
347
+ paddq %xmm10,%xmm6
348
+ vpmuludq 464(%rsp),%xmm3,%xmm10
349
+ paddq %xmm10,%xmm5
350
+ vpmuludq 528(%rsp),%xmm3,%xmm10
351
+ paddq %xmm10,%xmm8
352
+ vpmuludq 512(%rsp),%xmm3,%xmm10
353
+ paddq %xmm10,%xmm7
354
+ pmuludq v19_19(%rip),%xmm3
355
+ vpmuludq 592(%rsp),%xmm3,%xmm10
356
+ paddq %xmm10,%xmm11
357
+ vpmuludq 576(%rsp),%xmm3,%xmm10
358
+ paddq %xmm10,%xmm13
359
+ vpmuludq 624(%rsp),%xmm3,%xmm10
360
+ paddq %xmm10,%xmm0
361
+ pmuludq 672(%rsp),%xmm3
362
+ paddq %xmm3,%xmm2
363
+ vpmuludq 144(%rsp),%xmm9,%xmm3
364
+ paddq %xmm3,%xmm4
365
+ vpmuludq 448(%rsp),%xmm9,%xmm3
366
+ paddq %xmm3,%xmm6
367
+ vpmuludq 480(%rsp),%xmm9,%xmm3
368
+ paddq %xmm3,%xmm5
369
+ vpmuludq 496(%rsp),%xmm9,%xmm3
370
+ paddq %xmm3,%xmm8
371
+ vpmuludq 528(%rsp),%xmm9,%xmm3
372
+ paddq %xmm3,%xmm7
373
+ pmuludq v19_19(%rip),%xmm9
374
+ vpmuludq 544(%rsp),%xmm9,%xmm3
375
+ paddq %xmm3,%xmm11
376
+ vpmuludq 592(%rsp),%xmm9,%xmm3
377
+ paddq %xmm3,%xmm13
378
+ vpmuludq 640(%rsp),%xmm9,%xmm3
379
+ paddq %xmm3,%xmm0
380
+ vpmuludq 624(%rsp),%xmm9,%xmm3
381
+ paddq %xmm3,%xmm2
382
+ pmuludq 704(%rsp),%xmm9
383
+ paddq %xmm9,%xmm1
384
+ movdqa 48(%rsp),%xmm3
385
+ movdqa 96(%rsp),%xmm9
386
+ vpaddq subc2(%rip),%xmm3,%xmm10
387
+ psubq %xmm9,%xmm10
388
+ paddq %xmm9,%xmm3
389
+ vpunpckhqdq %xmm10,%xmm3,%xmm9
390
+ vpunpcklqdq %xmm10,%xmm3,%xmm3
391
+ vpmuludq 144(%rsp),%xmm3,%xmm10
392
+ paddq %xmm10,%xmm6
393
+ vpmuludq 128(%rsp),%xmm3,%xmm10
394
+ paddq %xmm10,%xmm5
395
+ vpmuludq 480(%rsp),%xmm3,%xmm10
396
+ paddq %xmm10,%xmm8
397
+ vpmuludq 464(%rsp),%xmm3,%xmm10
398
+ paddq %xmm10,%xmm7
399
+ pmuludq v19_19(%rip),%xmm3
400
+ vpmuludq 528(%rsp),%xmm3,%xmm10
401
+ paddq %xmm10,%xmm11
402
+ vpmuludq 512(%rsp),%xmm3,%xmm10
403
+ paddq %xmm10,%xmm13
404
+ vpmuludq 592(%rsp),%xmm3,%xmm10
405
+ paddq %xmm10,%xmm0
406
+ vpmuludq 576(%rsp),%xmm3,%xmm10
407
+ paddq %xmm10,%xmm2
408
+ vpmuludq 624(%rsp),%xmm3,%xmm10
409
+ paddq %xmm10,%xmm1
410
+ pmuludq 672(%rsp),%xmm3
411
+ paddq %xmm3,%xmm4
412
+ vpmuludq 144(%rsp),%xmm9,%xmm3
413
+ paddq %xmm3,%xmm5
414
+ vpmuludq 448(%rsp),%xmm9,%xmm3
415
+ paddq %xmm3,%xmm8
416
+ vpmuludq 480(%rsp),%xmm9,%xmm3
417
+ paddq %xmm3,%xmm7
418
+ pmuludq v19_19(%rip),%xmm9
419
+ vpmuludq 496(%rsp),%xmm9,%xmm3
420
+ paddq %xmm3,%xmm11
421
+ vpmuludq 528(%rsp),%xmm9,%xmm3
422
+ paddq %xmm3,%xmm13
423
+ vpmuludq 544(%rsp),%xmm9,%xmm3
424
+ paddq %xmm3,%xmm0
425
+ vpmuludq 592(%rsp),%xmm9,%xmm3
426
+ paddq %xmm3,%xmm2
427
+ vpmuludq 640(%rsp),%xmm9,%xmm3
428
+ paddq %xmm3,%xmm1
429
+ vpmuludq 624(%rsp),%xmm9,%xmm3
430
+ paddq %xmm3,%xmm4
431
+ pmuludq 704(%rsp),%xmm9
432
+ paddq %xmm9,%xmm6
433
+ movdqa 64(%rsp),%xmm3
434
+ movdqa 112(%rsp),%xmm9
435
+ vpaddq subc2(%rip),%xmm3,%xmm10
436
+ psubq %xmm9,%xmm10
437
+ paddq %xmm9,%xmm3
438
+ vpunpckhqdq %xmm10,%xmm3,%xmm9
439
+ vpunpcklqdq %xmm10,%xmm3,%xmm3
440
+ vpmuludq 144(%rsp),%xmm3,%xmm10
441
+ paddq %xmm10,%xmm8
442
+ vpmuludq 128(%rsp),%xmm3,%xmm10
443
+ paddq %xmm10,%xmm7
444
+ pmuludq v19_19(%rip),%xmm3
445
+ vpmuludq 480(%rsp),%xmm3,%xmm10
446
+ paddq %xmm10,%xmm11
447
+ vpmuludq 464(%rsp),%xmm3,%xmm10
448
+ paddq %xmm10,%xmm13
449
+ vpmuludq 528(%rsp),%xmm3,%xmm10
450
+ paddq %xmm10,%xmm0
451
+ vpmuludq 512(%rsp),%xmm3,%xmm10
452
+ paddq %xmm10,%xmm2
453
+ vpmuludq 592(%rsp),%xmm3,%xmm10
454
+ paddq %xmm10,%xmm1
455
+ vpmuludq 576(%rsp),%xmm3,%xmm10
456
+ paddq %xmm10,%xmm4
457
+ vpmuludq 624(%rsp),%xmm3,%xmm10
458
+ paddq %xmm10,%xmm6
459
+ pmuludq 672(%rsp),%xmm3
460
+ paddq %xmm3,%xmm5
461
+ vpmuludq 144(%rsp),%xmm9,%xmm3
462
+ paddq %xmm3,%xmm7
463
+ pmuludq v19_19(%rip),%xmm9
464
+ vpmuludq 448(%rsp),%xmm9,%xmm3
465
+ paddq %xmm3,%xmm11
466
+ vpmuludq 480(%rsp),%xmm9,%xmm3
467
+ paddq %xmm3,%xmm13
468
+ vpmuludq 496(%rsp),%xmm9,%xmm3
469
+ paddq %xmm3,%xmm0
470
+ vpmuludq 528(%rsp),%xmm9,%xmm3
471
+ paddq %xmm3,%xmm2
472
+ vpmuludq 544(%rsp),%xmm9,%xmm3
473
+ paddq %xmm3,%xmm1
474
+ vpmuludq 592(%rsp),%xmm9,%xmm3
475
+ paddq %xmm3,%xmm4
476
+ vpmuludq 640(%rsp),%xmm9,%xmm3
477
+ paddq %xmm3,%xmm6
478
+ vpmuludq 624(%rsp),%xmm9,%xmm3
479
+ paddq %xmm3,%xmm5
480
+ pmuludq 704(%rsp),%xmm9
481
+ paddq %xmm9,%xmm8
482
+ vpsrlq $25,%xmm4,%xmm3
483
+ paddq %xmm3,%xmm6
484
+ pand m25(%rip),%xmm4
485
+ vpsrlq $26,%xmm11,%xmm3
486
+ paddq %xmm3,%xmm13
487
+ pand m26(%rip),%xmm11
488
+ vpsrlq $26,%xmm6,%xmm3
489
+ paddq %xmm3,%xmm5
490
+ pand m26(%rip),%xmm6
491
+ vpsrlq $25,%xmm13,%xmm3
492
+ paddq %xmm3,%xmm0
493
+ pand m25(%rip),%xmm13
494
+ vpsrlq $25,%xmm5,%xmm3
495
+ paddq %xmm3,%xmm8
496
+ pand m25(%rip),%xmm5
497
+ vpsrlq $26,%xmm0,%xmm3
498
+ paddq %xmm3,%xmm2
499
+ pand m26(%rip),%xmm0
500
+ vpsrlq $26,%xmm8,%xmm3
501
+ paddq %xmm3,%xmm7
502
+ pand m26(%rip),%xmm8
503
+ vpsrlq $25,%xmm2,%xmm3
504
+ paddq %xmm3,%xmm1
505
+ pand m25(%rip),%xmm2
506
+ vpsrlq $25,%xmm7,%xmm3
507
+ vpsllq $4,%xmm3,%xmm9
508
+ paddq %xmm3,%xmm11
509
+ psllq $1,%xmm3
510
+ paddq %xmm3,%xmm9
511
+ paddq %xmm9,%xmm11
512
+ pand m25(%rip),%xmm7
513
+ vpsrlq $26,%xmm1,%xmm3
514
+ paddq %xmm3,%xmm4
515
+ pand m26(%rip),%xmm1
516
+ vpsrlq $26,%xmm11,%xmm3
517
+ paddq %xmm3,%xmm13
518
+ pand m26(%rip),%xmm11
519
+ vpsrlq $25,%xmm4,%xmm3
520
+ paddq %xmm3,%xmm6
521
+ pand m25(%rip),%xmm4
522
+ vpunpcklqdq %xmm13,%xmm11,%xmm3
523
+ vpunpckhqdq %xmm13,%xmm11,%xmm9
524
+ vpaddq subc0(%rip),%xmm9,%xmm10
525
+ psubq %xmm3,%xmm10
526
+ paddq %xmm9,%xmm3
527
+ vpunpckhqdq %xmm3,%xmm10,%xmm9
528
+ punpcklqdq %xmm3,%xmm10
529
+ vpmuludq %xmm10,%xmm10,%xmm3
530
+ paddq %xmm10,%xmm10
531
+ vpmuludq %xmm9,%xmm10,%xmm11
532
+ vpunpcklqdq %xmm2,%xmm0,%xmm12
533
+ vpunpckhqdq %xmm2,%xmm0,%xmm0
534
+ vpaddq subc2(%rip),%xmm0,%xmm2
535
+ psubq %xmm12,%xmm2
536
+ paddq %xmm0,%xmm12
537
+ vpunpckhqdq %xmm12,%xmm2,%xmm0
538
+ punpcklqdq %xmm12,%xmm2
539
+ vpmuludq %xmm2,%xmm10,%xmm12
540
+ vpaddq %xmm9,%xmm9,%xmm13
541
+ vpmuludq %xmm13,%xmm9,%xmm9
542
+ paddq %xmm9,%xmm12
543
+ vpmuludq %xmm0,%xmm10,%xmm9
544
+ vpmuludq %xmm2,%xmm13,%xmm14
545
+ paddq %xmm14,%xmm9
546
+ vpunpcklqdq %xmm4,%xmm1,%xmm14
547
+ vpunpckhqdq %xmm4,%xmm1,%xmm1
548
+ vpaddq subc2(%rip),%xmm1,%xmm4
549
+ psubq %xmm14,%xmm4
550
+ paddq %xmm1,%xmm14
551
+ vpunpckhqdq %xmm14,%xmm4,%xmm1
552
+ punpcklqdq %xmm14,%xmm4
553
+ movdqa %xmm1,0(%rsp)
554
+ paddq %xmm1,%xmm1
555
+ movdqa %xmm1,16(%rsp)
556
+ pmuludq v19_19(%rip),%xmm1
557
+ movdqa %xmm1,32(%rsp)
558
+ vpmuludq %xmm4,%xmm10,%xmm1
559
+ vpmuludq %xmm2,%xmm2,%xmm14
560
+ paddq %xmm14,%xmm1
561
+ vpmuludq 0(%rsp),%xmm10,%xmm14
562
+ vpmuludq %xmm4,%xmm13,%xmm15
563
+ paddq %xmm15,%xmm14
564
+ vpunpcklqdq %xmm5,%xmm6,%xmm15
565
+ vpunpckhqdq %xmm5,%xmm6,%xmm5
566
+ vpaddq subc2(%rip),%xmm5,%xmm6
567
+ psubq %xmm15,%xmm6
568
+ paddq %xmm5,%xmm15
569
+ vpunpckhqdq %xmm15,%xmm6,%xmm5
570
+ punpcklqdq %xmm15,%xmm6
571
+ movdqa %xmm6,48(%rsp)
572
+ pmuludq v19_19(%rip),%xmm6
573
+ movdqa %xmm6,64(%rsp)
574
+ movdqa %xmm5,80(%rsp)
575
+ pmuludq v38_38(%rip),%xmm5
576
+ movdqa %xmm5,96(%rsp)
577
+ vpmuludq 48(%rsp),%xmm10,%xmm5
578
+ vpaddq %xmm0,%xmm0,%xmm6
579
+ vpmuludq %xmm6,%xmm0,%xmm0
580
+ paddq %xmm0,%xmm5
581
+ vpmuludq 80(%rsp),%xmm10,%xmm0
582
+ vpmuludq %xmm4,%xmm6,%xmm15
583
+ paddq %xmm15,%xmm0
584
+ vpmuludq %xmm6,%xmm13,%xmm15
585
+ paddq %xmm15,%xmm1
586
+ vpmuludq %xmm6,%xmm2,%xmm15
587
+ paddq %xmm15,%xmm14
588
+ vpunpcklqdq %xmm7,%xmm8,%xmm15
589
+ vpunpckhqdq %xmm7,%xmm8,%xmm7
590
+ vpaddq subc2(%rip),%xmm7,%xmm8
591
+ psubq %xmm15,%xmm8
592
+ paddq %xmm7,%xmm15
593
+ vpunpckhqdq %xmm15,%xmm8,%xmm7
594
+ punpcklqdq %xmm15,%xmm8
595
+ movdqa %xmm8,112(%rsp)
596
+ pmuludq v19_19(%rip),%xmm8
597
+ movdqa %xmm8,448(%rsp)
598
+ vpmuludq 112(%rsp),%xmm10,%xmm8
599
+ vpmuludq %xmm7,%xmm10,%xmm10
600
+ vpmuludq v38_38(%rip),%xmm7,%xmm15
601
+ vpmuludq %xmm15,%xmm7,%xmm7
602
+ paddq %xmm7,%xmm8
603
+ vpmuludq %xmm15,%xmm13,%xmm7
604
+ paddq %xmm7,%xmm3
605
+ vpmuludq %xmm15,%xmm2,%xmm7
606
+ paddq %xmm7,%xmm11
607
+ vpmuludq 80(%rsp),%xmm13,%xmm7
608
+ paddq %xmm7,%xmm7
609
+ paddq %xmm7,%xmm8
610
+ vpmuludq 16(%rsp),%xmm13,%xmm7
611
+ paddq %xmm7,%xmm5
612
+ vpmuludq 48(%rsp),%xmm13,%xmm7
613
+ paddq %xmm7,%xmm0
614
+ vpmuludq 112(%rsp),%xmm13,%xmm7
615
+ paddq %xmm7,%xmm10
616
+ vpmuludq %xmm15,%xmm6,%xmm7
617
+ paddq %xmm7,%xmm12
618
+ vpmuludq %xmm15,%xmm4,%xmm7
619
+ paddq %xmm7,%xmm9
620
+ vpaddq %xmm2,%xmm2,%xmm2
621
+ vpmuludq %xmm4,%xmm2,%xmm7
622
+ paddq %xmm7,%xmm5
623
+ vpmuludq 448(%rsp),%xmm2,%xmm7
624
+ paddq %xmm7,%xmm3
625
+ vpmuludq 448(%rsp),%xmm6,%xmm7
626
+ paddq %xmm7,%xmm11
627
+ vpmuludq 0(%rsp),%xmm2,%xmm7
628
+ paddq %xmm7,%xmm0
629
+ vpmuludq 48(%rsp),%xmm2,%xmm7
630
+ paddq %xmm7,%xmm8
631
+ vpmuludq 80(%rsp),%xmm2,%xmm2
632
+ paddq %xmm2,%xmm10
633
+ vpmuludq 96(%rsp),%xmm4,%xmm2
634
+ paddq %xmm2,%xmm11
635
+ vpmuludq %xmm4,%xmm4,%xmm2
636
+ paddq %xmm2,%xmm8
637
+ vpaddq %xmm4,%xmm4,%xmm2
638
+ vpmuludq 448(%rsp),%xmm2,%xmm4
639
+ paddq %xmm4,%xmm12
640
+ vpmuludq 16(%rsp),%xmm15,%xmm4
641
+ paddq %xmm4,%xmm1
642
+ vpmuludq 48(%rsp),%xmm15,%xmm4
643
+ paddq %xmm4,%xmm14
644
+ vpmuludq 96(%rsp),%xmm6,%xmm4
645
+ paddq %xmm4,%xmm3
646
+ movdqa 16(%rsp),%xmm4
647
+ pmuludq 448(%rsp),%xmm4
648
+ paddq %xmm4,%xmm9
649
+ vpmuludq 16(%rsp),%xmm6,%xmm4
650
+ paddq %xmm4,%xmm8
651
+ vpmuludq 48(%rsp),%xmm6,%xmm4
652
+ paddq %xmm4,%xmm10
653
+ vpmuludq 80(%rsp),%xmm15,%xmm4
654
+ paddq %xmm4,%xmm4
655
+ paddq %xmm4,%xmm5
656
+ vpmuludq 112(%rsp),%xmm15,%xmm4
657
+ paddq %xmm4,%xmm0
658
+ movdqa 48(%rsp),%xmm4
659
+ paddq %xmm4,%xmm4
660
+ pmuludq 448(%rsp),%xmm4
661
+ paddq %xmm4,%xmm1
662
+ movdqa 80(%rsp),%xmm4
663
+ paddq %xmm4,%xmm4
664
+ pmuludq 448(%rsp),%xmm4
665
+ paddq %xmm4,%xmm14
666
+ vpmuludq 64(%rsp),%xmm2,%xmm4
667
+ paddq %xmm4,%xmm3
668
+ movdqa 16(%rsp),%xmm4
669
+ pmuludq 64(%rsp),%xmm4
670
+ paddq %xmm4,%xmm11
671
+ movdqa 16(%rsp),%xmm4
672
+ pmuludq 96(%rsp),%xmm4
673
+ paddq %xmm4,%xmm12
674
+ movdqa 48(%rsp),%xmm4
675
+ pmuludq 96(%rsp),%xmm4
676
+ paddq %xmm4,%xmm9
677
+ vpmuludq 0(%rsp),%xmm2,%xmm2
678
+ paddq %xmm2,%xmm10
679
+ movdqa 32(%rsp),%xmm2
680
+ pmuludq 0(%rsp),%xmm2
681
+ paddq %xmm2,%xmm3
682
+ movdqa 64(%rsp),%xmm2
683
+ pmuludq 48(%rsp),%xmm2
684
+ paddq %xmm2,%xmm12
685
+ movdqa 96(%rsp),%xmm2
686
+ pmuludq 80(%rsp),%xmm2
687
+ paddq %xmm2,%xmm1
688
+ movdqa 448(%rsp),%xmm2
689
+ pmuludq 112(%rsp),%xmm2
690
+ paddq %xmm2,%xmm5
691
+ vpsrlq $26,%xmm3,%xmm2
692
+ paddq %xmm2,%xmm11
693
+ pand m26(%rip),%xmm3
694
+ vpsrlq $25,%xmm14,%xmm2
695
+ paddq %xmm2,%xmm5
696
+ pand m25(%rip),%xmm14
697
+ vpsrlq $25,%xmm11,%xmm2
698
+ paddq %xmm2,%xmm12
699
+ pand m25(%rip),%xmm11
700
+ vpsrlq $26,%xmm5,%xmm2
701
+ paddq %xmm2,%xmm0
702
+ pand m26(%rip),%xmm5
703
+ vpsrlq $26,%xmm12,%xmm2
704
+ paddq %xmm2,%xmm9
705
+ pand m26(%rip),%xmm12
706
+ vpsrlq $25,%xmm0,%xmm2
707
+ paddq %xmm2,%xmm8
708
+ pand m25(%rip),%xmm0
709
+ vpsrlq $25,%xmm9,%xmm2
710
+ paddq %xmm2,%xmm1
711
+ pand m25(%rip),%xmm9
712
+ vpsrlq $26,%xmm8,%xmm2
713
+ paddq %xmm2,%xmm10
714
+ pand m26(%rip),%xmm8
715
+ vpsrlq $26,%xmm1,%xmm2
716
+ paddq %xmm2,%xmm14
717
+ pand m26(%rip),%xmm1
718
+ vpsrlq $25,%xmm10,%xmm2
719
+ vpsllq $4,%xmm2,%xmm4
720
+ paddq %xmm2,%xmm3
721
+ psllq $1,%xmm2
722
+ paddq %xmm2,%xmm4
723
+ paddq %xmm4,%xmm3
724
+ pand m25(%rip),%xmm10
725
+ vpsrlq $25,%xmm14,%xmm2
726
+ paddq %xmm2,%xmm5
727
+ pand m25(%rip),%xmm14
728
+ vpsrlq $26,%xmm3,%xmm2
729
+ paddq %xmm2,%xmm11
730
+ pand m26(%rip),%xmm3
731
+ vpunpckhqdq %xmm11,%xmm3,%xmm2
732
+ movdqa %xmm2,0(%rsp)
733
+ pshufd $0,%xmm3,%xmm2
734
+ pshufd $0,%xmm11,%xmm3
735
+ vpmuludq 160(%rsp),%xmm2,%xmm4
736
+ vpmuludq 432(%rsp),%xmm3,%xmm6
737
+ paddq %xmm6,%xmm4
738
+ vpmuludq 176(%rsp),%xmm2,%xmm6
739
+ vpmuludq 304(%rsp),%xmm3,%xmm7
740
+ paddq %xmm7,%xmm6
741
+ vpmuludq 208(%rsp),%xmm2,%xmm7
742
+ vpmuludq 336(%rsp),%xmm3,%xmm11
743
+ paddq %xmm11,%xmm7
744
+ vpmuludq 240(%rsp),%xmm2,%xmm11
745
+ vpmuludq 368(%rsp),%xmm3,%xmm13
746
+ paddq %xmm13,%xmm11
747
+ vpmuludq 272(%rsp),%xmm2,%xmm2
748
+ vpmuludq 400(%rsp),%xmm3,%xmm3
749
+ paddq %xmm3,%xmm2
750
+ vpunpckhqdq %xmm9,%xmm12,%xmm3
751
+ movdqa %xmm3,16(%rsp)
752
+ pshufd $0,%xmm12,%xmm3
753
+ pshufd $0,%xmm9,%xmm9
754
+ vpmuludq 288(%rsp),%xmm3,%xmm12
755
+ paddq %xmm12,%xmm4
756
+ vpmuludq 416(%rsp),%xmm9,%xmm12
757
+ paddq %xmm12,%xmm4
758
+ vpmuludq 160(%rsp),%xmm3,%xmm12
759
+ paddq %xmm12,%xmm6
760
+ vpmuludq 432(%rsp),%xmm9,%xmm12
761
+ paddq %xmm12,%xmm6
762
+ vpmuludq 176(%rsp),%xmm3,%xmm12
763
+ paddq %xmm12,%xmm7
764
+ vpmuludq 304(%rsp),%xmm9,%xmm12
765
+ paddq %xmm12,%xmm7
766
+ vpmuludq 208(%rsp),%xmm3,%xmm12
767
+ paddq %xmm12,%xmm11
768
+ vpmuludq 336(%rsp),%xmm9,%xmm12
769
+ paddq %xmm12,%xmm11
770
+ vpmuludq 240(%rsp),%xmm3,%xmm3
771
+ paddq %xmm3,%xmm2
772
+ vpmuludq 368(%rsp),%xmm9,%xmm3
773
+ paddq %xmm3,%xmm2
774
+ vpunpckhqdq %xmm14,%xmm1,%xmm3
775
+ movdqa %xmm3,32(%rsp)
776
+ pshufd $0,%xmm1,%xmm1
777
+ pshufd $0,%xmm14,%xmm3
778
+ vpmuludq 256(%rsp),%xmm1,%xmm9
779
+ paddq %xmm9,%xmm4
780
+ vpmuludq 384(%rsp),%xmm3,%xmm9
781
+ paddq %xmm9,%xmm4
782
+ vpmuludq 288(%rsp),%xmm1,%xmm9
783
+ paddq %xmm9,%xmm6
784
+ vpmuludq 416(%rsp),%xmm3,%xmm9
785
+ paddq %xmm9,%xmm6
786
+ vpmuludq 160(%rsp),%xmm1,%xmm9
787
+ paddq %xmm9,%xmm7
788
+ vpmuludq 432(%rsp),%xmm3,%xmm9
789
+ paddq %xmm9,%xmm7
790
+ vpmuludq 176(%rsp),%xmm1,%xmm9
791
+ paddq %xmm9,%xmm11
792
+ vpmuludq 304(%rsp),%xmm3,%xmm9
793
+ paddq %xmm9,%xmm11
794
+ vpmuludq 208(%rsp),%xmm1,%xmm1
795
+ paddq %xmm1,%xmm2
796
+ vpmuludq 336(%rsp),%xmm3,%xmm1
797
+ paddq %xmm1,%xmm2
798
+ vpunpckhqdq %xmm0,%xmm5,%xmm1
799
+ movdqa %xmm1,48(%rsp)
800
+ pshufd $0,%xmm5,%xmm1
801
+ pshufd $0,%xmm0,%xmm0
802
+ vpmuludq 224(%rsp),%xmm1,%xmm3
803
+ paddq %xmm3,%xmm4
804
+ vpmuludq 352(%rsp),%xmm0,%xmm3
805
+ paddq %xmm3,%xmm4
806
+ vpmuludq 256(%rsp),%xmm1,%xmm3
807
+ paddq %xmm3,%xmm6
808
+ vpmuludq 384(%rsp),%xmm0,%xmm3
809
+ paddq %xmm3,%xmm6
810
+ vpmuludq 288(%rsp),%xmm1,%xmm3
811
+ paddq %xmm3,%xmm7
812
+ vpmuludq 416(%rsp),%xmm0,%xmm3
813
+ paddq %xmm3,%xmm7
814
+ vpmuludq 160(%rsp),%xmm1,%xmm3
815
+ paddq %xmm3,%xmm11
816
+ vpmuludq 432(%rsp),%xmm0,%xmm3
817
+ paddq %xmm3,%xmm11
818
+ vpmuludq 176(%rsp),%xmm1,%xmm1
819
+ paddq %xmm1,%xmm2
820
+ vpmuludq 304(%rsp),%xmm0,%xmm0
821
+ paddq %xmm0,%xmm2
822
+ vpunpckhqdq %xmm10,%xmm8,%xmm0
823
+ movdqa %xmm0,64(%rsp)
824
+ pshufd $0,%xmm8,%xmm0
825
+ pshufd $0,%xmm10,%xmm1
826
+ vpmuludq 192(%rsp),%xmm0,%xmm3
827
+ paddq %xmm3,%xmm4
828
+ vpmuludq 320(%rsp),%xmm1,%xmm3
829
+ paddq %xmm3,%xmm4
830
+ vpmuludq 224(%rsp),%xmm0,%xmm3
831
+ paddq %xmm3,%xmm6
832
+ vpmuludq 352(%rsp),%xmm1,%xmm3
833
+ paddq %xmm3,%xmm6
834
+ vpmuludq 256(%rsp),%xmm0,%xmm3
835
+ paddq %xmm3,%xmm7
836
+ vpmuludq 384(%rsp),%xmm1,%xmm3
837
+ paddq %xmm3,%xmm7
838
+ vpmuludq 288(%rsp),%xmm0,%xmm3
839
+ paddq %xmm3,%xmm11
840
+ vpmuludq 416(%rsp),%xmm1,%xmm3
841
+ paddq %xmm3,%xmm11
842
+ vpmuludq 160(%rsp),%xmm0,%xmm0
843
+ paddq %xmm0,%xmm2
844
+ vpmuludq 432(%rsp),%xmm1,%xmm0
845
+ paddq %xmm0,%xmm2
846
+ movdqa %xmm4,80(%rsp)
847
+ movdqa %xmm6,96(%rsp)
848
+ movdqa %xmm7,112(%rsp)
849
+ movdqa %xmm11,448(%rsp)
850
+ movdqa %xmm2,496(%rsp)
851
+ movdqa 144(%rsp),%xmm0
852
+ vpmuludq %xmm0,%xmm0,%xmm1
853
+ paddq %xmm0,%xmm0
854
+ movdqa 128(%rsp),%xmm2
855
+ vpmuludq %xmm2,%xmm0,%xmm3
856
+ movdqa 480(%rsp),%xmm4
857
+ vpmuludq %xmm4,%xmm0,%xmm5
858
+ movdqa 464(%rsp),%xmm6
859
+ vpmuludq %xmm6,%xmm0,%xmm7
860
+ movdqa 528(%rsp),%xmm8
861
+ vpmuludq %xmm8,%xmm0,%xmm9
862
+ vpmuludq 512(%rsp),%xmm0,%xmm10
863
+ vpmuludq 592(%rsp),%xmm0,%xmm11
864
+ vpmuludq 576(%rsp),%xmm0,%xmm12
865
+ vpmuludq 624(%rsp),%xmm0,%xmm13
866
+ movdqa 672(%rsp),%xmm14
867
+ vpmuludq %xmm14,%xmm0,%xmm0
868
+ vpmuludq v38_38(%rip),%xmm14,%xmm15
869
+ vpmuludq %xmm15,%xmm14,%xmm14
870
+ paddq %xmm14,%xmm13
871
+ vpaddq %xmm6,%xmm6,%xmm14
872
+ vpmuludq %xmm14,%xmm6,%xmm6
873
+ paddq %xmm6,%xmm11
874
+ vpaddq %xmm2,%xmm2,%xmm6
875
+ vpmuludq %xmm6,%xmm2,%xmm2
876
+ paddq %xmm2,%xmm5
877
+ vpmuludq %xmm15,%xmm6,%xmm2
878
+ paddq %xmm2,%xmm1
879
+ vpmuludq %xmm15,%xmm4,%xmm2
880
+ paddq %xmm2,%xmm3
881
+ vpmuludq 544(%rsp),%xmm6,%xmm2
882
+ paddq %xmm2,%xmm11
883
+ vpmuludq 592(%rsp),%xmm6,%xmm2
884
+ paddq %xmm2,%xmm12
885
+ vpmuludq 640(%rsp),%xmm6,%xmm2
886
+ paddq %xmm2,%xmm13
887
+ vpmuludq 624(%rsp),%xmm6,%xmm2
888
+ paddq %xmm2,%xmm0
889
+ vpmuludq %xmm4,%xmm6,%xmm2
890
+ paddq %xmm2,%xmm7
891
+ vpmuludq %xmm14,%xmm6,%xmm2
892
+ paddq %xmm2,%xmm9
893
+ vpmuludq %xmm8,%xmm6,%xmm2
894
+ paddq %xmm2,%xmm10
895
+ vpmuludq %xmm15,%xmm14,%xmm2
896
+ paddq %xmm2,%xmm5
897
+ vpmuludq %xmm15,%xmm8,%xmm2
898
+ paddq %xmm2,%xmm7
899
+ vpmuludq %xmm4,%xmm4,%xmm2
900
+ paddq %xmm2,%xmm9
901
+ vpmuludq %xmm14,%xmm4,%xmm2
902
+ paddq %xmm2,%xmm10
903
+ vpaddq %xmm4,%xmm4,%xmm2
904
+ vpmuludq %xmm8,%xmm2,%xmm4
905
+ paddq %xmm4,%xmm11
906
+ vpmuludq 688(%rsp),%xmm2,%xmm4
907
+ paddq %xmm4,%xmm1
908
+ vpmuludq 688(%rsp),%xmm14,%xmm4
909
+ paddq %xmm4,%xmm3
910
+ vpmuludq 512(%rsp),%xmm2,%xmm4
911
+ paddq %xmm4,%xmm12
912
+ vpmuludq 592(%rsp),%xmm2,%xmm4
913
+ paddq %xmm4,%xmm13
914
+ vpmuludq 576(%rsp),%xmm2,%xmm2
915
+ paddq %xmm2,%xmm0
916
+ vpmuludq 656(%rsp),%xmm8,%xmm2
917
+ paddq %xmm2,%xmm3
918
+ vpmuludq %xmm8,%xmm14,%xmm2
919
+ paddq %xmm2,%xmm12
920
+ vpmuludq %xmm8,%xmm8,%xmm2
921
+ paddq %xmm2,%xmm13
922
+ vpaddq %xmm8,%xmm8,%xmm2
923
+ vpmuludq 688(%rsp),%xmm2,%xmm4
924
+ paddq %xmm4,%xmm5
925
+ vpmuludq 544(%rsp),%xmm15,%xmm4
926
+ paddq %xmm4,%xmm9
927
+ vpmuludq 592(%rsp),%xmm15,%xmm4
928
+ paddq %xmm4,%xmm10
929
+ vpmuludq 656(%rsp),%xmm14,%xmm4
930
+ paddq %xmm4,%xmm1
931
+ movdqa 544(%rsp),%xmm4
932
+ pmuludq 688(%rsp),%xmm4
933
+ paddq %xmm4,%xmm7
934
+ vpmuludq 544(%rsp),%xmm14,%xmm4
935
+ paddq %xmm4,%xmm13
936
+ vpmuludq 592(%rsp),%xmm14,%xmm4
937
+ paddq %xmm4,%xmm0
938
+ vpmuludq 640(%rsp),%xmm15,%xmm4
939
+ paddq %xmm4,%xmm11
940
+ vpmuludq 624(%rsp),%xmm15,%xmm4
941
+ paddq %xmm4,%xmm12
942
+ movdqa 592(%rsp),%xmm4
943
+ paddq %xmm4,%xmm4
944
+ pmuludq 688(%rsp),%xmm4
945
+ paddq %xmm4,%xmm9
946
+ vpmuludq 608(%rsp),%xmm2,%xmm4
947
+ paddq %xmm4,%xmm1
948
+ movdqa 544(%rsp),%xmm4
949
+ pmuludq 608(%rsp),%xmm4
950
+ paddq %xmm4,%xmm3
951
+ movdqa 544(%rsp),%xmm4
952
+ pmuludq 656(%rsp),%xmm4
953
+ paddq %xmm4,%xmm5
954
+ movdqa 592(%rsp),%xmm4
955
+ pmuludq 656(%rsp),%xmm4
956
+ paddq %xmm4,%xmm7
957
+ movdqa 640(%rsp),%xmm4
958
+ pmuludq 688(%rsp),%xmm4
959
+ paddq %xmm4,%xmm10
960
+ vpmuludq 512(%rsp),%xmm2,%xmm2
961
+ paddq %xmm2,%xmm0
962
+ movdqa 560(%rsp),%xmm2
963
+ pmuludq 512(%rsp),%xmm2
964
+ paddq %xmm2,%xmm1
965
+ movdqa 608(%rsp),%xmm2
966
+ pmuludq 592(%rsp),%xmm2
967
+ paddq %xmm2,%xmm5
968
+ movdqa 656(%rsp),%xmm2
969
+ pmuludq 576(%rsp),%xmm2
970
+ paddq %xmm2,%xmm9
971
+ movdqa 688(%rsp),%xmm2
972
+ pmuludq 624(%rsp),%xmm2
973
+ paddq %xmm2,%xmm11
974
+ vpsrlq $26,%xmm1,%xmm2
975
+ paddq %xmm2,%xmm3
976
+ pand m26(%rip),%xmm1
977
+ vpsrlq $25,%xmm10,%xmm2
978
+ paddq %xmm2,%xmm11
979
+ pand m25(%rip),%xmm10
980
+ vpsrlq $25,%xmm3,%xmm2
981
+ paddq %xmm2,%xmm5
982
+ pand m25(%rip),%xmm3
983
+ vpsrlq $26,%xmm11,%xmm2
984
+ paddq %xmm2,%xmm12
985
+ pand m26(%rip),%xmm11
986
+ vpsrlq $26,%xmm5,%xmm2
987
+ paddq %xmm2,%xmm7
988
+ pand m26(%rip),%xmm5
989
+ vpsrlq $25,%xmm12,%xmm2
990
+ paddq %xmm2,%xmm13
991
+ pand m25(%rip),%xmm12
992
+ vpsrlq $25,%xmm7,%xmm2
993
+ paddq %xmm2,%xmm9
994
+ pand m25(%rip),%xmm7
995
+ vpsrlq $26,%xmm13,%xmm2
996
+ paddq %xmm2,%xmm0
997
+ pand m26(%rip),%xmm13
998
+ vpsrlq $26,%xmm9,%xmm2
999
+ paddq %xmm2,%xmm10
1000
+ pand m26(%rip),%xmm9
1001
+ vpsrlq $25,%xmm0,%xmm2
1002
+ vpsllq $4,%xmm2,%xmm4
1003
+ paddq %xmm2,%xmm1
1004
+ psllq $1,%xmm2
1005
+ paddq %xmm2,%xmm4
1006
+ paddq %xmm4,%xmm1
1007
+ pand m25(%rip),%xmm0
1008
+ vpsrlq $25,%xmm10,%xmm2
1009
+ paddq %xmm2,%xmm11
1010
+ pand m25(%rip),%xmm10
1011
+ vpsrlq $26,%xmm1,%xmm2
1012
+ paddq %xmm2,%xmm3
1013
+ pand m26(%rip),%xmm1
1014
+ vpunpckhqdq %xmm3,%xmm1,%xmm2
1015
+ vpunpcklqdq %xmm3,%xmm1,%xmm1
1016
+ movdqa %xmm1,464(%rsp)
1017
+ vpaddq subc0(%rip),%xmm2,%xmm3
1018
+ psubq %xmm1,%xmm3
1019
+ vpunpckhqdq %xmm3,%xmm2,%xmm1
1020
+ vpunpcklqdq %xmm3,%xmm2,%xmm2
1021
+ movdqa %xmm2,480(%rsp)
1022
+ movdqa %xmm1,512(%rsp)
1023
+ psllq $1,%xmm1
1024
+ movdqa %xmm1,528(%rsp)
1025
+ pmuludq v121666_121666(%rip),%xmm3
1026
+ movdqa 80(%rsp),%xmm1
1027
+ vpunpcklqdq %xmm1,%xmm3,%xmm2
1028
+ vpunpckhqdq %xmm1,%xmm3,%xmm1
1029
+ vpunpckhqdq %xmm7,%xmm5,%xmm3
1030
+ vpunpcklqdq %xmm7,%xmm5,%xmm4
1031
+ movdqa %xmm4,544(%rsp)
1032
+ vpaddq subc2(%rip),%xmm3,%xmm5
1033
+ psubq %xmm4,%xmm5
1034
+ vpunpckhqdq %xmm5,%xmm3,%xmm4
1035
+ vpunpcklqdq %xmm5,%xmm3,%xmm3
1036
+ movdqa %xmm3,560(%rsp)
1037
+ movdqa %xmm4,576(%rsp)
1038
+ psllq $1,%xmm4
1039
+ movdqa %xmm4,592(%rsp)
1040
+ pmuludq v121666_121666(%rip),%xmm5
1041
+ movdqa 96(%rsp),%xmm3
1042
+ vpunpcklqdq %xmm3,%xmm5,%xmm4
1043
+ vpunpckhqdq %xmm3,%xmm5,%xmm3
1044
+ vpunpckhqdq %xmm10,%xmm9,%xmm5
1045
+ vpunpcklqdq %xmm10,%xmm9,%xmm6
1046
+ movdqa %xmm6,608(%rsp)
1047
+ vpaddq subc2(%rip),%xmm5,%xmm7
1048
+ psubq %xmm6,%xmm7
1049
+ vpunpckhqdq %xmm7,%xmm5,%xmm6
1050
+ vpunpcklqdq %xmm7,%xmm5,%xmm5
1051
+ movdqa %xmm5,624(%rsp)
1052
+ movdqa %xmm6,640(%rsp)
1053
+ psllq $1,%xmm6
1054
+ movdqa %xmm6,656(%rsp)
1055
+ pmuludq v121666_121666(%rip),%xmm7
1056
+ movdqa 112(%rsp),%xmm5
1057
+ vpunpcklqdq %xmm5,%xmm7,%xmm6
1058
+ vpunpckhqdq %xmm5,%xmm7,%xmm5
1059
+ vpunpckhqdq %xmm12,%xmm11,%xmm7
1060
+ vpunpcklqdq %xmm12,%xmm11,%xmm8
1061
+ movdqa %xmm8,672(%rsp)
1062
+ vpaddq subc2(%rip),%xmm7,%xmm9
1063
+ psubq %xmm8,%xmm9
1064
+ vpunpckhqdq %xmm9,%xmm7,%xmm8
1065
+ vpunpcklqdq %xmm9,%xmm7,%xmm7
1066
+ movdqa %xmm7,688(%rsp)
1067
+ movdqa %xmm8,704(%rsp)
1068
+ psllq $1,%xmm8
1069
+ movdqa %xmm8,720(%rsp)
1070
+ pmuludq v121666_121666(%rip),%xmm9
1071
+ movdqa 448(%rsp),%xmm7
1072
+ vpunpcklqdq %xmm7,%xmm9,%xmm8
1073
+ vpunpckhqdq %xmm7,%xmm9,%xmm7
1074
+ vpunpckhqdq %xmm0,%xmm13,%xmm9
1075
+ vpunpcklqdq %xmm0,%xmm13,%xmm0
1076
+ movdqa %xmm0,448(%rsp)
1077
+ vpaddq subc2(%rip),%xmm9,%xmm10
1078
+ psubq %xmm0,%xmm10
1079
+ vpunpckhqdq %xmm10,%xmm9,%xmm0
1080
+ vpunpcklqdq %xmm10,%xmm9,%xmm9
1081
+ movdqa %xmm9,736(%rsp)
1082
+ movdqa %xmm0,752(%rsp)
1083
+ psllq $1,%xmm0
1084
+ movdqa %xmm0,768(%rsp)
1085
+ pmuludq v121666_121666(%rip),%xmm10
1086
+ movdqa 496(%rsp),%xmm0
1087
+ vpunpcklqdq %xmm0,%xmm10,%xmm9
1088
+ vpunpckhqdq %xmm0,%xmm10,%xmm0
1089
+ vpsrlq $26,%xmm2,%xmm10
1090
+ paddq %xmm10,%xmm1
1091
+ pand m26(%rip),%xmm2
1092
+ vpsrlq $25,%xmm5,%xmm10
1093
+ paddq %xmm10,%xmm8
1094
+ pand m25(%rip),%xmm5
1095
+ vpsrlq $25,%xmm1,%xmm10
1096
+ paddq %xmm10,%xmm4
1097
+ pand m25(%rip),%xmm1
1098
+ vpsrlq $26,%xmm8,%xmm10
1099
+ paddq %xmm10,%xmm7
1100
+ pand m26(%rip),%xmm8
1101
+ vpsrlq $26,%xmm4,%xmm10
1102
+ paddq %xmm10,%xmm3
1103
+ pand m26(%rip),%xmm4
1104
+ vpsrlq $25,%xmm7,%xmm10
1105
+ paddq %xmm10,%xmm9
1106
+ pand m25(%rip),%xmm7
1107
+ vpsrlq $25,%xmm3,%xmm10
1108
+ paddq %xmm10,%xmm6
1109
+ pand m25(%rip),%xmm3
1110
+ vpsrlq $26,%xmm9,%xmm10
1111
+ paddq %xmm10,%xmm0
1112
+ pand m26(%rip),%xmm9
1113
+ vpsrlq $26,%xmm6,%xmm10
1114
+ paddq %xmm10,%xmm5
1115
+ pand m26(%rip),%xmm6
1116
+ vpsrlq $25,%xmm0,%xmm10
1117
+ vpsllq $4,%xmm10,%xmm11
1118
+ paddq %xmm10,%xmm2
1119
+ psllq $1,%xmm10
1120
+ paddq %xmm10,%xmm11
1121
+ paddq %xmm11,%xmm2
1122
+ pand m25(%rip),%xmm0
1123
+ vpsrlq $25,%xmm5,%xmm10
1124
+ paddq %xmm10,%xmm8
1125
+ pand m25(%rip),%xmm5
1126
+ vpsrlq $26,%xmm2,%xmm10
1127
+ paddq %xmm10,%xmm1
1128
+ pand m26(%rip),%xmm2
1129
+ vpunpckhqdq %xmm1,%xmm2,%xmm10
1130
+ movdqa %xmm10,80(%rsp)
1131
+ vpunpcklqdq %xmm1,%xmm2,%xmm1
1132
+ vpunpckhqdq %xmm3,%xmm4,%xmm2
1133
+ movdqa %xmm2,96(%rsp)
1134
+ vpunpcklqdq %xmm3,%xmm4,%xmm2
1135
+ vpunpckhqdq %xmm5,%xmm6,%xmm3
1136
+ movdqa %xmm3,112(%rsp)
1137
+ vpunpcklqdq %xmm5,%xmm6,%xmm3
1138
+ vpunpckhqdq %xmm7,%xmm8,%xmm4
1139
+ movdqa %xmm4,128(%rsp)
1140
+ vpunpcklqdq %xmm7,%xmm8,%xmm4
1141
+ vpunpckhqdq %xmm0,%xmm9,%xmm5
1142
+ movdqa %xmm5,144(%rsp)
1143
+ vpunpcklqdq %xmm0,%xmm9,%xmm0
1144
+ movdqa 464(%rsp),%xmm5
1145
+ paddq %xmm5,%xmm1
1146
+ vpunpcklqdq %xmm1,%xmm5,%xmm6
1147
+ vpunpckhqdq %xmm1,%xmm5,%xmm1
1148
+ vpmuludq 512(%rsp),%xmm6,%xmm5
1149
+ vpmuludq 480(%rsp),%xmm1,%xmm7
1150
+ paddq %xmm7,%xmm5
1151
+ vpmuludq 560(%rsp),%xmm6,%xmm7
1152
+ vpmuludq 528(%rsp),%xmm1,%xmm8
1153
+ paddq %xmm8,%xmm7
1154
+ vpmuludq 576(%rsp),%xmm6,%xmm8
1155
+ vpmuludq 560(%rsp),%xmm1,%xmm9
1156
+ paddq %xmm9,%xmm8
1157
+ vpmuludq 624(%rsp),%xmm6,%xmm9
1158
+ vpmuludq 592(%rsp),%xmm1,%xmm10
1159
+ paddq %xmm10,%xmm9
1160
+ vpmuludq 640(%rsp),%xmm6,%xmm10
1161
+ vpmuludq 624(%rsp),%xmm1,%xmm11
1162
+ paddq %xmm11,%xmm10
1163
+ vpmuludq 688(%rsp),%xmm6,%xmm11
1164
+ vpmuludq 656(%rsp),%xmm1,%xmm12
1165
+ paddq %xmm12,%xmm11
1166
+ vpmuludq 704(%rsp),%xmm6,%xmm12
1167
+ vpmuludq 688(%rsp),%xmm1,%xmm13
1168
+ paddq %xmm13,%xmm12
1169
+ vpmuludq 736(%rsp),%xmm6,%xmm13
1170
+ vpmuludq 720(%rsp),%xmm1,%xmm14
1171
+ paddq %xmm14,%xmm13
1172
+ vpmuludq 752(%rsp),%xmm6,%xmm14
1173
+ vpmuludq 736(%rsp),%xmm1,%xmm15
1174
+ paddq %xmm15,%xmm14
1175
+ vpmuludq 480(%rsp),%xmm6,%xmm6
1176
+ pmuludq v19_19(%rip),%xmm1
1177
+ vpmuludq 768(%rsp),%xmm1,%xmm1
1178
+ paddq %xmm1,%xmm6
1179
+ movdqa 544(%rsp),%xmm1
1180
+ paddq %xmm1,%xmm2
1181
+ vpunpcklqdq %xmm2,%xmm1,%xmm15
1182
+ vpunpckhqdq %xmm2,%xmm1,%xmm1
1183
+ vpmuludq 480(%rsp),%xmm15,%xmm2
1184
+ paddq %xmm2,%xmm7
1185
+ vpmuludq 512(%rsp),%xmm15,%xmm2
1186
+ paddq %xmm2,%xmm8
1187
+ vpmuludq 560(%rsp),%xmm15,%xmm2
1188
+ paddq %xmm2,%xmm9
1189
+ vpmuludq 576(%rsp),%xmm15,%xmm2
1190
+ paddq %xmm2,%xmm10
1191
+ vpmuludq 624(%rsp),%xmm15,%xmm2
1192
+ paddq %xmm2,%xmm11
1193
+ vpmuludq 640(%rsp),%xmm15,%xmm2
1194
+ paddq %xmm2,%xmm12
1195
+ vpmuludq 688(%rsp),%xmm15,%xmm2
1196
+ paddq %xmm2,%xmm13
1197
+ vpmuludq 704(%rsp),%xmm15,%xmm2
1198
+ paddq %xmm2,%xmm14
1199
+ pmuludq v19_19(%rip),%xmm15
1200
+ vpmuludq 736(%rsp),%xmm15,%xmm2
1201
+ paddq %xmm2,%xmm6
1202
+ pmuludq 752(%rsp),%xmm15
1203
+ paddq %xmm15,%xmm5
1204
+ vpmuludq 480(%rsp),%xmm1,%xmm2
1205
+ paddq %xmm2,%xmm8
1206
+ vpmuludq 528(%rsp),%xmm1,%xmm2
1207
+ paddq %xmm2,%xmm9
1208
+ vpmuludq 560(%rsp),%xmm1,%xmm2
1209
+ paddq %xmm2,%xmm10
1210
+ vpmuludq 592(%rsp),%xmm1,%xmm2
1211
+ paddq %xmm2,%xmm11
1212
+ vpmuludq 624(%rsp),%xmm1,%xmm2
1213
+ paddq %xmm2,%xmm12
1214
+ vpmuludq 656(%rsp),%xmm1,%xmm2
1215
+ paddq %xmm2,%xmm13
1216
+ vpmuludq 688(%rsp),%xmm1,%xmm2
1217
+ paddq %xmm2,%xmm14
1218
+ pmuludq v19_19(%rip),%xmm1
1219
+ vpmuludq 720(%rsp),%xmm1,%xmm2
1220
+ paddq %xmm2,%xmm6
1221
+ vpmuludq 736(%rsp),%xmm1,%xmm2
1222
+ paddq %xmm2,%xmm5
1223
+ pmuludq 768(%rsp),%xmm1
1224
+ paddq %xmm1,%xmm7
1225
+ movdqa 608(%rsp),%xmm1
1226
+ paddq %xmm1,%xmm3
1227
+ vpunpcklqdq %xmm3,%xmm1,%xmm2
1228
+ vpunpckhqdq %xmm3,%xmm1,%xmm1
1229
+ vpmuludq 480(%rsp),%xmm2,%xmm3
1230
+ paddq %xmm3,%xmm9
1231
+ vpmuludq 512(%rsp),%xmm2,%xmm3
1232
+ paddq %xmm3,%xmm10
1233
+ vpmuludq 560(%rsp),%xmm2,%xmm3
1234
+ paddq %xmm3,%xmm11
1235
+ vpmuludq 576(%rsp),%xmm2,%xmm3
1236
+ paddq %xmm3,%xmm12
1237
+ vpmuludq 624(%rsp),%xmm2,%xmm3
1238
+ paddq %xmm3,%xmm13
1239
+ vpmuludq 640(%rsp),%xmm2,%xmm3
1240
+ paddq %xmm3,%xmm14
1241
+ pmuludq v19_19(%rip),%xmm2
1242
+ vpmuludq 688(%rsp),%xmm2,%xmm3
1243
+ paddq %xmm3,%xmm6
1244
+ vpmuludq 704(%rsp),%xmm2,%xmm3
1245
+ paddq %xmm3,%xmm5
1246
+ vpmuludq 736(%rsp),%xmm2,%xmm3
1247
+ paddq %xmm3,%xmm7
1248
+ pmuludq 752(%rsp),%xmm2
1249
+ paddq %xmm2,%xmm8
1250
+ vpmuludq 480(%rsp),%xmm1,%xmm2
1251
+ paddq %xmm2,%xmm10
1252
+ vpmuludq 528(%rsp),%xmm1,%xmm2
1253
+ paddq %xmm2,%xmm11
1254
+ vpmuludq 560(%rsp),%xmm1,%xmm2
1255
+ paddq %xmm2,%xmm12
1256
+ vpmuludq 592(%rsp),%xmm1,%xmm2
1257
+ paddq %xmm2,%xmm13
1258
+ vpmuludq 624(%rsp),%xmm1,%xmm2
1259
+ paddq %xmm2,%xmm14
1260
+ pmuludq v19_19(%rip),%xmm1
1261
+ vpmuludq 656(%rsp),%xmm1,%xmm2
1262
+ paddq %xmm2,%xmm6
1263
+ vpmuludq 688(%rsp),%xmm1,%xmm2
1264
+ paddq %xmm2,%xmm5
1265
+ vpmuludq 720(%rsp),%xmm1,%xmm2
1266
+ paddq %xmm2,%xmm7
1267
+ vpmuludq 736(%rsp),%xmm1,%xmm2
1268
+ paddq %xmm2,%xmm8
1269
+ pmuludq 768(%rsp),%xmm1
1270
+ paddq %xmm1,%xmm9
1271
+ movdqa 672(%rsp),%xmm1
1272
+ paddq %xmm1,%xmm4
1273
+ vpunpcklqdq %xmm4,%xmm1,%xmm2
1274
+ vpunpckhqdq %xmm4,%xmm1,%xmm1
1275
+ vpmuludq 480(%rsp),%xmm2,%xmm3
1276
+ paddq %xmm3,%xmm11
1277
+ vpmuludq 512(%rsp),%xmm2,%xmm3
1278
+ paddq %xmm3,%xmm12
1279
+ vpmuludq 560(%rsp),%xmm2,%xmm3
1280
+ paddq %xmm3,%xmm13
1281
+ vpmuludq 576(%rsp),%xmm2,%xmm3
1282
+ paddq %xmm3,%xmm14
1283
+ pmuludq v19_19(%rip),%xmm2
1284
+ vpmuludq 624(%rsp),%xmm2,%xmm3
1285
+ paddq %xmm3,%xmm6
1286
+ vpmuludq 640(%rsp),%xmm2,%xmm3
1287
+ paddq %xmm3,%xmm5
1288
+ vpmuludq 688(%rsp),%xmm2,%xmm3
1289
+ paddq %xmm3,%xmm7
1290
+ vpmuludq 704(%rsp),%xmm2,%xmm3
1291
+ paddq %xmm3,%xmm8
1292
+ vpmuludq 736(%rsp),%xmm2,%xmm3
1293
+ paddq %xmm3,%xmm9
1294
+ pmuludq 752(%rsp),%xmm2
1295
+ paddq %xmm2,%xmm10
1296
+ vpmuludq 480(%rsp),%xmm1,%xmm2
1297
+ paddq %xmm2,%xmm12
1298
+ vpmuludq 528(%rsp),%xmm1,%xmm2
1299
+ paddq %xmm2,%xmm13
1300
+ vpmuludq 560(%rsp),%xmm1,%xmm2
1301
+ paddq %xmm2,%xmm14
1302
+ pmuludq v19_19(%rip),%xmm1
1303
+ vpmuludq 592(%rsp),%xmm1,%xmm2
1304
+ paddq %xmm2,%xmm6
1305
+ vpmuludq 624(%rsp),%xmm1,%xmm2
1306
+ paddq %xmm2,%xmm5
1307
+ vpmuludq 656(%rsp),%xmm1,%xmm2
1308
+ paddq %xmm2,%xmm7
1309
+ vpmuludq 688(%rsp),%xmm1,%xmm2
1310
+ paddq %xmm2,%xmm8
1311
+ vpmuludq 720(%rsp),%xmm1,%xmm2
1312
+ paddq %xmm2,%xmm9
1313
+ vpmuludq 736(%rsp),%xmm1,%xmm2
1314
+ paddq %xmm2,%xmm10
1315
+ pmuludq 768(%rsp),%xmm1
1316
+ paddq %xmm1,%xmm11
1317
+ movdqa 448(%rsp),%xmm1
1318
+ paddq %xmm1,%xmm0
1319
+ vpunpcklqdq %xmm0,%xmm1,%xmm2
1320
+ vpunpckhqdq %xmm0,%xmm1,%xmm0
1321
+ vpmuludq 480(%rsp),%xmm2,%xmm1
1322
+ paddq %xmm1,%xmm13
1323
+ vpmuludq 512(%rsp),%xmm2,%xmm1
1324
+ paddq %xmm1,%xmm14
1325
+ pmuludq v19_19(%rip),%xmm2
1326
+ vpmuludq 560(%rsp),%xmm2,%xmm1
1327
+ paddq %xmm1,%xmm6
1328
+ vpmuludq 576(%rsp),%xmm2,%xmm1
1329
+ paddq %xmm1,%xmm5
1330
+ vpmuludq 624(%rsp),%xmm2,%xmm1
1331
+ paddq %xmm1,%xmm7
1332
+ vpmuludq 640(%rsp),%xmm2,%xmm1
1333
+ paddq %xmm1,%xmm8
1334
+ vpmuludq 688(%rsp),%xmm2,%xmm1
1335
+ paddq %xmm1,%xmm9
1336
+ vpmuludq 704(%rsp),%xmm2,%xmm1
1337
+ paddq %xmm1,%xmm10
1338
+ vpmuludq 736(%rsp),%xmm2,%xmm1
1339
+ paddq %xmm1,%xmm11
1340
+ pmuludq 752(%rsp),%xmm2
1341
+ paddq %xmm2,%xmm12
1342
+ vpmuludq 480(%rsp),%xmm0,%xmm1
1343
+ paddq %xmm1,%xmm14
1344
+ pmuludq v19_19(%rip),%xmm0
1345
+ vpmuludq 528(%rsp),%xmm0,%xmm1
1346
+ paddq %xmm1,%xmm6
1347
+ vpmuludq 560(%rsp),%xmm0,%xmm1
1348
+ paddq %xmm1,%xmm5
1349
+ vpmuludq 592(%rsp),%xmm0,%xmm1
1350
+ paddq %xmm1,%xmm7
1351
+ vpmuludq 624(%rsp),%xmm0,%xmm1
1352
+ paddq %xmm1,%xmm8
1353
+ vpmuludq 656(%rsp),%xmm0,%xmm1
1354
+ paddq %xmm1,%xmm9
1355
+ vpmuludq 688(%rsp),%xmm0,%xmm1
1356
+ paddq %xmm1,%xmm10
1357
+ vpmuludq 720(%rsp),%xmm0,%xmm1
1358
+ paddq %xmm1,%xmm11
1359
+ vpmuludq 736(%rsp),%xmm0,%xmm1
1360
+ paddq %xmm1,%xmm12
1361
+ pmuludq 768(%rsp),%xmm0
1362
+ paddq %xmm0,%xmm13
1363
+ vpsrlq $26,%xmm6,%xmm0
1364
+ paddq %xmm0,%xmm5
1365
+ pand m26(%rip),%xmm6
1366
+ vpsrlq $25,%xmm10,%xmm0
1367
+ paddq %xmm0,%xmm11
1368
+ pand m25(%rip),%xmm10
1369
+ vpsrlq $25,%xmm5,%xmm0
1370
+ paddq %xmm0,%xmm7
1371
+ pand m25(%rip),%xmm5
1372
+ vpsrlq $26,%xmm11,%xmm0
1373
+ paddq %xmm0,%xmm12
1374
+ pand m26(%rip),%xmm11
1375
+ vpsrlq $26,%xmm7,%xmm0
1376
+ paddq %xmm0,%xmm8
1377
+ pand m26(%rip),%xmm7
1378
+ vpsrlq $25,%xmm12,%xmm0
1379
+ paddq %xmm0,%xmm13
1380
+ pand m25(%rip),%xmm12
1381
+ vpsrlq $25,%xmm8,%xmm0
1382
+ paddq %xmm0,%xmm9
1383
+ pand m25(%rip),%xmm8
1384
+ vpsrlq $26,%xmm13,%xmm0
1385
+ paddq %xmm0,%xmm14
1386
+ pand m26(%rip),%xmm13
1387
+ vpsrlq $26,%xmm9,%xmm0
1388
+ paddq %xmm0,%xmm10
1389
+ pand m26(%rip),%xmm9
1390
+ vpsrlq $25,%xmm14,%xmm0
1391
+ vpsllq $4,%xmm0,%xmm1
1392
+ paddq %xmm0,%xmm6
1393
+ psllq $1,%xmm0
1394
+ paddq %xmm0,%xmm1
1395
+ paddq %xmm1,%xmm6
1396
+ pand m25(%rip),%xmm14
1397
+ vpsrlq $25,%xmm10,%xmm0
1398
+ paddq %xmm0,%xmm11
1399
+ pand m25(%rip),%xmm10
1400
+ vpsrlq $26,%xmm6,%xmm0
1401
+ paddq %xmm0,%xmm5
1402
+ pand m26(%rip),%xmm6
1403
+ vpunpckhqdq %xmm5,%xmm6,%xmm1
1404
+ vpunpcklqdq %xmm5,%xmm6,%xmm0
1405
+ vpunpckhqdq %xmm8,%xmm7,%xmm3
1406
+ vpunpcklqdq %xmm8,%xmm7,%xmm2
1407
+ vpunpckhqdq %xmm10,%xmm9,%xmm5
1408
+ vpunpcklqdq %xmm10,%xmm9,%xmm4
1409
+ vpunpckhqdq %xmm12,%xmm11,%xmm7
1410
+ vpunpcklqdq %xmm12,%xmm11,%xmm6
1411
+ vpunpckhqdq %xmm14,%xmm13,%xmm9
1412
+ vpunpcklqdq %xmm14,%xmm13,%xmm8
1413
+ cmp $0,%rdx
1414
+ jne ._ladder_loop
1415
+ movdqu %xmm1,160(%rdi)
1416
+ movdqu %xmm0,80(%rdi)
1417
+ movdqu %xmm3,176(%rdi)
1418
+ movdqu %xmm2,96(%rdi)
1419
+ movdqu %xmm5,192(%rdi)
1420
+ movdqu %xmm4,112(%rdi)
1421
+ movdqu %xmm7,208(%rdi)
1422
+ movdqu %xmm6,128(%rdi)
1423
+ movdqu %xmm9,224(%rdi)
1424
+ movdqu %xmm8,144(%rdi)
1425
+ movq 1824(%rsp),%r11
1426
+ movq 1832(%rsp),%r12
1427
+ movq 1840(%rsp),%r13
1428
+ movq 1848(%rsp),%r14
1429
+ add %r11,%rsp
1430
+ ret
1431
+
1432
+ #endif