diff --git a/curve25519/freeze_amd64.s b/curve25519/freeze_amd64.s index 37599fa..932800b 100644 --- a/curve25519/freeze_amd64.s +++ b/curve25519/freeze_amd64.s @@ -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 diff --git a/curve25519/ladderstep_amd64.s b/curve25519/ladderstep_amd64.s index 3949f9c..af17c0a 100644 --- a/curve25519/ladderstep_amd64.s +++ b/curve25519/ladderstep_amd64.s @@ -8,15 +8,9 @@ // +build amd64,!gccgo,!appengine // func ladderstep(inout *[5][5]uint64) -TEXT ·ladderstep(SB),0,$384-8 +TEXT ·ladderstep(SB),0,$352-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) @@ -1392,7 +1386,6 @@ TEXT ·ladderstep(SB),0,$384-8 MOVQ 32(SP),R15 MOVQ 40(SP),BX MOVQ 48(SP),BP - MOVQ R11,SP MOVQ DI,AX MOVQ SI,DX RET diff --git a/curve25519/mul_amd64.s b/curve25519/mul_amd64.s index e48d183..bf1af83 100644 --- a/curve25519/mul_amd64.s +++ b/curve25519/mul_amd64.s @@ -8,17 +8,11 @@ // +build amd64,!gccgo,!appengine // func mul(dest, a, b *[5]uint64) -TEXT ·mul(SB),0,$128-24 +TEXT ·mul(SB),0,$80-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) @@ -185,7 +179,6 @@ TEXT ·mul(SB),0,$128-24 MOVQ 32(SP),R15 MOVQ 40(SP),BX MOVQ 48(SP),BP - MOVQ R11,SP MOVQ DI,AX MOVQ SI,DX RET diff --git a/curve25519/square_amd64.s b/curve25519/square_amd64.s index 78d1a50..3a92804 100644 --- a/curve25519/square_amd64.s +++ b/curve25519/square_amd64.s @@ -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