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