• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

aesni/H06-Jun-2021-270222

fat/H06-Jun-2021-417284

sha_ni/H06-Jun-2021-325257

READMEH A D06-Jun-20211.4 KiB7260

aes-decrypt-internal.asmH A D06-Jun-20213.3 KiB153118

aes-encrypt-internal.asmH A D06-Jun-20213.3 KiB154118

aes.m4H A D06-Jun-20212.8 KiB131118

camellia-crypt-internal.asmH A D06-Jun-20214 KiB203170

chacha-core-internal.asmH A D06-Jun-20212.5 KiB129106

ecc-curve25519-modp.asmH A D06-Jun-20212.1 KiB10179

ecc-curve448-modp.asmH A D06-Jun-20212.6 KiB148124

ecc-secp192r1-modp.asmH A D06-Jun-20211.9 KiB9170

ecc-secp224r1-modp.asmH A D06-Jun-20212.7 KiB136111

ecc-secp256r1-redc.asmH A D06-Jun-20212.5 KiB134111

ecc-secp384r1-modp.asmH A D06-Jun-20214.1 KiB239200

ecc-secp521r1-modp.asmH A D06-Jun-20212.8 KiB163135

gcm-hash8.asmH A D06-Jun-20216.4 KiB241208

machine.m4H A D06-Jun-20213.5 KiB168160

md5-compress.asmH A D06-Jun-20215.8 KiB177149

memxor.asmH A D06-Jun-20213.2 KiB174132

memxor3.asmH A D06-Jun-20214.9 KiB264215

poly1305-internal.asmH A D06-Jun-20213.9 KiB187160

salsa20-2core.asmH A D06-Jun-20216.2 KiB319271

salsa20-core-internal.asmH A D06-Jun-20212.6 KiB11288

salsa20.m4H A D06-Jun-2021792 4641

serpent-decrypt.asmH A D06-Jun-202110.3 KiB717641

serpent-encrypt.asmH A D06-Jun-202112 KiB752674

serpent.m4H A D06-Jun-20212.4 KiB9577

sha1-compress.asmH A D06-Jun-20217.7 KiB308262

sha256-compress.asmH A D06-Jun-20214.6 KiB211184

sha3-permute.asmH A D06-Jun-202110.4 KiB525447

sha512-compress.asmH A D06-Jun-20214.6 KiB211184

umac-nh-n.asmH A D06-Jun-20215.3 KiB276230

umac-nh.asmH A D06-Jun-20211.9 KiB8266

README

1ABI, according to http://www.x86-64.org/documentation/abi-0.99.pdf:
2
3Up to 6 integer and pointer arguments are passed in registers. Nine
4registers, %rax, %rcx, %rdx, %rsi, %rdi and %r8-%r11 can be used
5freely. Integers and pointers are returned in %rax.
6
7At entry, it is required that %rsp == 8 (mod 16).
8
9Registers	May be		Argument
10		clobbered	number
11
12%rax 		Y
13%rbx
14%rcx		Y		4
15%rdx		Y		3
16%rbp
17%rsi		Y		2
18%rdi		Y		1
19%rsp		(SP)
20%r8		Y		5
21%r9		Y		6
22%r10		Y
23%r11		Y
24%r12
25%r13
26%r14
27%r15
28
29W64 ABI, according to
30http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx:
31
32Registers	May be		Argument
33		clobbered	number
34
35%rax 		Y
36%rbx
37%rcx		Y		1
38%rdx		Y		2
39%rbp
40%rsi
41%rdi
42%rsp		(SP)
43%r8		Y		3
44%r9		Y		4
45%r10		Y
46%r11		Y
47%r12
48%r13
49%r14
50%r15
51
52Additional arguments are passed on the stack. "backing store" on the
53stack for the four register arguments is also required. %xmm6 to
54%xmm15 are callee-saved. The "long" type is just 32 bits.
55
56If we have six arguments, and push the additional callee-save
57registers %rdi and %rsi on the stack, we get a stack frame like
58
5964(%rsp): Sixth argument
6056(%rsp): Fifth argument
6148(%rsp): Space for fourth argument
6240(%rsp): Space for third argument
6332(%rsp): Space for second argument
6424(%rsp): Space for first argument
6516(%rsp): Return address
668(%rsp) : Saved %rdi
67(%rsp): Saved %rsi
68
69If, in addition, we use more than 6 %xmm registers, we push them
70*after* %rdi (but before %rsi), so that they are stored at 16-byte
71aligned addresses.
72