ladder_base.S 34 KB

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