forked from toolshed/abra
		
	
		
			
				
	
	
		
			1442 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			1442 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| // Code generated by command: go run blake2b_amd64_asm.go -out ../../blake2b_amd64.s -pkg blake2b. DO NOT EDIT.
 | |
| 
 | |
| //go:build amd64 && gc && !purego
 | |
| 
 | |
| #include "textflag.h"
 | |
| 
 | |
| // func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
 | |
| // Requires: SSE2, SSE4.1, SSSE3
 | |
| TEXT ·hashBlocksSSE4(SB), NOSPLIT, $288-48
 | |
| 	MOVQ  h+0(FP), AX
 | |
| 	MOVQ  c+8(FP), BX
 | |
| 	MOVQ  flag+16(FP), CX
 | |
| 	MOVQ  blocks_base+24(FP), SI
 | |
| 	MOVQ  blocks_len+32(FP), DI
 | |
| 	MOVQ  SP, R10
 | |
| 	ADDQ  $0x0f, R10
 | |
| 	ANDQ  $-16, R10
 | |
| 	MOVOU ·iv3<>+0(SB), X0
 | |
| 	MOVO  X0, (R10)
 | |
| 	XORQ  CX, (R10)
 | |
| 	MOVOU ·c40<>+0(SB), X13
 | |
| 	MOVOU ·c48<>+0(SB), X14
 | |
| 	MOVOU (AX), X12
 | |
| 	MOVOU 16(AX), X15
 | |
| 	MOVQ  (BX), R8
 | |
| 	MOVQ  8(BX), R9
 | |
| 
 | |
| loop:
 | |
| 	ADDQ $0x80, R8
 | |
| 	CMPQ R8, $0x80
 | |
| 	JGE  noinc
 | |
| 	INCQ R9
 | |
| 
 | |
| noinc:
 | |
| 	MOVQ       R8, X8
 | |
| 	PINSRQ     $0x01, R9, X8
 | |
| 	MOVO       X12, X0
 | |
| 	MOVO       X15, X1
 | |
| 	MOVOU      32(AX), X2
 | |
| 	MOVOU      48(AX), X3
 | |
| 	MOVOU      ·iv0<>+0(SB), X4
 | |
| 	MOVOU      ·iv1<>+0(SB), X5
 | |
| 	MOVOU      ·iv2<>+0(SB), X6
 | |
| 	PXOR       X8, X6
 | |
| 	MOVO       (R10), X7
 | |
| 	MOVQ       (SI), X8
 | |
| 	PINSRQ     $0x01, 16(SI), X8
 | |
| 	MOVQ       32(SI), X9
 | |
| 	PINSRQ     $0x01, 48(SI), X9
 | |
| 	MOVQ       8(SI), X10
 | |
| 	PINSRQ     $0x01, 24(SI), X10
 | |
| 	MOVQ       40(SI), X11
 | |
| 	PINSRQ     $0x01, 56(SI), X11
 | |
| 	MOVO       X8, 16(R10)
 | |
| 	MOVO       X9, 32(R10)
 | |
| 	MOVO       X10, 48(R10)
 | |
| 	MOVO       X11, 64(R10)
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       64(SI), X8
 | |
| 	PINSRQ     $0x01, 80(SI), X8
 | |
| 	MOVQ       96(SI), X9
 | |
| 	PINSRQ     $0x01, 112(SI), X9
 | |
| 	MOVQ       72(SI), X10
 | |
| 	PINSRQ     $0x01, 88(SI), X10
 | |
| 	MOVQ       104(SI), X11
 | |
| 	PINSRQ     $0x01, 120(SI), X11
 | |
| 	MOVO       X8, 80(R10)
 | |
| 	MOVO       X9, 96(R10)
 | |
| 	MOVO       X10, 112(R10)
 | |
| 	MOVO       X11, 128(R10)
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       112(SI), X8
 | |
| 	PINSRQ     $0x01, 32(SI), X8
 | |
| 	MOVQ       72(SI), X9
 | |
| 	PINSRQ     $0x01, 104(SI), X9
 | |
| 	MOVQ       80(SI), X10
 | |
| 	PINSRQ     $0x01, 64(SI), X10
 | |
| 	MOVQ       120(SI), X11
 | |
| 	PINSRQ     $0x01, 48(SI), X11
 | |
| 	MOVO       X8, 144(R10)
 | |
| 	MOVO       X9, 160(R10)
 | |
| 	MOVO       X10, 176(R10)
 | |
