| // Code generated by command: go run md5block_amd64_asm.go -out ../md5block_amd64.s -pkg md5. DO NOT EDIT. | 
 |  | 
 | //go:build !purego | 
 |  | 
 | #include "textflag.h" | 
 |  | 
 | // func block(dig *digest, p []byte) | 
 | TEXT ·block(SB), NOSPLIT, $8-32 | 
 | 	MOVQ dig+0(FP), BP | 
 | 	MOVQ p_base+8(FP), SI | 
 | 	MOVQ p_len+16(FP), DX | 
 | 	SHRQ $0x06, DX | 
 | 	SHLQ $0x06, DX | 
 | 	LEAQ (SI)(DX*1), DI | 
 | 	MOVL (BP), AX | 
 | 	MOVL 4(BP), BX | 
 | 	MOVL 8(BP), CX | 
 | 	MOVL 12(BP), DX | 
 | 	MOVL $0xffffffff, R11 | 
 | 	CMPQ SI, DI | 
 | 	JEQ  end | 
 |  | 
 | loop: | 
 | 	MOVL AX, R12 | 
 | 	MOVL BX, R13 | 
 | 	MOVL CX, R14 | 
 | 	MOVL DX, R15 | 
 | 	MOVL (SI), R8 | 
 | 	MOVL DX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL $0xd76aa478, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R9 | 
 | 	XORL DX, R9 | 
 | 	MOVL 4(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x07, AX | 
 | 	MOVL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	XORL BX, R9 | 
 | 	ADDL $0xe8c7b756, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R9 | 
 | 	XORL CX, R9 | 
 | 	MOVL 8(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0c, DX | 
 | 	MOVL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	XORL AX, R9 | 
 | 	ADDL $0x242070db, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R9 | 
 | 	XORL BX, R9 | 
 | 	MOVL 12(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x11, CX | 
 | 	MOVL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	XORL DX, R9 | 
 | 	ADDL $0xc1bdceee, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R9 | 
 | 	XORL AX, R9 | 
 | 	MOVL 16(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x16, BX | 
 | 	MOVL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	XORL CX, R9 | 
 | 	ADDL $0xf57c0faf, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R9 | 
 | 	XORL DX, R9 | 
 | 	MOVL 20(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x07, AX | 
 | 	MOVL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	XORL BX, R9 | 
 | 	ADDL $0x4787c62a, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R9 | 
 | 	XORL CX, R9 | 
 | 	MOVL 24(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0c, DX | 
 | 	MOVL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	XORL AX, R9 | 
 | 	ADDL $0xa8304613, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R9 | 
 | 	XORL BX, R9 | 
 | 	MOVL 28(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x11, CX | 
 | 	MOVL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	XORL DX, R9 | 
 | 	ADDL $0xfd469501, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R9 | 
 | 	XORL AX, R9 | 
 | 	MOVL 32(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x16, BX | 
 | 	MOVL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	XORL CX, R9 | 
 | 	ADDL $0x698098d8, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R9 | 
 | 	XORL DX, R9 | 
 | 	MOVL 36(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x07, AX | 
 | 	MOVL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	XORL BX, R9 | 
 | 	ADDL $0x8b44f7af, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R9 | 
 | 	XORL CX, R9 | 
 | 	MOVL 40(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0c, DX | 
 | 	MOVL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	XORL AX, R9 | 
 | 	ADDL $0xffff5bb1, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R9 | 
 | 	XORL BX, R9 | 
 | 	MOVL 44(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x11, CX | 
 | 	MOVL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	XORL DX, R9 | 
 | 	ADDL $0x895cd7be, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R9 | 
 | 	XORL AX, R9 | 
 | 	MOVL 48(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x16, BX | 
 | 	MOVL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	XORL CX, R9 | 
 | 	ADDL $0x6b901122, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R9 | 
 | 	XORL DX, R9 | 
 | 	MOVL 52(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x07, AX | 
 | 	MOVL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	XORL BX, R9 | 
 | 	ADDL $0xfd987193, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R9 | 
 | 	XORL CX, R9 | 
 | 	MOVL 56(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0c, DX | 
 | 	MOVL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	XORL AX, R9 | 
 | 	ADDL $0xa679438e, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R9 | 
 | 	XORL BX, R9 | 
 | 	MOVL 60(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x11, CX | 
 | 	MOVL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	XORL DX, R9 | 
 | 	ADDL $0x49b40821, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R9 | 
 | 	XORL AX, R9 | 
 | 	MOVL 4(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x16, BX | 
 | 	MOVL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	MOVL DX, R9 | 
 | 	MOVL DX, R10 | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xf61e2562, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R10 | 
 | 	ANDL CX, R9 | 
 | 	MOVL 24(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ADDL R10, AX | 
 | 	MOVL CX, R9 | 
 | 	MOVL CX, R10 | 
 | 	ROLL $0x05, AX | 
 | 	ADDL BX, AX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xc040b340, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R10 | 
 | 	ANDL BX, R9 | 
 | 	MOVL 44(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ADDL R10, DX | 
 | 	MOVL BX, R9 | 
 | 	MOVL BX, R10 | 
 | 	ROLL $0x09, DX | 
 | 	ADDL AX, DX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x265e5a51, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R10 | 
 | 	ANDL AX, R9 | 
 | 	MOVL (SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ADDL R10, CX | 
 | 	MOVL AX, R9 | 
 | 	MOVL AX, R10 | 
 | 	ROLL $0x0e, CX | 
 | 	ADDL DX, CX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xe9b6c7aa, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R10 | 
 | 	ANDL DX, R9 | 
 | 	MOVL 20(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ADDL R10, BX | 
 | 	MOVL DX, R9 | 
 | 	MOVL DX, R10 | 
 | 	ROLL $0x14, BX | 
 | 	ADDL CX, BX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xd62f105d, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R10 | 
 | 	ANDL CX, R9 | 
 | 	MOVL 40(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ADDL R10, AX | 
 | 	MOVL CX, R9 | 
 | 	MOVL CX, R10 | 
 | 	ROLL $0x05, AX | 
 | 	ADDL BX, AX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x02441453, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R10 | 
 | 	ANDL BX, R9 | 
 | 	MOVL 60(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ADDL R10, DX | 
 | 	MOVL BX, R9 | 
 | 	MOVL BX, R10 | 
 | 	ROLL $0x09, DX | 
 | 	ADDL AX, DX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xd8a1e681, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R10 | 
 | 	ANDL AX, R9 | 
 | 	MOVL 16(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ADDL R10, CX | 
 | 	MOVL AX, R9 | 
 | 	MOVL AX, R10 | 
 | 	ROLL $0x0e, CX | 
 | 	ADDL DX, CX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xe7d3fbc8, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R10 | 
 | 	ANDL DX, R9 | 
 | 	MOVL 36(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ADDL R10, BX | 
 | 	MOVL DX, R9 | 
 | 	MOVL DX, R10 | 
 | 	ROLL $0x14, BX | 
 | 	ADDL CX, BX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x21e1cde6, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R10 | 
 | 	ANDL CX, R9 | 
 | 	MOVL 56(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ADDL R10, AX | 
 | 	MOVL CX, R9 | 
 | 	MOVL CX, R10 | 
 | 	ROLL $0x05, AX | 
 | 	ADDL BX, AX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xc33707d6, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R10 | 
 | 	ANDL BX, R9 | 
 | 	MOVL 12(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ADDL R10, DX | 
 | 	MOVL BX, R9 | 
 | 	MOVL BX, R10 | 
 | 	ROLL $0x09, DX | 
 | 	ADDL AX, DX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xf4d50d87, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R10 | 
 | 	ANDL AX, R9 | 
 | 	MOVL 32(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ADDL R10, CX | 
 | 	MOVL AX, R9 | 
 | 	MOVL AX, R10 | 
 | 	ROLL $0x0e, CX | 
 | 	ADDL DX, CX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x455a14ed, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R10 | 
 | 	ANDL DX, R9 | 
 | 	MOVL 52(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ADDL R10, BX | 
 | 	MOVL DX, R9 | 
 | 	MOVL DX, R10 | 
 | 	ROLL $0x14, BX | 
 | 	ADDL CX, BX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xa9e3e905, AX | 
 | 	ADDL R8, AX | 
 | 	ANDL BX, R10 | 
 | 	ANDL CX, R9 | 
 | 	MOVL 8(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ADDL R10, AX | 
 | 	MOVL CX, R9 | 
 | 	MOVL CX, R10 | 
 | 	ROLL $0x05, AX | 
 | 	ADDL BX, AX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0xfcefa3f8, DX | 
 | 	ADDL R8, DX | 
 | 	ANDL AX, R10 | 
 | 	ANDL BX, R9 | 
 | 	MOVL 28(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ADDL R10, DX | 
 | 	MOVL BX, R9 | 
 | 	MOVL BX, R10 | 
 | 	ROLL $0x09, DX | 
 | 	ADDL AX, DX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x676f02d9, CX | 
 | 	ADDL R8, CX | 
 | 	ANDL DX, R10 | 
 | 	ANDL AX, R9 | 
 | 	MOVL 48(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ADDL R10, CX | 
 | 	MOVL AX, R9 | 
 | 	MOVL AX, R10 | 
 | 	ROLL $0x0e, CX | 
 | 	ADDL DX, CX | 
 | 	XORL R11, R9 | 
 | 	ADDL $0x8d2a4c8a, BX | 
 | 	ADDL R8, BX | 
 | 	ANDL CX, R10 | 
 | 	ANDL DX, R9 | 
 | 	MOVL 20(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ADDL R10, BX | 
 | 	MOVL DX, R9 | 
 | 	MOVL DX, R10 | 
 | 	ROLL $0x14, BX | 
 | 	ADDL CX, BX | 
 | 	MOVL CX, R9 | 
 | 	MOVL DX, R9 | 
 | 	XORL CX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL $0xfffa3942, AX | 
 | 	ADDL R8, AX | 
 | 	MOVL 32(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x04, AX | 
 | 	ADDL BX, AX | 
 | 	XORL DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL $0x8771f681, DX | 
 | 	ADDL R8, DX | 
 | 	MOVL 44(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0b, DX | 
 | 	ADDL AX, DX | 
 | 	XORL CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL $0x6d9d6122, CX | 
 | 	ADDL R8, CX | 
 | 	MOVL 56(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x10, CX | 
 | 	ADDL DX, CX | 
 | 	XORL BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL $0xfde5380c, BX | 
 | 	ADDL R8, BX | 
 | 	MOVL 4(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x17, BX | 
 | 	ADDL CX, BX | 
 | 	XORL AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL $0xa4beea44, AX | 
 | 	ADDL R8, AX | 
 | 	MOVL 16(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x04, AX | 
 | 	ADDL BX, AX | 
 | 	XORL DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL $0x4bdecfa9, DX | 
 | 	ADDL R8, DX | 
 | 	MOVL 28(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0b, DX | 
 | 	ADDL AX, DX | 
 | 	XORL CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL $0xf6bb4b60, CX | 
 | 	ADDL R8, CX | 
 | 	MOVL 40(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x10, CX | 
 | 	ADDL DX, CX | 
 | 	XORL BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL $0xbebfbc70, BX | 
 | 	ADDL R8, BX | 
 | 	MOVL 52(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x17, BX | 
 | 	ADDL CX, BX | 
 | 	XORL AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL $0x289b7ec6, AX | 
 | 	ADDL R8, AX | 
 | 	MOVL (SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x04, AX | 
 | 	ADDL BX, AX | 
 | 	XORL DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL $0xeaa127fa, DX | 
 | 	ADDL R8, DX | 
 | 	MOVL 12(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0b, DX | 
 | 	ADDL AX, DX | 
 | 	XORL CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL $0xd4ef3085, CX | 
 | 	ADDL R8, CX | 
 | 	MOVL 24(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x10, CX | 
 | 	ADDL DX, CX | 
 | 	XORL BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL $0x04881d05, BX | 
 | 	ADDL R8, BX | 
 | 	MOVL 36(SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x17, BX | 
 | 	ADDL CX, BX | 
 | 	XORL AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL $0xd9d4d039, AX | 
 | 	ADDL R8, AX | 
 | 	MOVL 48(SI), R8 | 
 | 	ADDL R9, AX | 
 | 	ROLL $0x04, AX | 
 | 	ADDL BX, AX | 
 | 	XORL DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL $0xe6db99e5, DX | 
 | 	ADDL R8, DX | 
 | 	MOVL 60(SI), R8 | 
 | 	ADDL R9, DX | 
 | 	ROLL $0x0b, DX | 
 | 	ADDL AX, DX | 
 | 	XORL CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL $0x1fa27cf8, CX | 
 | 	ADDL R8, CX | 
 | 	MOVL 8(SI), R8 | 
 | 	ADDL R9, CX | 
 | 	ROLL $0x10, CX | 
 | 	ADDL DX, CX | 
 | 	XORL BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL $0xc4ac5665, BX | 
 | 	ADDL R8, BX | 
 | 	MOVL (SI), R8 | 
 | 	ADDL R9, BX | 
 | 	ROLL $0x17, BX | 
 | 	ADDL CX, BX | 
 | 	MOVL R11, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL $0xf4292244, AX | 
 | 	ADDL R8, AX | 
 | 	ORL  BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL R9, AX | 
 | 	MOVL 28(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x06, AX | 
 | 	XORL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	ADDL $0x432aff97, DX | 
 | 	ADDL R8, DX | 
 | 	ORL  AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL R9, DX | 
 | 	MOVL 56(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0a, DX | 
 | 	XORL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	ADDL $0xab9423a7, CX | 
 | 	ADDL R8, CX | 
 | 	ORL  DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL R9, CX | 
 | 	MOVL 20(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0f, CX | 
 | 	XORL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	ADDL $0xfc93a039, BX | 
 | 	ADDL R8, BX | 
 | 	ORL  CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL R9, BX | 
 | 	MOVL 48(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x15, BX | 
 | 	XORL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	ADDL $0x655b59c3, AX | 
 | 	ADDL R8, AX | 
 | 	ORL  BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL R9, AX | 
 | 	MOVL 12(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x06, AX | 
 | 	XORL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	ADDL $0x8f0ccc92, DX | 
 | 	ADDL R8, DX | 
 | 	ORL  AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL R9, DX | 
 | 	MOVL 40(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0a, DX | 
 | 	XORL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	ADDL $0xffeff47d, CX | 
 | 	ADDL R8, CX | 
 | 	ORL  DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL R9, CX | 
 | 	MOVL 4(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0f, CX | 
 | 	XORL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	ADDL $0x85845dd1, BX | 
 | 	ADDL R8, BX | 
 | 	ORL  CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL R9, BX | 
 | 	MOVL 32(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x15, BX | 
 | 	XORL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	ADDL $0x6fa87e4f, AX | 
 | 	ADDL R8, AX | 
 | 	ORL  BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL R9, AX | 
 | 	MOVL 60(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x06, AX | 
 | 	XORL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	ADDL $0xfe2ce6e0, DX | 
 | 	ADDL R8, DX | 
 | 	ORL  AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL R9, DX | 
 | 	MOVL 24(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0a, DX | 
 | 	XORL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	ADDL $0xa3014314, CX | 
 | 	ADDL R8, CX | 
 | 	ORL  DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL R9, CX | 
 | 	MOVL 52(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0f, CX | 
 | 	XORL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	ADDL $0x4e0811a1, BX | 
 | 	ADDL R8, BX | 
 | 	ORL  CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL R9, BX | 
 | 	MOVL 16(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x15, BX | 
 | 	XORL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	ADDL $0xf7537e82, AX | 
 | 	ADDL R8, AX | 
 | 	ORL  BX, R9 | 
 | 	XORL CX, R9 | 
 | 	ADDL R9, AX | 
 | 	MOVL 44(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x06, AX | 
 | 	XORL CX, R9 | 
 | 	ADDL BX, AX | 
 | 	ADDL $0xbd3af235, DX | 
 | 	ADDL R8, DX | 
 | 	ORL  AX, R9 | 
 | 	XORL BX, R9 | 
 | 	ADDL R9, DX | 
 | 	MOVL 8(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0a, DX | 
 | 	XORL BX, R9 | 
 | 	ADDL AX, DX | 
 | 	ADDL $0x2ad7d2bb, CX | 
 | 	ADDL R8, CX | 
 | 	ORL  DX, R9 | 
 | 	XORL AX, R9 | 
 | 	ADDL R9, CX | 
 | 	MOVL 36(SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x0f, CX | 
 | 	XORL AX, R9 | 
 | 	ADDL DX, CX | 
 | 	ADDL $0xeb86d391, BX | 
 | 	ADDL R8, BX | 
 | 	ORL  CX, R9 | 
 | 	XORL DX, R9 | 
 | 	ADDL R9, BX | 
 | 	MOVL (SI), R8 | 
 | 	MOVL $0xffffffff, R9 | 
 | 	ROLL $0x15, BX | 
 | 	XORL DX, R9 | 
 | 	ADDL CX, BX | 
 | 	ADDL R12, AX | 
 | 	ADDL R13, BX | 
 | 	ADDL R14, CX | 
 | 	ADDL R15, DX | 
 | 	ADDQ $0x40, SI | 
 | 	CMPQ SI, DI | 
 | 	JB   loop | 
 |  | 
 | end: | 
 | 	MOVL AX, (BP) | 
 | 	MOVL BX, 4(BP) | 
 | 	MOVL CX, 8(BP) | 
 | 	MOVL DX, 12(BP) | 
 | 	RET |