summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2022-10-30 11:15:47 +0100
committerNiels Möller <nisse@lysator.liu.se>2022-10-30 11:15:47 +0100
commit261f52f4590d4bc8fbaa8762c72bdedf8fbc629a (patch)
treee1e5fd89d49c3421a51b388b21a00f77824222df
parentf72c33d46a9c4e5c3d205562cf4b2b86109c7d9e (diff)
downloadnettle-261f52f4590d4bc8fbaa8762c72bdedf8fbc629a.tar.gz
Delete old copy
-rw-r--r--x86_64/poly1305-internal.asm104
1 files changed, 0 insertions, 104 deletions
diff --git a/x86_64/poly1305-internal.asm b/x86_64/poly1305-internal.asm
index 95c39a91..7ce415a4 100644
--- a/x86_64/poly1305-internal.asm
+++ b/x86_64/poly1305-internal.asm
@@ -160,110 +160,6 @@ undefine(`H1')
undefine(`F0')
undefine(`F1')
-C const uint8_t *
-C _nettle_poly1305_blocks (struct poly1305_ctx *ctx, size_t blocks, const uint8_t *m)
-
-define(`BLOCKS', `%rsi')
-define(`MP_PARAM', `%rdx') C Moved to MP, to not collide with mul instruction.
-
-define(`MP', `%r8') C May clobber, both with unix and windows conventions.
-define(`T0', `%rbx')
-define(`T1', `%rcx')
-define(`H0', `%rbp')
-define(`H1', `%r9')
-define(`H2', `%r10')
-define(`F0', `%r11')
-define(`F1', `%r12')
-PROLOGUE(_nettle_poly1305_blocks)
- W64_ENTRY(3, 0)
- mov MP_PARAM, MP
- test BLOCKS, BLOCKS
- jz .Lend
-
- push %rbx
- push %rbp
- push %r12
- mov P1305_H0 (CTX), H0
- mov P1305_H1 (CTX), H1
- mov P1305_H2 (CTX), H2
- ALIGN(16)
-.Loop:
- mov (MP), T0
- mov 8(MP), T1
- add $16, MP
-
- add H0, T0
- adc H1, T1
- adc $1, H2
-
- mov P1305_R1 (CTX), %rax
- mul T0 C R1*T0
- mov %rax, F0
- mov %rdx, F1
-
- mov T0, %rax C Last use of T0 input
- mov P1305_R0 (CTX), T0
- mul T0 C R0*T0
- mov %rax, H0
- mov %rdx, H1
-
- mov T1, %rax
- mul T0 C R0*T1
- add %rax, F0
- adc %rdx, F1
-
- mov P1305_S1 (CTX), T0
- mov T1, %rax C Last use of T1 input
- mul T0 C S1*T1
- add %rax, H0
- adc %rdx, H1
-
- mov H2, %rax
- mul T0 C S1*H2
- add %rax, F0
- adc %rdx, F1
-
- mov H2, T0
- and $3, H2
-
- shr $2, T0
- mov P1305_S0 (CTX), %rax
- mul T0 C S0*(H2 >> 2)
- add %rax, H0
- adc %rdx, H1
-
- imul P1305_R0 (CTX), H2 C R0*(H2 & 3)
- add F0, H1
- adc F1, H2
-
- dec BLOCKS
- jnz .Loop
-
- mov H0, P1305_H0 (CTX)
- mov H1, P1305_H1 (CTX)
- mov H2, P1305_H2 (CTX)
-
- pop %r12
- pop %rbp
- pop %rbx
-
-.Lend:
- mov MP, %rax
- W64_EXIT(3, 0)
- ret
-EPILOGUE(_nettle_poly1305_blocks)
-undefine(`BLOCKS')
-undefine(`MP_PARAM')
-undefine(`MP')
-undefine(`T0', `%rbx')
-undefine(`T1', `%rcx')
-undefine(`H0', `%r8')
-undefine(`H1', `%r9')
-undefine(`H2', `%r10')
-undefine(`F0', `%r11')
-undefine(`F1', `%r12')
-
-
C _poly1305_digest (struct poly1305_ctx *ctx, uint8_t *s)
define(`S', `%rsi')