]> Cypherpunks repositories - gostls13.git/commitdiff
vendor/golang_org/x/crypto/curve25519: update to f62085100e1abe3d5c9b3b8c9a38d50b71323f64
authorAdam Langley <agl@golang.org>
Thu, 20 Oct 2016 16:35:19 +0000 (09:35 -0700)
committerAustin Clements <austin@google.com>
Fri, 21 Oct 2016 21:33:30 +0000 (21:33 +0000)
This change updates the vendored copy of x/crypto/curve25519,
specifically to include the following changes:
  f620851 curve25519: eliminate unnecessary "callee save" prologues
  722a7b7 curve25519: fix confusing SP adjustments

Change-Id: I1b16aba12c744ac32f925654a136a8f52cd40fc2
Reviewed-on: https://go-review.googlesource.com/31666
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/vendor/golang_org/x/crypto/curve25519/freeze_amd64.s
src/vendor/golang_org/x/crypto/curve25519/ladderstep_amd64.s
src/vendor/golang_org/x/crypto/curve25519/mul_amd64.s
src/vendor/golang_org/x/crypto/curve25519/square_amd64.s

index 37599fac043bed54773dd3fede8057f84de1a3b0..932800b8d1b1dd144dde90d4fd15c0243318eef3 100644 (file)
@@ -8,22 +8,9 @@
 // +build amd64,!gccgo,!appengine
 
 // func freeze(inout *[5]uint64)
-TEXT ·freeze(SB),7,$96-8
+TEXT ·freeze(SB),7,$0-8
        MOVQ inout+0(FP), DI
 
-       MOVQ SP,R11
-       MOVQ $31,CX
-       NOTQ CX
-       ANDQ CX,SP
-       ADDQ $32,SP
-
-       MOVQ R11,0(SP)
-       MOVQ R12,8(SP)
-       MOVQ R13,16(SP)
-       MOVQ R14,24(SP)
-       MOVQ R15,32(SP)
-       MOVQ BX,40(SP)
-       MOVQ BP,48(SP)
        MOVQ 0(DI),SI
        MOVQ 8(DI),DX
        MOVQ 16(DI),CX
@@ -81,14 +68,4 @@ REDUCELOOP:
        MOVQ CX,16(DI)
        MOVQ R8,24(DI)
        MOVQ R9,32(DI)
-       MOVQ 0(SP),R11
-       MOVQ 8(SP),R12
-       MOVQ 16(SP),R13
-       MOVQ 24(SP),R14
-       MOVQ 32(SP),R15
-       MOVQ 40(SP),BX
-       MOVQ 48(SP),BP
-       MOVQ R11,SP
-       MOVQ DI,AX
-       MOVQ SI,DX
        RET
index 3949f9cfaf4d075035ca1502e6e4c27d0ad079d7..ee7b36c36844c6530c1c3d6ca27593bd04198f00 100644 (file)
@@ -8,22 +8,9 @@
 // +build amd64,!gccgo,!appengine
 
 // func ladderstep(inout *[5][5]uint64)
-TEXT ·ladderstep(SB),0,$384-8
+TEXT ·ladderstep(SB),0,$296-8
        MOVQ inout+0(FP),DI
 
-       MOVQ SP,R11
-       MOVQ $31,CX
-       NOTQ CX
-       ANDQ CX,SP
-       ADDQ $32,SP
-
-       MOVQ R11,0(SP)
-       MOVQ R12,8(SP)
-       MOVQ R13,16(SP)
-       MOVQ R14,24(SP)
-       MOVQ R15,32(SP)
-       MOVQ BX,40(SP)
-       MOVQ BP,48(SP)
        MOVQ 40(DI),SI
        MOVQ 48(DI),DX
        MOVQ 56(DI),CX
@@ -49,86 +36,86 @@ TEXT ·ladderstep(SB),0,$384-8
        SUBQ 96(DI),R11
        SUBQ 104(DI),R12
        SUBQ 112(DI),R13
-       MOVQ SI,56(SP)
-       MOVQ DX,64(SP)
-       MOVQ CX,72(SP)
-       MOVQ R8,80(SP)
-       MOVQ R9,88(SP)
-       MOVQ AX,96(SP)
-       MOVQ R10,104(SP)
-       MOVQ R11,112(SP)
-       MOVQ R12,120(SP)
-       MOVQ R13,128(SP)
-       MOVQ 96(SP),AX
-       MULQ 96(SP)
+       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 96(SP),AX
+       MOVQ 40(SP),AX
        SHLQ $1,AX