| 	MOVO       X11, 192(R10)
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       8(SI), X8
 | |
| 	PINSRQ     $0x01, (SI), X8
 | |
| 	MOVQ       88(SI), X9
 | |
| 	PINSRQ     $0x01, 40(SI), X9
 | |
| 	MOVQ       96(SI), X10
 | |
| 	PINSRQ     $0x01, 16(SI), X10
 | |
| 	MOVQ       56(SI), X11
 | |
| 	PINSRQ     $0x01, 24(SI), X11
 | |
| 	MOVO       X8, 208(R10)
 | |
| 	MOVO       X9, 224(R10)
 | |
| 	MOVO       X10, 240(R10)
 | |
| 	MOVO       X11, 256(R10)
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       88(SI), X8
 | |
| 	PINSRQ     $0x01, 96(SI), X8
 | |
| 	MOVQ       40(SI), X9
 | |
| 	PINSRQ     $0x01, 120(SI), X9
 | |
| 	MOVQ       64(SI), X10
 | |
| 	PINSRQ     $0x01, (SI), X10
 | |
| 	MOVQ       16(SI), X11
 | |
| 	PINSRQ     $0x01, 104(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       80(SI), X8
 | |
| 	PINSRQ     $0x01, 24(SI), X8
 | |
| 	MOVQ       56(SI), X9
 | |
| 	PINSRQ     $0x01, 72(SI), X9
 | |
| 	MOVQ       112(SI), X10
 | |
| 	PINSRQ     $0x01, 48(SI), X10
 | |
| 	MOVQ       8(SI), X11
 | |
| 	PINSRQ     $0x01, 32(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       56(SI), X8
 | |
| 	PINSRQ     $0x01, 24(SI), X8
 | |
| 	MOVQ       104(SI), X9
 | |
| 	PINSRQ     $0x01, 88(SI), X9
 | |
| 	MOVQ       72(SI), X10
 | |
| 	PINSRQ     $0x01, 8(SI), X10
 | |
| 	MOVQ       96(SI), X11
 | |
| 	PINSRQ     $0x01, 112(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       16(SI), X8
 | |
| 	PINSRQ     $0x01, 40(SI), X8
 | |
| 	MOVQ       32(SI), X9
 | |
| 	PINSRQ     $0x01, 120(SI), X9
 | |
| 	MOVQ       48(SI), X10
 | |
| 	PINSRQ     $0x01, 80(SI), X10
 | |
| 	MOVQ       (SI), X11
 | |
| 	PINSRQ     $0x01, 64(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       72(SI), X8
 | |
| 	PINSRQ     $0x01, 40(SI), X8
 | |
| 	MOVQ       16(SI), X9
 | |
| 	PINSRQ     $0x01, 80(SI), X9
 | |
| 	MOVQ       (SI), X10
 | |
| 	PINSRQ     $0x01, 56(SI), X10
 | |
| 	MOVQ       32(SI), X11
 | |
| 	PINSRQ     $0x01, 120(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       112(SI), X8
 | |
| 	PINSRQ     $0x01, 88(SI), X8
 | |
| 	MOVQ       48(SI), X9
 | |
| 	PINSRQ     $0x01, 24(SI), X9
 | |
| 	MOVQ       8(SI), X10
 | |
| 	PINSRQ     $0x01, 96(SI), X10
 | |
| 	MOVQ       64(SI), X11
 | |
| 	PINSRQ     $0x01, 104(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       16(SI), X8
 | |
| 	PINSRQ     $0x01, 48(SI), X8
 | |
| 	MOVQ       (SI), X9
 | |
| 	PINSRQ     $0x01, 64(SI), X9
 | |
| 	MOVQ       96(SI), X10
 | |
| 	PINSRQ     $0x01, 80(SI), X10
 | |
| 	MOVQ       88(SI), X11
 | |
| 	PINSRQ     $0x01, 24(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       32(SI), X8
 | |
| 	PINSRQ     $0x01, 56(SI), X8
 | |
| 	MOVQ       120(SI), X9
 | |
| 	PINSRQ     $0x01, 8(SI), X9
 | |
| 	MOVQ       104(SI), X10
 | |
| 	PINSRQ     $0x01, 40(SI), X10
 | |
| 	MOVQ       112(SI), X11
 | |
| 	PINSRQ     $0x01, 72(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       96(SI), X8
 | |
| 	PINSRQ     $0x01, 8(SI), X8
 | |
| 	MOVQ       112(SI), X9
 | |
| 	PINSRQ     $0x01, 32(SI), X9
 | |
| 	MOVQ       40(SI), X10
 | |
| 	PINSRQ     $0x01, 120(SI), X10
 | |
| 	MOVQ       104(SI), X11
 | |
| 	PINSRQ     $0x01, 80(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       (SI), X8
 | |
| 	PINSRQ     $0x01, 48(SI), X8
 | |
| 	MOVQ       72(SI), X9
 | |
| 	PINSRQ     $0x01, 64(SI), X9
 | |
| 	MOVQ       56(SI), X10
 | |
| 	PINSRQ     $0x01, 24(SI), X10
 | |
| 	MOVQ       16(SI), X11
 | |
| 	PINSRQ     $0x01, 88(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       104(SI), X8
 | |
| 	PINSRQ     $0x01, 56(SI), X8
 | |
| 	MOVQ       96(SI), X9
 | |
| 	PINSRQ     $0x01, 24(SI), X9
 | |
| 	MOVQ       88(SI), X10
 | |
| 	PINSRQ     $0x01, 112(SI), X10
 | |
| 	MOVQ       8(SI), X11
 | |
| 	PINSRQ     $0x01, 72(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       40(SI), X8
 | |
| 	PINSRQ     $0x01, 120(SI), X8
 | |
| 	MOVQ       64(SI), X9
 | |
| 	PINSRQ     $0x01, 16(SI), X9
 | |
| 	MOVQ       (SI), X10
 | |
| 	PINSRQ     $0x01, 32(SI), X10
 | |
| 	MOVQ       48(SI), X11
 | |
| 	PINSRQ     $0x01, 80(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       48(SI), X8
 | |
| 	PINSRQ     $0x01, 112(SI), X8
 | |
| 	MOVQ       88(SI), X9
 | |
| 	PINSRQ     $0x01, (SI), X9
 | |
| 	MOVQ       120(SI), X10
 | |
| 	PINSRQ     $0x01, 72(SI), X10
 | |
| 	MOVQ       24(SI), X11
 | |
| 	PINSRQ     $0x01, 64(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       96(SI), X8
 | |
| 	PINSRQ     $0x01, 104(SI), X8
 | |
| 	MOVQ       8(SI), X9
 | |
| 	PINSRQ     $0x01, 80(SI), X9
 | |
| 	MOVQ       16(SI), X10
 | |
| 	PINSRQ     $0x01, 56(SI), X10
 | |
| 	MOVQ       32(SI), X11
 | |
| 	PINSRQ     $0x01, 40(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVQ       80(SI), X8
 | |
| 	PINSRQ     $0x01, 64(SI), X8
 | |
| 	MOVQ       56(SI), X9
 | |
| 	PINSRQ     $0x01, 8(SI), X9
 | |
| 	MOVQ       16(SI), X10
 | |
| 	PINSRQ     $0x01, 32(SI), X10
 | |
| 	MOVQ       48(SI), X11
 | |
| 	PINSRQ     $0x01, 40(SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	MOVQ       120(SI), X8
 | |
| 	PINSRQ     $0x01, 72(SI), X8
 | |
| 	MOVQ       24(SI), X9
 | |
| 	PINSRQ     $0x01, 104(SI), X9
 | |
| 	MOVQ       88(SI), X10
 | |
| 	PINSRQ     $0x01, 112(SI), X10
 | |
| 	MOVQ       96(SI), X11
 | |
| 	PINSRQ     $0x01, (SI), X11
 | |
| 	PADDQ      X8, X0
 | |
| 	PADDQ      X9, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      X10, X0
 | |
| 	PADDQ      X11, X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PADDQ      16(R10), X0
 | |
| 	PADDQ      32(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      48(R10), X0
 | |
| 	PADDQ      64(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PADDQ      80(R10), X0
 | |
| 	PADDQ      96(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      112(R10), X0
 | |
| 	PADDQ      128(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PADDQ      144(R10), X0
 | |
| 	PADDQ      160(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      176(R10), X0
 | |
| 	PADDQ      192(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKLQDQ X6, X9
 | |
| 	PUNPCKHQDQ X7, X6
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	MOVO       X8, X7
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PADDQ      208(R10), X0
 | |
| 	PADDQ      224(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFD     $0xb1, X6, X6
 | |
| 	PSHUFD     $0xb1, X7, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	PSHUFB     X13, X2
 | |
| 	PSHUFB     X13, X3
 | |
| 	PADDQ      240(R10), X0
 | |
| 	PADDQ      256(R10), X1
 | |
| 	PADDQ      X2, X0
 | |
| 	PADDQ      X3, X1
 | |
| 	PXOR       X0, X6
 | |
| 	PXOR       X1, X7
 | |
| 	PSHUFB     X14, X6
 | |
| 	PSHUFB     X14, X7
 | |
| 	PADDQ      X6, X4
 | |
| 	PADDQ      X7, X5
 | |
| 	PXOR       X4, X2
 | |
| 	PXOR       X5, X3
 | |
| 	MOVOU      X2, X11
 | |
| 	PADDQ      X2, X11
 | |
| 	PSRLQ      $0x3f, X2
 | |
| 	PXOR       X11, X2
 | |
| 	MOVOU      X3, X11
 | |
| 	PADDQ      X3, X11
 | |
| 	PSRLQ      $0x3f, X3
 | |
| 	PXOR       X11, X3
 | |
| 	MOVO       X4, X8
 | |
| 	MOVO       X5, X4
 | |
| 	MOVO       X8, X5
 | |
| 	MOVO       X2, X8
 | |
| 	PUNPCKLQDQ X2, X9
 | |
| 	PUNPCKHQDQ X3, X2
 | |
| 	PUNPCKHQDQ X9, X2
 | |
| 	PUNPCKLQDQ X3, X9
 | |
| 	MOVO       X8, X3
 | |
| 	MOVO       X6, X8
 | |
| 	PUNPCKHQDQ X9, X3
 | |
| 	PUNPCKLQDQ X7, X9
 | |
| 	PUNPCKHQDQ X9, X6
 | |
| 	PUNPCKLQDQ X8, X9
 | |
| 	PUNPCKHQDQ X9, X7
 | |
| 	MOVOU      32(AX), X10
 | |
| 	MOVOU      48(AX), X11
 | |
| 	PXOR       X0, X12
 | |
| 	PXOR       X1, X15
 | |
| 	PXOR       X2, X10
 | |
| 	PXOR       X3, X11
 | |
| 	PXOR       X4, X12
 | |
| 	PXOR       X5, X15
 | |
| 	PXOR       X6, X10
 | |
| 	PXOR       X7, X11
 | |
| 	MOVOU      X10, 32(AX)
 | |
| 	MOVOU      X11, 48(AX)
 | |
| 	LEAQ       128(SI), SI
 | |
| 	SUBQ       $0x80, DI
 | |
| 	JNE        loop
 | |
| 	MOVOU      X12, (AX)
 | |
| 	MOVOU      X15, 16(AX)
 | |
| 	MOVQ       R8, (BX)
 | |
| 	MOVQ       R9, 8(BX)
 | |
| 	RET
 | |
| 
 | |
| DATA ·iv3<>+0(SB)/8, $0x1f83d9abfb41bd6b
 | |
| DATA ·iv3<>+8(SB)/8, $0x5be0cd19137e2179
 | |
| GLOBL ·iv3<>(SB), RODATA|NOPTR, $16
 | |
| 
 | |
| DATA ·c40<>+0(SB)/8, $0x0201000706050403
 | |
| DATA ·c40<>+8(SB)/8, $0x0a09080f0e0d0c0b
 | |
| GLOBL ·c40<>(SB), RODATA|NOPTR, $16
 | |
| 
 | |
| DATA ·c48<>+0(SB)/8, $0x0100070605040302
 | |
| DATA ·c48<>+8(SB)/8, $0x09080f0e0d0c0b0a
 | |
| GLOBL ·c48<>(SB), RODATA|NOPTR, $16
 | |
| 
 | |
| DATA ·iv0<>+0(SB)/8, $0x6a09e667f3bcc908
 | |
| DATA ·iv0<>+8(SB)/8, $0xbb67ae8584caa73b
 | |
| GLOBL ·iv0<>(SB), RODATA|NOPTR, $16
 | |
| 
 | |
| DATA ·iv1<>+0(SB)/8, $0x3c6ef372fe94f82b
 | |
| DATA ·iv1<>+8(SB)/8, $0xa54ff53a5f1d36f1
 | |
| GLOBL ·iv1<>(SB), RODATA|NOPTR, $16
 | |
| 
 | |
| DATA ·iv2<>+0(SB)/8, $0x510e527fade682d1
 | |
| DATA ·iv2<>+8(SB)/8, $0x9b05688c2b3e6c1f
 | |
| GLOBL ·iv2<>(SB), RODATA|NOPTR, $16
 |