mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Move the sandy2x implementation into a single file
This commit is contained in:
@@ -200,21 +200,16 @@ if HAVE_AMD64_ASM
|
||||
libsodium_la_SOURCES += \
|
||||
crypto_stream/salsa20/amd64_xmm6/api.h \
|
||||
crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/consts.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/consts_namespace.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c \
|
||||
crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51_invert.c \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51_mul.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe51_pack.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder_base.S \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder_base.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h \
|
||||
crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
REDMASK51 is from amd64-51/consts.s.
|
||||
*/
|
||||
|
||||
#ifdef __linux__
|
||||
# error This is a work in progress, which is known *NOT* to work on Linux
|
||||
# error Please do not fill a bug report at this point
|
||||
#endif
|
||||
|
||||
#include "consts_namespace.h"
|
||||
.data
|
||||
.globl v0_0
|
||||
.globl v1_0
|
||||
.globl v2_1
|
||||
.globl v2_2
|
||||
.globl v9_0
|
||||
.globl v9_9
|
||||
.globl v19_19
|
||||
.globl v38_1
|
||||
.globl v38_19
|
||||
.globl v38_38
|
||||
.globl v121666_121666
|
||||
.globl m25
|
||||
.globl m26
|
||||
.globl subc0
|
||||
.globl subc2
|
||||
.globl REDMASK51
|
||||
.p2align 4
|
||||
v0_0: .quad 0, 0
|
||||
v1_0: .quad 1, 0
|
||||
v2_1: .quad 2, 1
|
||||
v2_2: .quad 2, 2
|
||||
v9_0: .quad 9, 0
|
||||
v9_9: .quad 9, 9
|
||||
v19_19: .quad 19, 19
|
||||
v38_1: .quad 38, 1
|
||||
v38_19: .quad 38, 19
|
||||
v38_38: .quad 38, 38
|
||||
v121666_121666: .quad 121666, 121666
|
||||
m25: .quad 33554431, 33554431
|
||||
m26: .quad 67108863, 67108863
|
||||
subc0: .quad 0x07FFFFDA, 0x03FFFFFE
|
||||
subc2: .quad 0x07FFFFFE, 0x03FFFFFE
|
||||
REDMASK51: .quad 0x0007FFFFFFFFFFFF
|
||||
@@ -1,189 +0,0 @@
|
||||
/*
|
||||
This file is basically amd64-51/fe25519_mul.s.
|
||||
*/
|
||||
#include "fe51_namespace.h"
|
||||
#include "consts_namespace.h"
|
||||
.text
|
||||
.p2align 5
|
||||
.globl _fe51_mul
|
||||
.globl fe51_mul
|
||||
_fe51_mul:
|
||||
fe51_mul:
|
||||
mov %rsp,%r11
|
||||
and $31,%r11
|
||||
add $96,%r11
|
||||
sub %r11,%rsp
|
||||
movq %r11,0(%rsp)
|
||||
movq %r12,8(%rsp)
|
||||
movq %r13,16(%rsp)
|
||||
movq %r14,24(%rsp)
|
||||
movq %r15,32(%rsp)
|
||||
movq %rbx,40(%rsp)
|
||||
movq %rbp,48(%rsp)
|
||||
movq %rdi,56(%rsp)
|
||||
mov %rdx,%rcx
|
||||
movq 24(%rsi),%rdx
|
||||
imulq $19,%rdx,%rax
|
||||
movq %rax,64(%rsp)
|
||||
mulq 16(%rcx)
|
||||
mov %rax,%r8
|
||||
mov %rdx,%r9
|
||||
movq 32(%rsi),%rdx
|
||||
imulq $19,%rdx,%rax
|
||||
movq %rax,72(%rsp)
|
||||
mulq 8(%rcx)
|
||||
add %rax,%r8
|
||||
adc %rdx,%r9
|
||||
movq 0(%rsi),%rax
|
||||
mulq 0(%rcx)
|
||||
add %rax,%r8
|
||||
adc %rdx,%r9
|
||||
movq 0(%rsi),%rax
|
||||
mulq 8(%rcx)
|
||||
mov %rax,%r10
|
||||
mov %rdx,%r11
|
||||
movq 0(%rsi),%rax
|
||||
mulq 16(%rcx)
|
||||
mov %rax,%r12
|
||||
mov %rdx,%r13
|
||||
movq 0(%rsi),%rax
|
||||
mulq 24(%rcx)
|
||||
mov %rax,%r14
|
||||
mov %rdx,%r15
|
||||
movq 0(%rsi),%rax
|
||||
mulq 32(%rcx)
|
||||
mov %rax,%rbx
|
||||
mov %rdx,%rbp
|
||||
movq 8(%rsi),%rax
|
||||
mulq 0(%rcx)
|
||||
add %rax,%r10
|
||||
adc %rdx,%r11
|
||||
movq 8(%rsi),%rax
|
||||
mulq 8(%rcx)
|
||||
add %rax,%r12
|
||||
adc %rdx,%r13
|
||||
movq 8(%rsi),%rax
|
||||
mulq 16(%rcx)
|
||||
add %rax,%r14
|
||||
adc %rdx,%r15
|
||||
movq 8(%rsi),%rax
|
||||
mulq 24(%rcx)
|
||||
add %rax,%rbx
|
||||
adc %rdx,%rbp
|
||||
movq 8(%rsi),%rdx
|
||||
imulq $19,%rdx,%rax
|
||||
mulq 32(%rcx)
|
||||
add %rax,%r8
|
||||
adc %rdx,%r9
|
||||
movq 16(%rsi),%rax
|
||||
mulq 0(%rcx)
|
||||
add %rax,%r12
|
||||
adc %rdx,%r13
|
||||
movq 16(%rsi),%rax
|
||||
mulq 8(%rcx)
|
||||
add %rax,%r14
|
||||
adc %rdx,%r15
|
||||
movq 16(%rsi),%rax
|
||||
mulq 16(%rcx)
|
||||
add %rax,%rbx
|
||||
adc %rdx,%rbp
|
||||
movq 16(%rsi),%rdx
|
||||
imulq $19,%rdx,%rax
|
||||
mulq 24(%rcx)
|
||||
add %rax,%r8
|
||||
adc %rdx,%r9
|
||||
movq 16(%rsi),%rdx
|
||||
imulq $19,%rdx,%rax
|
||||
mulq 32(%rcx)
|
||||
add %rax,%r10
|
||||
adc %rdx,%r11
|
||||
movq 24(%rsi),%rax
|
||||
mulq 0(%rcx)
|
||||
add %rax,%r14
|
||||
adc %rdx,%r15
|
||||
movq 24(%rsi),%rax
|
||||
mulq 8(%rcx)
|
||||
add %rax,%rbx
|
||||
adc %rdx,%rbp
|
||||
movq 64(%rsp),%rax
|
||||
mulq 24(%rcx)
|
||||
add %rax,%r10
|
||||
adc %rdx,%r11
|
||||
movq 64(%rsp),%rax
|
||||
mulq 32(%rcx)
|
||||
add %rax,%r12
|
||||
adc %rdx,%r13
|
||||
movq 32(%rsi),%rax
|
||||
mulq 0(%rcx)
|
||||
add %rax,%rbx
|
||||
adc %rdx,%rbp
|
||||
movq 72(%rsp),%rax
|
||||
mulq 16(%rcx)
|
||||
add %rax,%r10
|
||||
adc %rdx,%r11
|
||||
movq 72(%rsp),%rax
|
||||
mulq 24(%rcx)
|
||||
add %rax,%r12
|
||||
adc %rdx,%r13
|
||||
movq 72(%rsp),%rax
|
||||
mulq 32(%rcx)
|
||||
add %rax,%r14
|
||||
adc %rdx,%r15
|
||||
movq REDMASK51(%rip),%rsi
|
||||
shld $13,%r8,%r9
|
||||
and %rsi,%r8
|
||||
shld $13,%r10,%r11
|
||||
and %rsi,%r10
|
||||
add %r9,%r10
|
||||
shld $13,%r12,%r13
|
||||
and %rsi,%r12
|
||||
add %r11,%r12
|
||||
shld $13,%r14,%r15
|
||||
and %rsi,%r14
|
||||
add %r13,%r14
|
||||
shld $13,%rbx,%rbp
|
||||
and %rsi,%rbx
|
||||
add %r15,%rbx
|
||||
imulq $19,%rbp,%rdx
|
||||
add %rdx,%r8
|
||||
mov %r8,%rdx
|
||||
shr $51,%rdx
|
||||
add %r10,%rdx
|
||||
mov %rdx,%rcx
|
||||
shr $51,%rdx
|
||||
and %rsi,%r8
|
||||
add %r12,%rdx
|
||||
mov %rdx,%r9
|
||||
shr $51,%rdx
|
||||
and %rsi,%rcx
|
||||
add %r14,%rdx
|
||||
mov %rdx,%rax
|
||||
shr $51,%rdx
|
||||
and %rsi,%r9
|
||||
add %rbx,%rdx
|
||||
mov %rdx,%r10
|
||||
shr $51,%rdx
|
||||
and %rsi,%rax
|
||||
imulq $19,%rdx,%rdx
|
||||
add %rdx,%r8
|
||||
and %rsi,%r10
|
||||
movq %r8,0(%rdi)
|
||||
movq %rcx,8(%rdi)
|
||||
movq %r9,16(%rdi)
|
||||
movq %rax,24(%rdi)
|
||||
movq %r10,32(%rdi)
|
||||
movq 0(%rsp),%r11
|
||||
movq 8(%rsp),%r12
|
||||
movq 16(%rsp),%r13
|
||||
movq 24(%rsp),%r14
|
||||
movq 32(%rsp),%r15
|
||||
movq 40(%rsp),%rbx
|
||||
movq 48(%rsp),%rbp
|
||||
add %r11,%rsp
|
||||
mov %rdi,%rax
|
||||
mov %rsi,%rdx
|
||||
ret
|
||||
|
||||
#if defined(__linux__) && defined(__ELF__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
#endif
|
||||
@@ -1,165 +0,0 @@
|
||||
/*
|
||||
This file is adapted from amd64-51/fe25519_square.s:
|
||||
Adding loop to perform n squares.
|
||||
*/
|
||||
#include "fe51_namespace.h"
|
||||
#include "consts_namespace.h"
|
||||
.p2align 5
|
||||
|
||||
.globl fe51_nsquare
|
||||
.globl _fe51_nsquare
|
||||
#ifdef __ELF__
|
||||
.type fe51_nsquare, @function
|
||||
.type _fe51_nsquare, @function
|
||||
#endif
|
||||
fe51_nsquare:
|
||||
_fe51_nsquare:
|
||||
|
||||
mov %rsp,%r11
|
||||
and $31,%r11
|
||||
add $64,%r11
|
||||
sub %r11,%rsp
|
||||
movq %r11,0(%rsp)
|
||||
movq %r12,8(%rsp)
|
||||
movq %r13,16(%rsp)
|
||||
movq %r14,24(%rsp)
|
||||
movq %r15,32(%rsp)
|
||||
movq %rbx,40(%rsp)
|
||||
movq %rbp,48(%rsp)
|
||||
movq 0(%rsi),%rcx
|
||||
movq 8(%rsi),%r8
|
||||
movq 16(%rsi),%r9
|
||||
movq 24(%rsi),%rax
|
||||
movq 32(%rsi),%rsi
|
||||
movq %r9,16(%rdi)
|
||||
movq %rax,24(%rdi)
|
||||
movq %rsi,32(%rdi)
|
||||
mov %rdx,%rsi
|
||||
._loop:
|
||||
sub $1,%rsi
|
||||
mov %rcx,%rax
|
||||
mul %rcx
|
||||
add %rcx,%rcx
|
||||
mov %rax,%r9
|
||||
mov %rdx,%r10
|
||||
mov %rcx,%rax
|
||||
mul %r8
|
||||
mov %rax,%r11
|
||||
mov %rdx,%r12
|
||||
mov %rcx,%rax
|
||||
mulq 16(%rdi)
|
||||
mov %rax,%r13
|
||||
mov %rdx,%r14
|
||||
mov %rcx,%rax
|
||||
mulq 24(%rdi)
|
||||
mov %rax,%r15
|
||||
mov %rdx,%rbx
|
||||
mov %rcx,%rax
|
||||
mulq 32(%rdi)
|
||||
mov %rax,%rcx
|
||||
mov %rdx,%rbp
|
||||
mov %r8,%rax
|
||||
mul %r8
|
||||
add %r8,%r8
|
||||
add %rax,%r13
|
||||
adc %rdx,%r14
|
||||
mov %r8,%rax
|
||||
mulq 16(%rdi)
|
||||
add %rax,%r15
|
||||
adc %rdx,%rbx
|
||||
mov %r8,%rax
|
||||
imulq $19, %r8,%r8
|
||||
mulq 24(%rdi)
|
||||
add %rax,%rcx
|
||||
adc %rdx,%rbp
|
||||
mov %r8,%rax
|
||||
mulq 32(%rdi)
|
||||
add %rax,%r9
|
||||
adc %rdx,%r10
|
||||
movq 16(%rdi),%rax
|
||||
mulq 16(%rdi)
|
||||
add %rax,%rcx
|
||||
adc %rdx,%rbp
|
||||
shld $13,%rcx,%rbp
|
||||
movq 16(%rdi),%rax
|
||||
imulq $38, %rax,%rax
|
||||
mulq 24(%rdi)
|
||||
add %rax,%r9
|
||||
adc %rdx,%r10
|
||||
shld $13,%r9,%r10
|
||||
movq 16(%rdi),%rax
|
||||
imulq $38, %rax,%rax
|
||||
mulq 32(%rdi)
|
||||
add %rax,%r11
|
||||
adc %rdx,%r12
|
||||
movq 24(%rdi),%rax
|
||||
imulq $19, %rax,%rax
|
||||
mulq 24(%rdi)
|
||||
add %rax,%r11
|
||||
adc %rdx,%r12
|
||||
shld $13,%r11,%r12
|
||||
movq 24(%rdi),%rax
|
||||
imulq $38, %rax,%rax
|
||||
mulq 32(%rdi)
|
||||
add %rax,%r13
|
||||
adc %rdx,%r14
|
||||
shld $13,%r13,%r14
|
||||
movq 32(%rdi),%rax
|
||||
imulq $19, %rax,%rax
|
||||
mulq 32(%rdi)
|
||||
add %rax,%r15
|
||||
adc %rdx,%rbx
|
||||
shld $13,%r15,%rbx
|
||||
movq REDMASK51(%rip),%rdx
|
||||
and %rdx,%rcx
|
||||
add %rbx,%rcx
|
||||
and %rdx,%r9
|
||||
and %rdx,%r11
|
||||
add %r10,%r11
|
||||
and %rdx,%r13
|
||||
add %r12,%r13
|
||||
and %rdx,%r15
|
||||
add %r14,%r15
|
||||
imulq $19, %rbp,%rbp
|
||||
lea (%r9,%rbp),%r9
|
||||
mov %r9,%rax
|
||||
shr $51,%r9
|
||||
add %r11,%r9
|
||||
and %rdx,%rax
|
||||
mov %r9,%r8
|
||||
shr $51,%r9
|
||||
add %r13,%r9
|
||||
and %rdx,%r8
|
||||
mov %r9,%r10
|
||||
shr $51,%r9
|
||||
add %r15,%r9
|
||||
and %rdx,%r10
|
||||
movq %r10,16(%rdi)
|
||||
mov %r9,%r10
|
||||
shr $51,%r9
|
||||
add %rcx,%r9
|
||||
and %rdx,%r10
|
||||
movq %r10,24(%rdi)
|
||||
mov %r9,%r10
|
||||
shr $51,%r9
|
||||
imulq $19, %r9,%r9
|
||||
lea (%rax,%r9),%rcx
|
||||
and %rdx,%r10
|
||||
movq %r10,32(%rdi)
|
||||
cmp $0,%rsi
|
||||
jne ._loop
|
||||
movq %rcx,0(%rdi)
|
||||
movq %r8,8(%rdi)
|
||||
movq 0(%rsp),%r11
|
||||
movq 8(%rsp),%r12
|
||||
movq 16(%rsp),%r13
|
||||
movq 24(%rsp),%r14
|
||||
movq 32(%rsp),%r15
|
||||
movq 40(%rsp),%rbx
|
||||
movq 48(%rsp),%rbp
|
||||
add %r11,%rsp
|
||||
ret
|
||||
|
||||
#if defined(__linux__) && defined(__ELF__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
#endif
|
||||
@@ -1,219 +0,0 @@
|
||||
/*
|
||||
This file is the result of merging
|
||||
amd64-51/fe25519_pack.c and amd64-51/fe25519_freeze.s.
|
||||
*/
|
||||
#include "fe51_namespace.h"
|
||||
#include "consts_namespace.h"
|
||||
.p2align 5
|
||||
|
||||
.globl fe51_pack
|
||||
.globl _fe51_pack
|
||||
#ifdef __ELF__
|
||||
.type fe51_pack, @function
|
||||
.type _fe51_pack, @function
|
||||
#endif
|
||||
fe51_pack:
|
||||
_fe51_pack:
|
||||
|
||||
mov %rsp,%r11
|
||||
and $31,%r11
|
||||
add $32,%r11
|
||||
sub %r11,%rsp
|
||||
movq %r11,0(%rsp)
|
||||
movq %r12,8(%rsp)
|
||||
movq 0(%rsi),%rdx
|
||||
movq 8(%rsi),%rcx
|
||||
movq 16(%rsi),%r8
|
||||
movq 24(%rsi),%r9
|
||||
movq 32(%rsi),%rsi
|
||||
movq REDMASK51(%rip),%rax
|
||||
lea -18(%rax),%r10
|
||||
mov $3,%r11
|
||||
._reduceloop:
|
||||
mov %rdx,%r12
|
||||
shr $51,%r12
|
||||
and %rax,%rdx
|
||||
add %r12,%rcx
|
||||
mov %rcx,%r12
|
||||
shr $51,%r12
|
||||
and %rax,%rcx
|
||||
add %r12,%r8
|
||||
mov %r8,%r12
|
||||
shr $51,%r12
|
||||
and %rax,%r8
|
||||
add %r12,%r9
|
||||
mov %r9,%r12
|
||||
shr $51,%r12
|
||||
and %rax,%r9
|
||||
add %r12,%rsi
|
||||
mov %rsi,%r12
|
||||
shr $51,%r12
|
||||
and %rax,%rsi
|
||||
imulq $19, %r12,%r12
|
||||
add %r12,%rdx
|
||||
sub $1,%r11
|
||||
ja ._reduceloop
|
||||
mov $1,%r12
|
||||
cmp %r10,%rdx
|
||||
cmovl %r11,%r12
|
||||
cmp %rax,%rcx
|
||||
cmovne %r11,%r12
|
||||
cmp %rax,%r8
|
||||
cmovne %r11,%r12
|
||||
cmp %rax,%r9
|
||||
cmovne %r11,%r12
|
||||
cmp %rax,%rsi
|
||||
cmovne %r11,%r12
|
||||
neg %r12
|
||||
and %r12,%rax
|
||||
and %r12,%r10
|
||||
sub %r10,%rdx
|
||||
sub %rax,%rcx
|
||||
sub %rax,%r8
|
||||
sub %rax,%r9
|
||||
sub %rax,%rsi
|
||||
mov %rdx,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,0(%rdi)
|
||||
mov %rdx,%rax
|
||||
shr $8,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,1(%rdi)
|
||||
mov %rdx,%rax
|
||||
shr $16,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,2(%rdi)
|
||||
mov %rdx,%rax
|
||||
shr $24,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,3(%rdi)
|
||||
mov %rdx,%rax
|
||||
shr $32,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,4(%rdi)
|
||||
mov %rdx,%rax
|
||||
shr $40,%rax
|
||||
and $0xFF,%eax
|
||||
movb %al,5(%rdi)
|
||||
mov %rdx,%rdx
|
||||
shr $48,%rdx
|
||||
mov %rcx,%rax
|
||||
shl $3,%rax
|
||||
and $0xF8,%eax
|
||||
xor %rdx,%rax
|
||||
movb %al,6(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $5,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,7(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $13,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,8(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $21,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,9(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $29,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,10(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $37,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,11(%rdi)
|
||||
mov %rcx,%rdx
|
||||
shr $45,%rdx
|
||||
mov %r8,%rcx
|
||||
shl $6,%rcx
|
||||
and $0xC0,%ecx
|
||||
xor %rdx,%rcx
|
||||
movb %cl,12(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $2,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,13(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $10,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,14(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $18,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,15(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $26,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,16(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $34,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,17(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $42,%rdx
|
||||
movb %dl,18(%rdi)
|
||||
mov %r8,%rdx
|
||||
shr $50,%rdx
|
||||
mov %r9,%rcx
|
||||
shl $1,%rcx
|
||||
and $0xFE,%ecx
|
||||
xor %rdx,%rcx
|
||||
movb %cl,19(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $7,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,20(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $15,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,21(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $23,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,22(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $31,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,23(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $39,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,24(%rdi)
|
||||
mov %r9,%rdx
|
||||
shr $47,%rdx
|
||||
mov %rsi,%rcx
|
||||
shl $4,%rcx
|
||||
and $0xF0,%ecx
|
||||
xor %rdx,%rcx
|
||||
movb %cl,25(%rdi)
|
||||
mov %rsi,%rdx
|
||||
shr $4,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,26(%rdi)
|
||||
mov %rsi,%rdx
|
||||
shr $12,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,27(%rdi)
|
||||
mov %rsi,%rdx
|
||||
shr $20,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,28(%rdi)
|
||||
mov %rsi,%rdx
|
||||
shr $28,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,29(%rdi)
|
||||
mov %rsi,%rdx
|
||||
shr $36,%rdx
|
||||
and $0xFF,%edx
|
||||
movb %dl,30(%rdi)
|
||||
mov %rsi,%rsi
|
||||
shr $44,%rsi
|
||||
movb %sil,31(%rdi)
|
||||
movq 0(%rsp),%r11
|
||||
movq 8(%rsp),%r12
|
||||
add %r11,%rsp
|
||||
ret
|
||||
|
||||
#if defined(__linux__) && defined(__ELF__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user