// Copyright 2012 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
// This code was translated into a form compatible with 6a from the public | |
// domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html | |
// +build amd64,!gccgo,!appengine | |
#include "const_amd64.h" | |
// func ladderstep(inout *[5][5]uint64) | |
TEXT ·ladderstep(SB),0,$296-8 | |
MOVQ inout+0(FP),DI | |
MOVQ 40(DI),SI | |
MOVQ 48(DI),DX | |
MOVQ 56(DI),CX | |
MOVQ 64(DI),R8 | |
MOVQ 72(DI),R9 | |
MOVQ SI,AX | |
MOVQ DX,R10 | |
MOVQ CX,R11 | |
MOVQ R8,R12 | |
MOVQ R9,R13 | |
ADDQ ·_2P0(SB),AX | |
ADDQ ·_2P1234(SB),R10 | |
ADDQ ·_2P1234(SB),R11 | |
ADDQ ·_2P1234(SB),R12 | |
ADDQ ·_2P1234(SB),R13 | |
ADDQ 80(DI),SI | |
ADDQ 88(DI),DX | |
ADDQ 96(DI),CX | |
ADDQ 104(DI),R8 | |
ADDQ 112(DI),R9 | |
SUBQ 80(DI),AX | |
SUBQ 88(DI),R10 | |
SUBQ 96(DI),R11 | |
SUBQ 104(DI),R12 | |
SUBQ 112(DI),R13 | |
MOVQ SI,0(SP) | |
MOVQ DX,8(SP) | |
MOVQ CX,16(SP) | |
MOVQ R8,24(SP) | |
MOVQ R9,32(SP) | |
MOVQ AX,40(SP) | |
MOVQ R10,48(SP) | |
MOVQ R11,56(SP) | |
MOVQ R12,64(SP) | |
MOVQ R13,72(SP) | |
MOVQ 40(SP),AX | |
MULQ 40(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 40(SP),AX | |
SHLQ $1,AX | |
MULQ 48(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 40(SP),AX | |
SHLQ $1,AX | |
MULQ 56(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 40(SP),AX | |
SHLQ $1,AX | |
MULQ 64(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 40(SP),AX | |
SHLQ $1,AX | |
MULQ 72(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 48(SP),AX | |
MULQ 48(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 48(SP),AX | |
SHLQ $1,AX | |
MULQ 56(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 48(SP),AX | |
SHLQ $1,AX | |
MULQ 64(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 48(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 56(SP),AX | |
MULQ 56(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 56(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 64(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 56(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 64(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 64(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 64(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 72(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
ANDQ DX,SI | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ADDQ R10,CX | |
ANDQ DX,R8 | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ADDQ R12,CX | |
ANDQ DX,R9 | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ADDQ R14,CX | |
ANDQ DX,AX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,80(SP) | |
MOVQ R8,88(SP) | |
MOVQ R9,96(SP) | |
MOVQ AX,104(SP) | |
MOVQ R10,112(SP) | |
MOVQ 0(SP),AX | |
MULQ 0(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 0(SP),AX | |
SHLQ $1,AX | |
MULQ 8(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 0(SP),AX | |
SHLQ $1,AX | |
MULQ 16(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 0(SP),AX | |
SHLQ $1,AX | |
MULQ 24(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 0(SP),AX | |
SHLQ $1,AX | |
MULQ 32(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 8(SP),AX | |
MULQ 8(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 8(SP),AX | |
SHLQ $1,AX | |
MULQ 16(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 8(SP),AX | |
SHLQ $1,AX | |
MULQ 24(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 8(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 16(SP),AX | |
MULQ 16(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 16(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 24(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 16(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 24(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 24(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 24(SP),DX | |
IMUL3Q $38,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 32(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
ANDQ DX,SI | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ADDQ R10,CX | |
ANDQ DX,R8 | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ADDQ R12,CX | |
ANDQ DX,R9 | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ADDQ R14,CX | |
ANDQ DX,AX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,120(SP) | |
MOVQ R8,128(SP) | |
MOVQ R9,136(SP) | |
MOVQ AX,144(SP) | |
MOVQ R10,152(SP) | |
MOVQ SI,SI | |
MOVQ R8,DX | |
MOVQ R9,CX | |
MOVQ AX,R8 | |
MOVQ R10,R9 | |
ADDQ ·_2P0(SB),SI | |
ADDQ ·_2P1234(SB),DX | |
ADDQ ·_2P1234(SB),CX | |
ADDQ ·_2P1234(SB),R8 | |
ADDQ ·_2P1234(SB),R9 | |
SUBQ 80(SP),SI | |
SUBQ 88(SP),DX | |
SUBQ 96(SP),CX | |
SUBQ 104(SP),R8 | |
SUBQ 112(SP),R9 | |
MOVQ SI,160(SP) | |
MOVQ DX,168(SP) | |
MOVQ CX,176(SP) | |
MOVQ R8,184(SP) | |
MOVQ R9,192(SP) | |
MOVQ 120(DI),SI | |
MOVQ 128(DI),DX | |
MOVQ 136(DI),CX | |
MOVQ 144(DI),R8 | |
MOVQ 152(DI),R9 | |
MOVQ SI,AX | |
MOVQ DX,R10 | |
MOVQ CX,R11 | |
MOVQ R8,R12 | |
MOVQ R9,R13 | |
ADDQ ·_2P0(SB),AX | |
ADDQ ·_2P1234(SB),R10 | |
ADDQ ·_2P1234(SB),R11 | |
ADDQ ·_2P1234(SB),R12 | |
ADDQ ·_2P1234(SB),R13 | |
ADDQ 160(DI),SI | |
ADDQ 168(DI),DX | |
ADDQ 176(DI),CX | |
ADDQ 184(DI),R8 | |
ADDQ 192(DI),R9 | |
SUBQ 160(DI),AX | |
SUBQ 168(DI),R10 | |
SUBQ 176(DI),R11 | |
SUBQ 184(DI),R12 | |
SUBQ 192(DI),R13 | |
MOVQ SI,200(SP) | |
MOVQ DX,208(SP) | |
MOVQ CX,216(SP) | |
MOVQ R8,224(SP) | |
MOVQ R9,232(SP) | |
MOVQ AX,240(SP) | |
MOVQ R10,248(SP) | |
MOVQ R11,256(SP) | |
MOVQ R12,264(SP) | |
MOVQ R13,272(SP) | |
MOVQ 224(SP),SI | |
IMUL3Q $19,SI,AX | |
MOVQ AX,280(SP) | |
MULQ 56(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 232(SP),DX | |
IMUL3Q $19,DX,AX | |
MOVQ AX,288(SP) | |
MULQ 48(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 200(SP),AX | |
MULQ 40(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 200(SP),AX | |
MULQ 48(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 200(SP),AX | |
MULQ 56(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 200(SP),AX | |
MULQ 64(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 200(SP),AX | |
MULQ 72(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 208(SP),AX | |
MULQ 40(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 208(SP),AX | |
MULQ 48(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 208(SP),AX | |
MULQ 56(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 208(SP),AX | |
MULQ 64(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 208(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 216(SP),AX | |
MULQ 40(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 216(SP),AX | |
MULQ 48(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 216(SP),AX | |
MULQ 56(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 216(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 64(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 216(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 72(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 224(SP),AX | |
MULQ 40(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 224(SP),AX | |
MULQ 48(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 280(SP),AX | |
MULQ 64(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 280(SP),AX | |
MULQ 72(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 232(SP),AX | |
MULQ 40(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 288(SP),AX | |
MULQ 56(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 288(SP),AX | |
MULQ 64(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 288(SP),AX | |
MULQ 72(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ANDQ DX,SI | |
ADDQ R10,CX | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ANDQ DX,R8 | |
ADDQ R12,CX | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ANDQ DX,R9 | |
ADDQ R14,CX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
ANDQ DX,AX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,40(SP) | |
MOVQ R8,48(SP) | |
MOVQ R9,56(SP) | |
MOVQ AX,64(SP) | |
MOVQ R10,72(SP) | |
MOVQ 264(SP),SI | |
IMUL3Q $19,SI,AX | |
MOVQ AX,200(SP) | |
MULQ 16(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 272(SP),DX | |
IMUL3Q $19,DX,AX | |
MOVQ AX,208(SP) | |
MULQ 8(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 240(SP),AX | |
MULQ 0(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 240(SP),AX | |
MULQ 8(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 240(SP),AX | |
MULQ 16(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 240(SP),AX | |
MULQ 24(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 240(SP),AX | |
MULQ 32(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 248(SP),AX | |
MULQ 0(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 248(SP),AX | |
MULQ 8(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 248(SP),AX | |
MULQ 16(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 248(SP),AX | |
MULQ 24(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 248(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 256(SP),AX | |
MULQ 0(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 256(SP),AX | |
MULQ 8(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 256(SP),AX | |
MULQ 16(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 256(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 24(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 256(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 32(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 264(SP),AX | |
MULQ 0(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 264(SP),AX | |
MULQ 8(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 200(SP),AX | |
MULQ 24(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 200(SP),AX | |
MULQ 32(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 272(SP),AX | |
MULQ 0(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 208(SP),AX | |
MULQ 16(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 208(SP),AX | |
MULQ 24(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 208(SP),AX | |
MULQ 32(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ANDQ DX,SI | |
ADDQ R10,CX | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ANDQ DX,R8 | |
ADDQ R12,CX | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ANDQ DX,R9 | |
ADDQ R14,CX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
ANDQ DX,AX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,DX | |
MOVQ R8,CX | |
MOVQ R9,R11 | |
MOVQ AX,R12 | |
MOVQ R10,R13 | |
ADDQ ·_2P0(SB),DX | |
ADDQ ·_2P1234(SB),CX | |
ADDQ ·_2P1234(SB),R11 | |
ADDQ ·_2P1234(SB),R12 | |
ADDQ ·_2P1234(SB),R13 | |
ADDQ 40(SP),SI | |
ADDQ 48(SP),R8 | |
ADDQ 56(SP),R9 | |
ADDQ 64(SP),AX | |
ADDQ 72(SP),R10 | |
SUBQ 40(SP),DX | |
SUBQ 48(SP),CX | |
SUBQ 56(SP),R11 | |
SUBQ 64(SP),R12 | |
SUBQ 72(SP),R13 | |
MOVQ SI,120(DI) | |
MOVQ R8,128(DI) | |
MOVQ R9,136(DI) | |
MOVQ AX,144(DI) | |
MOVQ R10,152(DI) | |
MOVQ DX,160(DI) | |
MOVQ CX,168(DI) | |
MOVQ R11,176(DI) | |
MOVQ R12,184(DI) | |
MOVQ R13,192(DI) | |
MOVQ 120(DI),AX | |
MULQ 120(DI) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 120(DI),AX | |
SHLQ $1,AX | |
MULQ 128(DI) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 120(DI),AX | |
SHLQ $1,AX | |
MULQ 136(DI) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 120(DI),AX | |
SHLQ $1,AX | |
MULQ 144(DI) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 120(DI),AX | |
SHLQ $1,AX | |
MULQ 152(DI) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 128(DI),AX | |
MULQ 128(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 128(DI),AX | |
SHLQ $1,AX | |
MULQ 136(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 128(DI),AX | |
SHLQ $1,AX | |
MULQ 144(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 128(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 152(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 136(DI),AX | |
MULQ 136(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 136(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 144(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 136(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 152(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 144(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 144(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 144(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 152(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 152(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 152(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
ANDQ DX,SI | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ADDQ R10,CX | |
ANDQ DX,R8 | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ADDQ R12,CX | |
ANDQ DX,R9 | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ADDQ R14,CX | |
ANDQ DX,AX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,120(DI) | |
MOVQ R8,128(DI) | |
MOVQ R9,136(DI) | |
MOVQ AX,144(DI) | |
MOVQ R10,152(DI) | |
MOVQ 160(DI),AX | |
MULQ 160(DI) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 160(DI),AX | |
SHLQ $1,AX | |
MULQ 168(DI) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 160(DI),AX | |
SHLQ $1,AX | |
MULQ 176(DI) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 160(DI),AX | |
SHLQ $1,AX | |
MULQ 184(DI) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 160(DI),AX | |
SHLQ $1,AX | |
MULQ 192(DI) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 168(DI),AX | |
MULQ 168(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 168(DI),AX | |
SHLQ $1,AX | |
MULQ 176(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 168(DI),AX | |
SHLQ $1,AX | |
MULQ 184(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 168(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 192(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 176(DI),AX | |
MULQ 176(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 176(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 184(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 176(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 192(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 184(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 184(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 184(DI),DX | |
IMUL3Q $38,DX,AX | |
MULQ 192(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 192(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 192(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
ANDQ DX,SI | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ADDQ R10,CX | |
ANDQ DX,R8 | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ADDQ R12,CX | |
ANDQ DX,R9 | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ADDQ R14,CX | |
ANDQ DX,AX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,160(DI) | |
MOVQ R8,168(DI) | |
MOVQ R9,176(DI) | |
MOVQ AX,184(DI) | |
MOVQ R10,192(DI) | |
MOVQ 184(DI),SI | |
IMUL3Q $19,SI,AX | |
MOVQ AX,0(SP) | |
MULQ 16(DI) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 192(DI),DX | |
IMUL3Q $19,DX,AX | |
MOVQ AX,8(SP) | |
MULQ 8(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 160(DI),AX | |
MULQ 0(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 160(DI),AX | |
MULQ 8(DI) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 160(DI),AX | |
MULQ 16(DI) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 160(DI),AX | |
MULQ 24(DI) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 160(DI),AX | |
MULQ 32(DI) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 168(DI),AX | |
MULQ 0(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 168(DI),AX | |
MULQ 8(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 168(DI),AX | |
MULQ 16(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 168(DI),AX | |
MULQ 24(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 168(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 32(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 176(DI),AX | |
MULQ 0(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 176(DI),AX | |
MULQ 8(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 176(DI),AX | |
MULQ 16(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 176(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 24(DI) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 176(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 32(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 184(DI),AX | |
MULQ 0(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 184(DI),AX | |
MULQ 8(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 0(SP),AX | |
MULQ 24(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 0(SP),AX | |
MULQ 32(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 192(DI),AX | |
MULQ 0(DI) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 8(SP),AX | |
MULQ 16(DI) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 8(SP),AX | |
MULQ 24(DI) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 8(SP),AX | |
MULQ 32(DI) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ANDQ DX,SI | |
ADDQ R10,CX | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ANDQ DX,R8 | |
ADDQ R12,CX | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ANDQ DX,R9 | |
ADDQ R14,CX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
ANDQ DX,AX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,160(DI) | |
MOVQ R8,168(DI) | |
MOVQ R9,176(DI) | |
MOVQ AX,184(DI) | |
MOVQ R10,192(DI) | |
MOVQ 144(SP),SI | |
IMUL3Q $19,SI,AX | |
MOVQ AX,0(SP) | |
MULQ 96(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 152(SP),DX | |
IMUL3Q $19,DX,AX | |
MOVQ AX,8(SP) | |
MULQ 88(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 120(SP),AX | |
MULQ 80(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 120(SP),AX | |
MULQ 88(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 120(SP),AX | |
MULQ 96(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 120(SP),AX | |
MULQ 104(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 120(SP),AX | |
MULQ 112(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 128(SP),AX | |
MULQ 80(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 128(SP),AX | |
MULQ 88(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 128(SP),AX | |
MULQ 96(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 128(SP),AX | |
MULQ 104(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 128(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 112(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 136(SP),AX | |
MULQ 80(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 136(SP),AX | |
MULQ 88(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 136(SP),AX | |
MULQ 96(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 136(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 104(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 136(SP),DX | |
IMUL3Q $19,DX,AX | |
MULQ 112(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 144(SP),AX | |
MULQ 80(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 144(SP),AX | |
MULQ 88(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 0(SP),AX | |
MULQ 104(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 0(SP),AX | |
MULQ 112(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 152(SP),AX | |
MULQ 80(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 8(SP),AX | |
MULQ 96(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 8(SP),AX | |
MULQ 104(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 8(SP),AX | |
MULQ 112(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ANDQ DX,SI | |
ADDQ R10,CX | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ANDQ DX,R8 | |
ADDQ R12,CX | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ANDQ DX,R9 | |
ADDQ R14,CX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
ANDQ DX,AX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,40(DI) | |
MOVQ R8,48(DI) | |
MOVQ R9,56(DI) | |
MOVQ AX,64(DI) | |
MOVQ R10,72(DI) | |
MOVQ 160(SP),AX | |
MULQ ·_121666_213(SB) | |
SHRQ $13,AX | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 168(SP),AX | |
MULQ ·_121666_213(SB) | |
SHRQ $13,AX | |
ADDQ AX,CX | |
MOVQ DX,R8 | |
MOVQ 176(SP),AX | |
MULQ ·_121666_213(SB) | |
SHRQ $13,AX | |
ADDQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 184(SP),AX | |
MULQ ·_121666_213(SB) | |
SHRQ $13,AX | |
ADDQ AX,R9 | |
MOVQ DX,R10 | |
MOVQ 192(SP),AX | |
MULQ ·_121666_213(SB) | |
SHRQ $13,AX | |
ADDQ AX,R10 | |
IMUL3Q $19,DX,DX | |
ADDQ DX,SI | |
ADDQ 80(SP),SI | |
ADDQ 88(SP),CX | |
ADDQ 96(SP),R8 | |
ADDQ 104(SP),R9 | |
ADDQ 112(SP),R10 | |
MOVQ SI,80(DI) | |
MOVQ CX,88(DI) | |
MOVQ R8,96(DI) | |
MOVQ R9,104(DI) | |
MOVQ R10,112(DI) | |
MOVQ 104(DI),SI | |
IMUL3Q $19,SI,AX | |
MOVQ AX,0(SP) | |
MULQ 176(SP) | |
MOVQ AX,SI | |
MOVQ DX,CX | |
MOVQ 112(DI),DX | |
IMUL3Q $19,DX,AX | |
MOVQ AX,8(SP) | |
MULQ 168(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 80(DI),AX | |
MULQ 160(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 80(DI),AX | |
MULQ 168(SP) | |
MOVQ AX,R8 | |
MOVQ DX,R9 | |
MOVQ 80(DI),AX | |
MULQ 176(SP) | |
MOVQ AX,R10 | |
MOVQ DX,R11 | |
MOVQ 80(DI),AX | |
MULQ 184(SP) | |
MOVQ AX,R12 | |
MOVQ DX,R13 | |
MOVQ 80(DI),AX | |
MULQ 192(SP) | |
MOVQ AX,R14 | |
MOVQ DX,R15 | |
MOVQ 88(DI),AX | |
MULQ 160(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 88(DI),AX | |
MULQ 168(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 88(DI),AX | |
MULQ 176(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 88(DI),AX | |
MULQ 184(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 88(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 192(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 96(DI),AX | |
MULQ 160(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 96(DI),AX | |
MULQ 168(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 96(DI),AX | |
MULQ 176(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 96(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 184(SP) | |
ADDQ AX,SI | |
ADCQ DX,CX | |
MOVQ 96(DI),DX | |
IMUL3Q $19,DX,AX | |
MULQ 192(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 104(DI),AX | |
MULQ 160(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ 104(DI),AX | |
MULQ 168(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 0(SP),AX | |
MULQ 184(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 0(SP),AX | |
MULQ 192(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 112(DI),AX | |
MULQ 160(SP) | |
ADDQ AX,R14 | |
ADCQ DX,R15 | |
MOVQ 8(SP),AX | |
MULQ 176(SP) | |
ADDQ AX,R8 | |
ADCQ DX,R9 | |
MOVQ 8(SP),AX | |
MULQ 184(SP) | |
ADDQ AX,R10 | |
ADCQ DX,R11 | |
MOVQ 8(SP),AX | |
MULQ 192(SP) | |
ADDQ AX,R12 | |
ADCQ DX,R13 | |
MOVQ $REDMASK51,DX | |
SHLQ $13,CX:SI | |
ANDQ DX,SI | |
SHLQ $13,R9:R8 | |
ANDQ DX,R8 | |
ADDQ CX,R8 | |
SHLQ $13,R11:R10 | |
ANDQ DX,R10 | |
ADDQ R9,R10 | |
SHLQ $13,R13:R12 | |
ANDQ DX,R12 | |
ADDQ R11,R12 | |
SHLQ $13,R15:R14 | |
ANDQ DX,R14 | |
ADDQ R13,R14 | |
IMUL3Q $19,R15,CX | |
ADDQ CX,SI | |
MOVQ SI,CX | |
SHRQ $51,CX | |
ADDQ R8,CX | |
MOVQ CX,R8 | |
SHRQ $51,CX | |
ANDQ DX,SI | |
ADDQ R10,CX | |
MOVQ CX,R9 | |
SHRQ $51,CX | |
ANDQ DX,R8 | |
ADDQ R12,CX | |
MOVQ CX,AX | |
SHRQ $51,CX | |
ANDQ DX,R9 | |
ADDQ R14,CX | |
MOVQ CX,R10 | |
SHRQ $51,CX | |
ANDQ DX,AX | |
IMUL3Q $19,CX,CX | |
ADDQ CX,SI | |
ANDQ DX,R10 | |
MOVQ SI,80(DI) | |
MOVQ R8,88(DI) | |
MOVQ R9,96(DI) | |
MOVQ AX,104(DI) | |
MOVQ R10,112(DI) | |
RET |