-       MULQ 104(SP)
+       MULQ 48(SP)
        MOVQ AX,R8
        MOVQ DX,R9
-       MOVQ 96(SP),AX
+       MOVQ 40(SP),AX
        SHLQ $1,AX
-       MULQ 112(SP)
+       MULQ 56(SP)
        MOVQ AX,R10
        MOVQ DX,R11
-       MOVQ 96(SP),AX
+       MOVQ 40(SP),AX
        SHLQ $1,AX
-       MULQ 120(SP)
+       MULQ 64(SP)
        MOVQ AX,R12
        MOVQ DX,R13
-       MOVQ 96(SP),AX
+       MOVQ 40(SP),AX
        SHLQ $1,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        MOVQ AX,R14
        MOVQ DX,R15
-       MOVQ 104(SP),AX
-       MULQ 104(SP)
+       MOVQ 48(SP),AX
+       MULQ 48(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 104(SP),AX
+       MOVQ 48(SP),AX
        SHLQ $1,AX
-       MULQ 112(SP)
+       MULQ 56(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 104(SP),AX
+       MOVQ 48(SP),AX
        SHLQ $1,AX
-       MULQ 120(SP)
+       MULQ 64(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 104(SP),DX
+       MOVQ 48(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 112(SP),AX
-       MULQ 112(SP)
+       MOVQ 56(SP),AX
+       MULQ 56(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 112(SP),DX
+       MOVQ 56(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 120(SP)
+       MULQ 64(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 112(SP),DX
+       MOVQ 56(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 120(SP),DX
+       MOVQ 64(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 120(SP)
+       MULQ 64(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 120(SP),DX
+       MOVQ 64(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 128(SP),DX
+       MOVQ 72(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -169,81 +156,81 @@ TEXT ·ladderstep(SB),0,$384-8
        IMUL3Q $19,CX,CX
        ADDQ CX,SI
        ANDQ DX,R10
-       MOVQ SI,136(SP)
-       MOVQ R8,144(SP)
-       MOVQ R9,152(SP)
-       MOVQ AX,160(SP)
-       MOVQ R10,168(SP)
-       MOVQ 56(SP),AX
-       MULQ 56(SP)
+       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 56(SP),AX
+       MOVQ 0(SP),AX
        SHLQ $1,AX
-       MULQ 64(SP)
+       MULQ 8(SP)
        MOVQ AX,R8
        MOVQ DX,R9
-       MOVQ 56(SP),AX
+       MOVQ 0(SP),AX
        SHLQ $1,AX
-       MULQ 72(SP)
+       MULQ 16(SP)
        MOVQ AX,R10
        MOVQ DX,R11
-       MOVQ 56(SP),AX
+       MOVQ 0(SP),AX
        SHLQ $1,AX
-       MULQ 80(SP)
+       MULQ 24(SP)
        MOVQ AX,R12
        MOVQ DX,R13
-       MOVQ 56(SP),AX
+       MOVQ 0(SP),AX
        SHLQ $1,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        MOVQ AX,R14
        MOVQ DX,R15
-       MOVQ 64(SP),AX
-       MULQ 64(SP)
+       MOVQ 8(SP),AX
+       MULQ 8(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 64(SP),AX
+       MOVQ 8(SP),AX
        SHLQ $1,AX
-       MULQ 72(SP)
+       MULQ 16(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 64(SP),AX
+       MOVQ 8(SP),AX
        SHLQ $1,AX
-       MULQ 80(SP)
+       MULQ 24(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 64(SP),DX
+       MOVQ 8(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 72(SP),AX
-       MULQ 72(SP)
+       MOVQ 16(SP),AX
+       MULQ 16(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 72(SP),DX
+       MOVQ 16(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 80(SP)
+       MULQ 24(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 72(SP),DX
+       MOVQ 16(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 80(SP),DX
+       MOVQ 24(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 80(SP)
+       MULQ 24(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 80(SP),DX
+       MOVQ 24(SP),DX
        IMUL3Q $38,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 88(SP),DX
+       MOVQ 32(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -284,11 +271,11 @@ TEXT ·ladderstep(SB),0,$384-8
        IMUL3Q $19,CX,CX
        ADDQ CX,SI
        ANDQ DX,R10
-       MOVQ SI,176(SP)
-       MOVQ R8,184(SP)
-       MOVQ R9,192(SP)
-       MOVQ AX,200(SP)
-       MOVQ R10,208(SP)
+       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
@@ -299,16 +286,16 @@ TEXT ·ladderstep(SB),0,$384-8
        ADDQ ·_2P1234(SB),CX
        ADDQ ·_2P1234(SB),R8
        ADDQ ·_2P1234(SB),R9
-       SUBQ 136(SP),SI
-       SUBQ 144(SP),DX
-       SUBQ 152(SP),CX
-       SUBQ 160(SP),R8
-       SUBQ 168(SP),R9
-       MOVQ SI,216(SP)
-       MOVQ DX,224(SP)
-       MOVQ CX,232(SP)
-       MOVQ R8,240(SP)
-       MOVQ R9,248(SP)
+       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
@@ -334,121 +321,121 @@ TEXT ·ladderstep(SB),0,$384-8
        SUBQ 176(DI),R11
        SUBQ 184(DI),R12
        SUBQ 192(DI),R13
-       MOVQ SI,256(SP)
-       MOVQ DX,264(SP)
-       MOVQ CX,272(SP)
-       MOVQ R8,280(SP)
-       MOVQ R9,288(SP)
-       MOVQ AX,296(SP)
-       MOVQ R10,304(SP)
-       MOVQ R11,312(SP)
-       MOVQ R12,320(SP)
-       MOVQ R13,328(SP)
-       MOVQ 280(SP),SI
+       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,336(SP)
-       MULQ 112(SP)
+       MOVQ AX,280(SP)
+       MULQ 56(SP)
        MOVQ AX,SI
        MOVQ DX,CX
-       MOVQ 288(SP),DX
+       MOVQ 232(SP),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,344(SP)
-       MULQ 104(SP)
+       MOVQ AX,288(SP)
+       MULQ 48(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 256(SP),AX
-       MULQ 96(SP)
+       MOVQ 200(SP),AX
+       MULQ 40(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 256(SP),AX
-       MULQ 104(SP)
+       MOVQ 200(SP),AX
+       MULQ 48(SP)
        MOVQ AX,R8
        MOVQ DX,R9
-       MOVQ 256(SP),AX
-       MULQ 112(SP)
+       MOVQ 200(SP),AX
+       MULQ 56(SP)
        MOVQ AX,R10
        MOVQ DX,R11
-       MOVQ 256(SP),AX
-       MULQ 120(SP)
+       MOVQ 200(SP),AX
+       MULQ 64(SP)
        MOVQ AX,R12
        MOVQ DX,R13
-       MOVQ 256(SP),AX
-       MULQ 128(SP)
+       MOVQ 200(SP),AX
+       MULQ 72(SP)
        MOVQ AX,R14
        MOVQ DX,R15
-       MOVQ 264(SP),AX
-       MULQ 96(SP)
+       MOVQ 208(SP),AX
+       MULQ 40(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 264(SP),AX
-       MULQ 104(SP)
+       MOVQ 208(SP),AX
+       MULQ 48(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 264(SP),AX
-       MULQ 112(SP)
+       MOVQ 208(SP),AX
+       MULQ 56(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 264(SP),AX
-       MULQ 120(SP)
+       MOVQ 208(SP),AX
+       MULQ 64(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 264(SP),DX
+       MOVQ 208(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 272(SP),AX
-       MULQ 96(SP)
+       MOVQ 216(SP),AX
+       MULQ 40(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 272(SP),AX
-       MULQ 104(SP)
+       MOVQ 216(SP),AX
+       MULQ 48(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 272(SP),AX
-       MULQ 112(SP)
+       MOVQ 216(SP),AX
+       MULQ 56(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 272(SP),DX
+       MOVQ 216(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 120(SP)
+       MULQ 64(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 272(SP),DX
+       MOVQ 216(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 128(SP)
+       MULQ 72(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 280(SP),AX
-       MULQ 96(SP)
+       MOVQ 224(SP),AX
+       MULQ 40(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 280(SP),AX
-       MULQ 104(SP)
+       MOVQ 224(SP),AX
+       MULQ 48(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 336(SP),AX
-       MULQ 120(SP)
+       MOVQ 280(SP),AX
+       MULQ 64(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 336(SP),AX
-       MULQ 128(SP)
+       MOVQ 280(SP),AX
+       MULQ 72(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 288(SP),AX
-       MULQ 96(SP)
+       MOVQ 232(SP),AX
+       MULQ 40(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 344(SP),AX
-       MULQ 112(SP)
+       MOVQ 288(SP),AX
+       MULQ 56(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 344(SP),AX
-       MULQ 120(SP)
+       MOVQ 288(SP),AX
+       MULQ 64(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 344(SP),AX
-       MULQ 128(SP)
+       MOVQ 288(SP),AX
+       MULQ 72(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -489,116 +476,116 @@ TEXT ·ladderstep(SB),0,$384-8
        IMUL3Q $19,CX,CX
        ADDQ CX,SI
        ANDQ DX,R10
-       MOVQ SI,96(SP)
-       MOVQ R8,104(SP)
-       MOVQ R9,112(SP)
-       MOVQ AX,120(SP)
-       MOVQ R10,128(SP)
-       MOVQ 320(SP),SI
+       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,256(SP)
-       MULQ 72(SP)
+       MOVQ AX,200(SP)
+       MULQ 16(SP)
        MOVQ AX,SI
        MOVQ DX,CX
-       MOVQ 328(SP),DX
+       MOVQ 272(SP),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,264(SP)
-       MULQ 64(SP)
+       MOVQ AX,208(SP)
+       MULQ 8(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 296(SP),AX
-       MULQ 56(SP)
+       MOVQ 240(SP),AX
+       MULQ 0(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 296(SP),AX
-       MULQ 64(SP)
+       MOVQ 240(SP),AX
+       MULQ 8(SP)
        MOVQ AX,R8
        MOVQ DX,R9
-       MOVQ 296(SP),AX
-       MULQ 72(SP)
+       MOVQ 240(SP),AX
+       MULQ 16(SP)
        MOVQ AX,R10
        MOVQ DX,R11
-       MOVQ 296(SP),AX
-       MULQ 80(SP)
+       MOVQ 240(SP),AX
+       MULQ 24(SP)
        MOVQ AX,R12
        MOVQ DX,R13
-       MOVQ 296(SP),AX
-       MULQ 88(SP)
+       MOVQ 240(SP),AX
+       MULQ 32(SP)
        MOVQ AX,R14
        MOVQ DX,R15
-       MOVQ 304(SP),AX
-       MULQ 56(SP)
+       MOVQ 248(SP),AX
+       MULQ 0(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 304(SP),AX
-       MULQ 64(SP)
+       MOVQ 248(SP),AX
+       MULQ 8(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 304(SP),AX
-       MULQ 72(SP)
+       MOVQ 248(SP),AX
+       MULQ 16(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 304(SP),AX
-       MULQ 80(SP)
+       MOVQ 248(SP),AX
+       MULQ 24(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 304(SP),DX
+       MOVQ 248(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 312(SP),AX
-       MULQ 56(SP)
+       MOVQ 256(SP),AX
+       MULQ 0(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 312(SP),AX
-       MULQ 64(SP)
+       MOVQ 256(SP),AX
+       MULQ 8(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 312(SP),AX
-       MULQ 72(SP)
+       MOVQ 256(SP),AX
+       MULQ 16(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 312(SP),DX
+       MOVQ 256(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 80(SP)
+       MULQ 24(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 312(SP),DX
+       MOVQ 256(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 88(SP)
+       MULQ 32(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 320(SP),AX
-       MULQ 56(SP)
+       MOVQ 264(SP),AX
+       MULQ 0(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 320(SP),AX
-       MULQ 64(SP)
+       MOVQ 264(SP),AX
+       MULQ 8(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 256(SP),AX
-       MULQ 80(SP)
+       MOVQ 200(SP),AX
+       MULQ 24(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 256(SP),AX
-       MULQ 88(SP)
+       MOVQ 200(SP),AX
+       MULQ 32(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 328(SP),AX
-       MULQ 56(SP)
+       MOVQ 272(SP),AX
+       MULQ 0(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 264(SP),AX
-       MULQ 72(SP)
+       MOVQ 208(SP),AX
+       MULQ 16(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 264(SP),AX
-       MULQ 80(SP)
+       MOVQ 208(SP),AX
+       MULQ 24(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 264(SP),AX
-       MULQ 88(SP)
+       MOVQ 208(SP),AX
+       MULQ 32(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -649,16 +636,16 @@ TEXT ·ladderstep(SB),0,$384-8
        ADDQ ·_2P1234(SB),R11
        ADDQ ·_2P1234(SB),R12
        ADDQ ·_2P1234(SB),R13
-       ADDQ 96(SP),SI
-       ADDQ 104(SP),R8
-       ADDQ 112(SP),R9
-       ADDQ 120(SP),AX
-       ADDQ 128(SP),R10
-       SUBQ 96(SP),DX
-       SUBQ 104(SP),CX
-       SUBQ 112(SP),R11
-       SUBQ 120(SP),R12
-       SUBQ 128(SP),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)
@@ -901,13 +888,13 @@ TEXT ·ladderstep(SB),0,$384-8
        MOVQ R10,192(DI)
        MOVQ 184(DI),SI
        IMUL3Q $19,SI,AX
-       MOVQ AX,56(SP)
+       MOVQ AX,0(SP)
        MULQ 16(DI)
        MOVQ AX,SI
        MOVQ DX,CX
        MOVQ 192(DI),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,64(SP)
+       MOVQ AX,8(SP)
        MULQ 8(DI)
        ADDQ AX,SI
        ADCQ DX,CX
@@ -982,11 +969,11 @@ TEXT ·ladderstep(SB),0,$384-8
        MULQ 8(DI)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 56(SP),AX
+       MOVQ 0(SP),AX
        MULQ 24(DI)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 56(SP),AX
+       MOVQ 0(SP),AX
        MULQ 32(DI)
        ADDQ AX,R10
        ADCQ DX,R11
@@ -994,15 +981,15 @@ TEXT ·ladderstep(SB),0,$384-8
        MULQ 0(DI)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 64(SP),AX
+       MOVQ 8(SP),AX
        MULQ 16(DI)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 64(SP),AX
+       MOVQ 8(SP),AX
        MULQ 24(DI)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 64(SP),AX
+       MOVQ 8(SP),AX
        MULQ 32(DI)
        ADDQ AX,R12
        ADCQ DX,R13
@@ -1049,111 +1036,111 @@ TEXT ·ladderstep(SB),0,$384-8
        MOVQ R9,176(DI)
        MOVQ AX,184(DI)
        MOVQ R10,192(DI)
-       MOVQ 200(SP),SI
+       MOVQ 144(SP),SI
        IMUL3Q $19,SI,AX
-       MOVQ AX,56(SP)
-       MULQ 152(SP)
+       MOVQ AX,0(SP)
+       MULQ 96(SP)
        MOVQ AX,SI
        MOVQ DX,CX
-       MOVQ 208(SP),DX
+       MOVQ 152(SP),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,64(SP)
-       MULQ 144(SP)
+       MOVQ AX,8(SP)
+       MULQ 88(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 176(SP),AX
-       MULQ 136(SP)
+       MOVQ 120(SP),AX
+       MULQ 80(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 176(SP),AX
-       MULQ 144(SP)
+       MOVQ 120(SP),AX
+       MULQ 88(SP)
        MOVQ AX,R8
        MOVQ DX,R9
-       MOVQ 176(SP),AX
-       MULQ 152(SP)
+       MOVQ 120(SP),AX
+       MULQ 96(SP)
        MOVQ AX,R10
        MOVQ DX,R11
-       MOVQ 176(SP),AX
-       MULQ 160(SP)
+       MOVQ 120(SP),AX
+       MULQ 104(SP)
        MOVQ AX,R12
        MOVQ DX,R13
-       MOVQ 176(SP),AX
-       MULQ 168(SP)
+       MOVQ 120(SP),AX
+       MULQ 112(SP)
        MOVQ AX,R14
        MOVQ DX,R15
-       MOVQ 184(SP),AX
-       MULQ 136(SP)
+       MOVQ 128(SP),AX
+       MULQ 80(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 184(SP),AX
-       MULQ 144(SP)
+       MOVQ 128(SP),AX
+       MULQ 88(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 184(SP),AX
-       MULQ 152(SP)
+       MOVQ 128(SP),AX
+       MULQ 96(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 184(SP),AX
-       MULQ 160(SP)
+       MOVQ 128(SP),AX
+       MULQ 104(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 184(SP),DX
+       MOVQ 128(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 168(SP)
+       MULQ 112(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 192(SP),AX
-       MULQ 136(SP)
+       MOVQ 136(SP),AX
+       MULQ 80(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 192(SP),AX
-       MULQ 144(SP)
+       MOVQ 136(SP),AX
+       MULQ 88(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 192(SP),AX
-       MULQ 152(SP)
+       MOVQ 136(SP),AX
+       MULQ 96(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 192(SP),DX
+       MOVQ 136(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 160(SP)
+       MULQ 104(SP)
        ADDQ AX,SI
        ADCQ DX,CX
-       MOVQ 192(SP),DX
+       MOVQ 136(SP),DX
        IMUL3Q $19,DX,AX
-       MULQ 168(SP)
+       MULQ 112(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 200(SP),AX
-       MULQ 136(SP)
+       MOVQ 144(SP),AX
+       MULQ 80(SP)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 200(SP),AX
-       MULQ 144(SP)
+       MOVQ 144(SP),AX
+       MULQ 88(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 56(SP),AX
-       MULQ 160(SP)
+       MOVQ 0(SP),AX
+       MULQ 104(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 56(SP),AX
-       MULQ 168(SP)
+       MOVQ 0(SP),AX
+       MULQ 112(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 208(SP),AX
-       MULQ 136(SP)
+       MOVQ 152(SP),AX
+       MULQ 80(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 64(SP),AX
-       MULQ 152(SP)
+       MOVQ 8(SP),AX
+       MULQ 96(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 64(SP),AX
-       MULQ 160(SP)
+       MOVQ 8(SP),AX
+       MULQ 104(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 64(SP),AX
-       MULQ 168(SP)
+       MOVQ 8(SP),AX
+       MULQ 112(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -1199,37 +1186,37 @@ TEXT ·ladderstep(SB),0,$384-8
        MOVQ R9,56(DI)
        MOVQ AX,64(DI)
        MOVQ R10,72(DI)
-       MOVQ 216(SP),AX
+       MOVQ 160(SP),AX
        MULQ ·_121666_213(SB)
        SHRQ $13,AX
        MOVQ AX,SI
        MOVQ DX,CX
-       MOVQ 224(SP),AX
+       MOVQ 168(SP),AX
        MULQ ·_121666_213(SB)
        SHRQ $13,AX
        ADDQ AX,CX
        MOVQ DX,R8
-       MOVQ 232(SP),AX
+       MOVQ 176(SP),AX
        MULQ ·_121666_213(SB)
        SHRQ $13,AX
        ADDQ AX,R8
        MOVQ DX,R9
-       MOVQ 240(SP),AX
+       MOVQ 184(SP),AX
        MULQ ·_121666_213(SB)
        SHRQ $13,AX
        ADDQ AX,R9
        MOVQ DX,R10
-       MOVQ 248(SP),AX
+       MOVQ 192(SP),AX
        MULQ ·_121666_213(SB)
        SHRQ $13,AX
        ADDQ AX,R10
        IMUL3Q $19,DX,DX
        ADDQ DX,SI
-       ADDQ 136(SP),SI
-       ADDQ 144(SP),CX
-       ADDQ 152(SP),R8
-       ADDQ 160(SP),R9
-       ADDQ 168(SP),R10
+       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)
@@ -1237,109 +1224,109 @@ TEXT ·ladderstep(SB),0,$384-8
        MOVQ R10,112(DI)
        MOVQ 104(DI),SI
        IMUL3Q $19,SI,AX
-       MOVQ AX,56(SP)
-       MULQ 232(SP)
+       MOVQ AX,0(SP)
+       MULQ 176(SP)
        MOVQ AX,SI
        MOVQ DX,CX
        MOVQ 112(DI),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,64(SP)
-       MULQ 224(SP)
+       MOVQ AX,8(SP)
+       MULQ 168(SP)
        ADDQ AX,SI
        ADCQ DX,CX
        MOVQ 80(DI),AX
-       MULQ 216(SP)
+       MULQ 160(SP)
        ADDQ AX,SI
        ADCQ DX,CX
        MOVQ 80(DI),AX
-       MULQ 224(SP)
+       MULQ 168(SP)
        MOVQ AX,R8
        MOVQ DX,R9
        MOVQ 80(DI),AX
-       MULQ 232(SP)
+       MULQ 176(SP)
        MOVQ AX,R10
        MOVQ DX,R11
        MOVQ 80(DI),AX
-       MULQ 240(SP)
+       MULQ 184(SP)
        MOVQ AX,R12
        MOVQ DX,R13
        MOVQ 80(DI),AX
-       MULQ 248(SP)
+       MULQ 192(SP)
        MOVQ AX,R14
        MOVQ DX,R15
        MOVQ 88(DI),AX
-       MULQ 216(SP)
+       MULQ 160(SP)
        ADDQ AX,R8
        ADCQ DX,R9
        MOVQ 88(DI),AX
-       MULQ 224(SP)
+       MULQ 168(SP)
        ADDQ AX,R10
        ADCQ DX,R11
        MOVQ 88(DI),AX
-       MULQ 232(SP)
+       MULQ 176(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ 88(DI),AX
-       MULQ 240(SP)
+       MULQ 184(SP)
        ADDQ AX,R14
        ADCQ DX,R15
        MOVQ 88(DI),DX
        IMUL3Q $19,DX,AX
-       MULQ 248(SP)
+       MULQ 192(SP)
        ADDQ AX,SI
        ADCQ DX,CX
        MOVQ 96(DI),AX
-       MULQ 216(SP)
+       MULQ 160(SP)
        ADDQ AX,R10
        ADCQ DX,R11
        MOVQ 96(DI),AX
-       MULQ 224(SP)
+       MULQ 168(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ 96(DI),AX
-       MULQ 232(SP)
+       MULQ 176(SP)
        ADDQ AX,R14
        ADCQ DX,R15
        MOVQ 96(DI),DX
        IMUL3Q $19,DX,AX
-       MULQ 240(SP)
+       MULQ 184(SP)
        ADDQ AX,SI
        ADCQ DX,CX
        MOVQ 96(DI),DX
        IMUL3Q $19,DX,AX
-       MULQ 248(SP)
+       MULQ 192(SP)
        ADDQ AX,R8
        ADCQ DX,R9
        MOVQ 104(DI),AX
-       MULQ 216(SP)
+       MULQ 160(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ 104(DI),AX
-       MULQ 224(SP)
+       MULQ 168(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 56(SP),AX
-       MULQ 240(SP)
+       MOVQ 0(SP),AX
+       MULQ 184(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 56(SP),AX
-       MULQ 248(SP)
+       MOVQ 0(SP),AX
+       MULQ 192(SP)
        ADDQ AX,R10
        ADCQ DX,R11
        MOVQ 112(DI),AX
-       MULQ 216(SP)
+       MULQ 160(SP)
        ADDQ AX,R14
        ADCQ DX,R15
-       MOVQ 64(SP),AX
-       MULQ 232(SP)
+       MOVQ 8(SP),AX
+       MULQ 176(SP)
        ADDQ AX,R8
        ADCQ DX,R9
-       MOVQ 64(SP),AX
-       MULQ 240(SP)
+       MOVQ 8(SP),AX
+       MULQ 184(SP)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 64(SP),AX
-       MULQ 248(SP)
+       MOVQ 8(SP),AX
+       MULQ 192(SP)
        ADDQ AX,R12
        ADCQ DX,R13
        MOVQ ·REDMASK51(SB),DX
@@ -1385,14 +1372,4 @@ TEXT ·ladderstep(SB),0,$384-8
        MOVQ R9,96(DI)
        MOVQ AX,104(DI)
        MOVQ R10,112(DI)
-       MOVQ 0(SP),R11
-       MOVQ 8(SP),R12
-       MOVQ 16(SP),R13
-       MOVQ 24(SP),R14
-       MOVQ 32(SP),R15
-       MOVQ 40(SP),BX
-       MOVQ 48(SP),BP
-       MOVQ R11,SP
-       MOVQ DI,AX
-       MOVQ SI,DX
        RET
index e48d183ee567411901728d1f92272cf9a9692a8a..33ce57dcded44a9a7c7e457a5e6b2693d802c98e 100644 (file)
@@ -8,35 +8,21 @@
 // +build amd64,!gccgo,!appengine
 
 // func mul(dest, a, b *[5]uint64)
-TEXT ·mul(SB),0,$128-24
+TEXT ·mul(SB),0,$16-24
        MOVQ dest+0(FP), DI
        MOVQ a+8(FP), SI
        MOVQ b+16(FP), DX
 
-       MOVQ SP,R11
-       MOVQ $31,CX
-       NOTQ CX
-       ANDQ CX,SP
-       ADDQ $32,SP
-
-       MOVQ R11,0(SP)
-       MOVQ R12,8(SP)
-       MOVQ R13,16(SP)
-       MOVQ R14,24(SP)
-       MOVQ R15,32(SP)
-       MOVQ BX,40(SP)
-       MOVQ BP,48(SP)
-       MOVQ DI,56(SP)
        MOVQ DX,CX
        MOVQ 24(SI),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,64(SP)
+       MOVQ AX,0(SP)
        MULQ 16(CX)
        MOVQ AX,R8
        MOVQ DX,R9
        MOVQ 32(SI),DX
        IMUL3Q $19,DX,AX
-       MOVQ AX,72(SP)
+       MOVQ AX,8(SP)
        MULQ 8(CX)
        ADDQ AX,R8
        ADCQ DX,R9
@@ -111,11 +97,11 @@ TEXT ·mul(SB),0,$128-24
        MULQ 8(CX)
        ADDQ AX,BX
        ADCQ DX,BP
-       MOVQ 64(SP),AX
+       MOVQ 0(SP),AX
        MULQ 24(CX)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 64(SP),AX
+       MOVQ 0(SP),AX
        MULQ 32(CX)
        ADDQ AX,R12
        ADCQ DX,R13
@@ -123,15 +109,15 @@ TEXT ·mul(SB),0,$128-24
        MULQ 0(CX)
        ADDQ AX,BX
        ADCQ DX,BP
-       MOVQ 72(SP),AX
+       MOVQ 8(SP),AX
        MULQ 16(CX)
        ADDQ AX,R10
        ADCQ DX,R11
-       MOVQ 72(SP),AX
+       MOVQ 8(SP),AX
        MULQ 24(CX)
        ADDQ AX,R12
        ADCQ DX,R13
-       MOVQ 72(SP),AX
+       MOVQ 8(SP),AX
        MULQ 32(CX)
        ADDQ AX,R14
        ADCQ DX,R15
@@ -178,14 +164,4 @@ TEXT ·mul(SB),0,$128-24
        MOVQ R9,16(DI)
        MOVQ AX,24(DI)
        MOVQ R10,32(DI)
-       MOVQ 0(SP),R11
-       MOVQ 8(SP),R12
-       MOVQ 16(SP),R13
-       MOVQ 24(SP),R14
-       MOVQ 32(SP),R15
-       MOVQ 40(SP),BX
-       MOVQ 48(SP),BP
-       MOVQ R11,SP
-       MOVQ DI,AX
-       MOVQ SI,DX
        RET
index 78d1a50ddca139c0dfe98abb478c8434394176bc..3a92804ddf380df22d98317ae5fa8f0d92bdb176 100644 (file)
@@ -8,23 +8,10 @@
 // +build amd64,!gccgo,!appengine
 
 // func square(out, in *[5]uint64)
-TEXT ·square(SB),7,$96-16
+TEXT ·square(SB),7,$0-16
        MOVQ out+0(FP), DI
        MOVQ in+8(FP), SI
 
-       MOVQ SP,R11
-       MOVQ $31,CX
-       NOTQ CX
-       ANDQ CX,SP
-       ADDQ $32, SP
-
-       MOVQ R11,0(SP)
-       MOVQ R12,8(SP)
-       MOVQ R13,16(SP)
-       MOVQ R14,24(SP)
-       MOVQ R15,32(SP)
-       MOVQ BX,40(SP)
-       MOVQ BP,48(SP)
        MOVQ 0(SI),AX
        MULQ 0(SI)
        MOVQ AX,CX
@@ -140,14 +127,4 @@ TEXT ·square(SB),7,$96-16
        MOVQ R9,16(DI)
        MOVQ AX,24(DI)
        MOVQ R10,32(DI)
-       MOVQ 0(SP),R11
-       MOVQ 8(SP),R12
-       MOVQ 16(SP),R13
-       MOVQ 24(SP),R14
-       MOVQ 32(SP),R15
-       MOVQ 40(SP),BX
-       MOVQ 48(SP),BP
-       MOVQ R11,SP
-       MOVQ DI,AX
-       MOVQ SI,DX
        RET