TEXT ·aesEncBlock(SB),NOSPLIT,$0
MOVQ dst+0(FP), DI
MOVQ src+8(FP), SI
- MOVQ ks+16(FP), DX
- MOVQ ks+24(FP), CX
+ MOVQ ks_base+16(FP), DX
+ MOVQ ks_len+24(FP), CX
SHRQ $2, CX
DECQ CX
#define NR DX
MOVQ productTable+0(FP), dst
- MOVQ ks+8(FP), KS
- MOVQ ks+16(FP), NR
+ MOVQ ks_base+8(FP), KS
+ MOVQ ks_len+16(FP), NR
SHRQ $2, NR
DECQ NR
#define autLen DX
MOVQ productTable+0(FP), pTbl
- MOVQ data+8(FP), aut
- MOVQ data+16(FP), autLen
+ MOVQ data_base+8(FP), aut
+ MOVQ data_len+16(FP), autLen
MOVQ T+32(FP), tPtr
PXOR ACC0, ACC0
#undef autLen
// func gcmAesEnc(productTable *[256]byte, dst, src []byte, ctr, T *[16]byte, ks []uint32)
-TEXT ·gcmAesEnc(SB),0,$256-144
+TEXT ·gcmAesEnc(SB),0,$256-96
#define pTbl DI
#define ctx DX
#define ctrPtr CX
MOVQ productTable+0(FP), pTbl
MOVQ dst+8(FP), ctx
- MOVQ src+32(FP), ptx
- MOVQ src+40(FP), ptxLen
+ MOVQ src_base+32(FP), ptx
+ MOVQ src_len+40(FP), ptxLen
MOVQ ctr+56(FP), ctrPtr
MOVQ T+64(FP), tPtr
- MOVQ KS+72(FP), ks
- MOVQ nr+80(FP), NR
+ MOVQ ks_base+72(FP), ks
+ MOVQ ks_len+80(FP), NR
SHRQ $2, NR
DECQ NR
#undef increment
// func gcmAesDec(productTable *[256]byte, dst, src []byte, ctr, T *[16]byte, ks []uint32)
-TEXT ·gcmAesDec(SB),0,$128-144
+TEXT ·gcmAesDec(SB),0,$128-96
#define increment(i) ADDL $1, aluCTR; MOVL aluCTR, aluTMP; XORL aluK, aluTMP; BSWAPL aluTMP; MOVL aluTMP, (3*4 + i*16)(SP)
#define combinedDecRound(i) \
MOVOU (16*i)(ks), T0;\
MOVQ productTable+0(FP), pTbl
MOVQ dst+8(FP), ptx
- MOVQ src+32(FP), ctx
- MOVQ src+40(FP), ptxLen
+ MOVQ src_base+32(FP), ctx
+ MOVQ src_len+40(FP), ptxLen
MOVQ ctr+56(FP), ctrPtr
MOVQ T+64(FP), tPtr
- MOVQ KS+72(FP), ks
- MOVQ nr+80(FP), NR
+ MOVQ ks_base+72(FP), ks
+ MOVQ ks_len+80(FP), NR
SHRQ $2, NR
DECQ NR