Update aead/chacha20 again
This commit is contained in:
parent
a3f51cfea9
commit
031c9c45d5
|
@ -23,7 +23,7 @@
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "github.com/aead/chacha20"
|
name = "github.com/aead/chacha20"
|
||||||
packages = ["chacha"]
|
packages = ["chacha"]
|
||||||
revision = "0a02eb8dd59b95937590a847165c4d0b97032422"
|
revision = "8457f65383c5be6183d33e992fbf1786d6ab3e76"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
|
|
@ -21,10 +21,10 @@
|
||||||
TEXT ·xorKeyStreamAVX2(SB), 4, $320-80
|
TEXT ·xorKeyStreamAVX2(SB), 4, $320-80
|
||||||
MOVQ dst_base+0(FP), DI
|
MOVQ dst_base+0(FP), DI
|
||||||
MOVQ src_base+24(FP), SI
|
MOVQ src_base+24(FP), SI
|
||||||
MOVQ src_len+32(FP), CX
|
|
||||||
MOVQ block+48(FP), BX
|
MOVQ block+48(FP), BX
|
||||||
MOVQ state+56(FP), AX
|
MOVQ state+56(FP), AX
|
||||||
MOVQ rounds+64(FP), DX
|
MOVQ rounds+64(FP), DX
|
||||||
|
MOVQ src_len+32(FP), CX
|
||||||
|
|
||||||
MOVQ SP, R8
|
MOVQ SP, R8
|
||||||
ADDQ $32, SP
|
ADDQ $32, SP
|
||||||
|
|
|
@ -47,7 +47,7 @@ TEXT ·supportsSSSE3(SB), NOSPLIT, $0-1
|
||||||
#define Dst DI
|
#define Dst DI
|
||||||
#define Nonce AX
|
#define Nonce AX
|
||||||
#define Key BX
|
#define Key BX
|
||||||
#define Rounds CX
|
#define Rounds DX
|
||||||
|
|
||||||
// func hChaCha20SSE2(out *[32]byte, nonce *[16]byte, key *[32]byte)
|
// func hChaCha20SSE2(out *[32]byte, nonce *[16]byte, key *[32]byte)
|
||||||
TEXT ·hChaCha20SSE2(SB), 4, $0-12
|
TEXT ·hChaCha20SSE2(SB), 4, $0-12
|
||||||
|
@ -117,9 +117,9 @@ chacha_loop:
|
||||||
TEXT ·xorKeyStreamSSE2(SB), 4, $0-40
|
TEXT ·xorKeyStreamSSE2(SB), 4, $0-40
|
||||||
MOVL dst_base+0(FP), Dst
|
MOVL dst_base+0(FP), Dst
|
||||||
MOVL src_base+12(FP), Src
|
MOVL src_base+12(FP), Src
|
||||||
MOVL src_len+16(FP), Len
|
|
||||||
MOVL state+28(FP), State
|
MOVL state+28(FP), State
|
||||||
MOVL rounds+32(FP), Rounds
|
MOVL rounds+32(FP), Rounds
|
||||||
|
MOVL src_len+16(FP), Len
|
||||||
|
|
||||||
MOVOU 0*16(State), X0
|
MOVOU 0*16(State), X0
|
||||||
MOVOU 1*16(State), X1
|
MOVOU 1*16(State), X1
|
||||||
|
@ -199,9 +199,9 @@ DONE:
|
||||||
TEXT ·xorKeyStreamSSSE3(SB), 4, $80-40
|
TEXT ·xorKeyStreamSSSE3(SB), 4, $80-40
|
||||||
MOVL dst_base+0(FP), Dst
|
MOVL dst_base+0(FP), Dst
|
||||||
MOVL src_base+12(FP), Src
|
MOVL src_base+12(FP), Src
|
||||||
MOVL src_len+16(FP), Len
|
|
||||||
MOVL state+28(FP), Tmp0
|
MOVL state+28(FP), Tmp0
|
||||||
MOVL rounds+32(FP), Rounds
|
MOVL rounds+32(FP), Rounds
|
||||||
|
MOVL src_len+16(FP), Len
|
||||||
|
|
||||||
MOVL Stack, Tmp2 // save stack pointer
|
MOVL Stack, Tmp2 // save stack pointer
|
||||||
ADDL $16, Stack // ensure 16 byte stack alignment
|
ADDL $16, Stack // ensure 16 byte stack alignment
|
||||||
|
@ -211,6 +211,7 @@ TEXT ·xorKeyStreamSSSE3(SB), 4, $80-40
|
||||||
MOVOU 1*16(Tmp0), X1
|
MOVOU 1*16(Tmp0), X1
|
||||||
MOVOU 2*16(Tmp0), X2
|
MOVOU 2*16(Tmp0), X2
|
||||||
MOVOU 3*16(Tmp0), X3
|
MOVOU 3*16(Tmp0), X3
|
||||||
|
|
||||||
TESTL Len, Len
|
TESTL Len, Len
|
||||||
JZ DONE
|
JZ DONE
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ TEXT ·supportsAVX2(SB), 4, $0-1
|
||||||
#define Dst DI
|
#define Dst DI
|
||||||
#define Nonce AX
|
#define Nonce AX
|
||||||
#define Key BX
|
#define Key BX
|
||||||
#define Rounds CX
|
#define Rounds DX
|
||||||
|
|
||||||
// func initialize(state *[64]byte, key []byte, nonce *[16]byte)
|
// func initialize(state *[64]byte, key []byte, nonce *[16]byte)
|
||||||
TEXT ·initialize(SB), 4, $0-40
|
TEXT ·initialize(SB), 4, $0-40
|
||||||
|
@ -166,10 +166,10 @@ chacha_loop:
|
||||||
TEXT ·xorKeyStreamSSE2(SB), 4, $112-80
|
TEXT ·xorKeyStreamSSE2(SB), 4, $112-80
|
||||||
MOVQ dst_base+0(FP), Dst
|
MOVQ dst_base+0(FP), Dst
|
||||||
MOVQ src_base+24(FP), Src
|
MOVQ src_base+24(FP), Src
|
||||||
MOVQ src_len+32(FP), Len
|
|
||||||
MOVQ block+48(FP), Buffer
|
MOVQ block+48(FP), Buffer
|
||||||
MOVQ state+56(FP), State
|
MOVQ state+56(FP), State
|
||||||
MOVQ rounds+64(FP), Rounds
|
MOVQ rounds+64(FP), Rounds
|
||||||
|
MOVQ src_len+32(FP), Len
|
||||||
|
|
||||||
MOVOU 0*16(State), X0
|
MOVOU 0*16(State), X0
|
||||||
MOVOU 1*16(State), X1
|
MOVOU 1*16(State), X1
|
||||||
|
@ -462,10 +462,10 @@ DONE:
|
||||||
TEXT ·xorKeyStreamSSSE3(SB), 4, $144-80
|
TEXT ·xorKeyStreamSSSE3(SB), 4, $144-80
|
||||||
MOVQ dst_base+0(FP), Dst
|
MOVQ dst_base+0(FP), Dst
|
||||||
MOVQ src_base+24(FP), Src
|
MOVQ src_base+24(FP), Src
|
||||||
MOVQ src_len+32(FP), Len
|
|
||||||
MOVQ block+48(FP), Buffer
|
MOVQ block+48(FP), Buffer
|
||||||
MOVQ state+56(FP), State
|
MOVQ state+56(FP), State
|
||||||
MOVQ rounds+64(FP), Rounds
|
MOVQ rounds+64(FP), Rounds
|
||||||
|
MOVQ src_len+32(FP), Len
|
||||||
|
|
||||||
MOVOU 0*16(State), X0
|
MOVOU 0*16(State), X0
|
||||||
MOVOU 1*16(State), X1
|
MOVOU 1*16(State), X1
|
||||||
|
@ -773,10 +773,10 @@ DONE:
|
||||||
TEXT ·xorKeyStreamAVX(SB), 4, $144-80
|
TEXT ·xorKeyStreamAVX(SB), 4, $144-80
|
||||||
MOVQ dst_base+0(FP), Dst
|
MOVQ dst_base+0(FP), Dst
|
||||||
MOVQ src_base+24(FP), Src
|
MOVQ src_base+24(FP), Src
|
||||||
MOVQ src_len+32(FP), Len
|
|
||||||
MOVQ block+48(FP), Buffer
|
MOVQ block+48(FP), Buffer
|
||||||
MOVQ state+56(FP), State
|
MOVQ state+56(FP), State
|
||||||
MOVQ rounds+64(FP), Rounds
|
MOVQ rounds+64(FP), Rounds
|
||||||
|
MOVQ src_len+32(FP), Len
|
||||||
|
|
||||||
VMOVDQU 0*16(State), X0
|
VMOVDQU 0*16(State), X0
|
||||||
VMOVDQU 1*16(State), X1
|
VMOVDQU 1*16(State), X1
|
||||||
|
|
Loading…
Reference in New Issue