ladder.S 38 KB

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