/
githubmirror
/
nettle
ОбзорДокументацияВойти
/
githubmirror
/
nettle
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
nettle/
x86_64/
..
aesni

Change order of aes decryption subkeys, update C and x86_64 implementations.

3 года назад
fat

Implement _nettle_sha256_compress_n, C and x86_64 asm

4 года назад
pclmul

Merge branch 'x86_ghash' into 'master'

3 года назад
sha_ni

Implement _nettle_sha256_compress_n, C and x86_64 asm

4 года назад
README

Fixes for w64 ABI.

12 лет назад
aes-decrypt-internal.asm

Change _nettle_aes_decrypt to pass pointer to last subkey.

3 года назад
aes-encrypt-internal.asm

Use default m4 quote character in asm files, part 1

6 лет назад
aes.m4

Merge commit '1c88685a3421753509772823c05f3355ff6486ee'

6 лет назад
camellia-crypt-internal.asm

Use default m4 quote character in asm files, part 1

6 лет назад
chacha-core-internal.asm

Use default m4 quote character in asm files, part 1

6 лет назад
ecc-curve25519-modp.asm

Fix filenames in two ecc-curve25519-modp.asm files.

2 года назад
ecc-curve448-modp.asm

Update x86_64 assembly mod functions

6 лет назад
ecc-secp192r1-modp.asm

x86_64: Comment fixes.

3 года назад
ecc-secp224r1-modp.asm

x86_64: Comment fixes.

3 года назад
ecc-secp256r1-redc.asm

x86_64: Improved ecc_secp256r1_redc

5 лет назад
ecc-secp384r1-modp.asm

Update x86_64 assembly mod functions

6 лет назад
ecc-secp521r1-modp.asm

Update x86_64 assembly mod functions

6 лет назад
ghash-update.asm

x86_64: Fix alignment bug in _nettle_ghash_update.

3 года назад
machine.m4

Use default m4 quote character in asm files, part 1

6 лет назад
memxor.asm

Use default m4 quote character in asm files, part 1

6 лет назад
memxor3.asm

Use default m4 quote character in asm files, part 1

6 лет назад
poly1305-blocks.asm

x86_64: Implement _nettle_poly1305_blocks.

4 года назад
poly1305-internal.asm

Minor comment fix.

4 года назад
salsa20-2core.asm

Use default m4 quote character in asm files, part 1

6 лет назад
salsa20-core-internal.asm

Use default m4 quote character in asm files, part 1

6 лет назад
salsa20.m4

Use default m4 quote character in asm files, part 1

6 лет назад
serpent-decrypt.asm

Use default m4 quote character in asm files, part 1

6 лет назад
serpent-encrypt.asm

Use default m4 quote character in asm files, part 1

6 лет назад
serpent.m4

Use default m4 quote character in asm files, part 1

6 лет назад
sha1-compress.asm

Use default m4 quote character in asm files, part 1

6 лет назад
sha256-compress-n.asm

x86_64: Fix incorrect w64 setup in sha256_compress_n.asm.

3 года назад
sha3-permute.asm

Use default m4 quote character in asm files, part 1

6 лет назад
sha512-compress.asm

Use default m4 quote character in asm files, part 1

6 лет назад
umac-nh-n.asm

Use default m4 quote character in asm files, part 1

6 лет назад
umac-nh.asm

Use default m4 quote character in asm files, part 1

6 лет назад
README
ABI, according to http://www.x86-64.org/documentation/abi-0.99.pdf:
 
Up to 6 integer and pointer arguments are passed in registers. Nine
registers, %rax, %rcx, %rdx, %rsi, %rdi and %r8-%r11 can be used
freely. Integers and pointers are returned in %rax.
 
At entry, it is required that %rsp == 8 (mod 16).
 
Registers May be Argument
clobbered number
 
%rax Y
%rbx
%rcx Y 4
%rdx Y 3
%rbp
%rsi Y 2
%rdi Y 1
%rsp (SP)
%r8 Y 5
%r9 Y 6
%r10 Y
%r11 Y
%r12
%r13
%r14
%r15
 
W64 ABI, according to
http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx:
 
Registers May be Argument
clobbered number
 
%rax Y
%rbx
%rcx Y 1
%rdx Y 2
%rbp
%rsi
%rdi
%rsp (SP)
%r8 Y 3
%r9 Y 4
%r10 Y
%r11 Y
%r12
%r13
%r14
%r15
 
Additional arguments are passed on the stack. "backing store" on the
stack for the four register arguments is also required. %xmm6 to
%xmm15 are callee-saved. The "long" type is just 32 bits.
 
If we have six arguments, and push the additional callee-save
registers %rdi and %rsi on the stack, we get a stack frame like
 
64(%rsp): Sixth argument
56(%rsp): Fifth argument
48(%rsp): Space for fourth argument
40(%rsp): Space for third argument
32(%rsp): Space for second argument
24(%rsp): Space for first argument
16(%rsp): Return address
8(%rsp) : Saved %rdi
(%rsp): Saved %rsi
 
If, in addition, we use more than 6 %xmm registers, we push them
*after* %rdi (but before %rsi), so that they are stored at 16-byte
aligned addresses.