mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-04-15 11:36:54 +02:00
More blanket gitignores messing up vendored deps.
This commit is contained in:
parent
ef36acb970
commit
f2c12d548d
18 changed files with 36930 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -125,7 +125,6 @@ attic/world/mkworld
|
|||
workspace/
|
||||
workspace2/
|
||||
zeroidc/target/
|
||||
tmp/
|
||||
|
||||
#snapcraft specifics
|
||||
/parts/
|
||||
|
|
1025
zeroidc/vendor/ring/pregenerated/tmp/aesni-gcm-x86_64-nasm.asm
vendored
Normal file
1025
zeroidc/vendor/ring/pregenerated/tmp/aesni-gcm-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
682
zeroidc/vendor/ring/pregenerated/tmp/aesni-x86-win32n.asm
vendored
Normal file
682
zeroidc/vendor/ring/pregenerated/tmp/aesni-x86-win32n.asm
vendored
Normal file
|
@ -0,0 +1,682 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
%ifdef BORINGSSL_PREFIX
|
||||
%include "boringssl_prefix_symbols_nasm.inc"
|
||||
%endif
|
||||
%ifidn __OUTPUT_FORMAT__,obj
|
||||
section code use32 class=code align=64
|
||||
%elifidn __OUTPUT_FORMAT__,win32
|
||||
$@feat.00 equ 1
|
||||
section .text code align=64
|
||||
%else
|
||||
section .text code
|
||||
%endif
|
||||
;extern _GFp_ia32cap_P
|
||||
global _GFp_aes_hw_encrypt
|
||||
align 16
|
||||
_GFp_aes_hw_encrypt:
|
||||
L$_GFp_aes_hw_encrypt_begin:
|
||||
mov eax,DWORD [4+esp]
|
||||
mov edx,DWORD [12+esp]
|
||||
movups xmm2,[eax]
|
||||
mov ecx,DWORD [240+edx]
|
||||
mov eax,DWORD [8+esp]
|
||||
movups xmm0,[edx]
|
||||
movups xmm1,[16+edx]
|
||||
lea edx,[32+edx]
|
||||
xorps xmm2,xmm0
|
||||
L$000enc1_loop_1:
|
||||
db 102,15,56,220,209
|
||||
dec ecx
|
||||
movups xmm1,[edx]
|
||||
lea edx,[16+edx]
|
||||
jnz NEAR L$000enc1_loop_1
|
||||
db 102,15,56,221,209
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
movups [eax],xmm2
|
||||
pxor xmm2,xmm2
|
||||
ret
|
||||
align 16
|
||||
__aesni_encrypt2:
|
||||
movups xmm0,[edx]
|
||||
shl ecx,4
|
||||
movups xmm1,[16+edx]
|
||||
xorps xmm2,xmm0
|
||||
pxor xmm3,xmm0
|
||||
movups xmm0,[32+edx]
|
||||
lea edx,[32+ecx*1+edx]
|
||||
neg ecx
|
||||
add ecx,16
|
||||
L$001enc2_loop:
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
movups xmm1,[ecx*1+edx]
|
||||
add ecx,32
|
||||
db 102,15,56,220,208
|
||||
db 102,15,56,220,216
|
||||
movups xmm0,[ecx*1+edx-16]
|
||||
jnz NEAR L$001enc2_loop
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,221,208
|
||||
db 102,15,56,221,216
|
||||
ret
|
||||
align 16
|
||||
__aesni_encrypt3:
|
||||
movups xmm0,[edx]
|
||||
shl ecx,4
|
||||
movups xmm1,[16+edx]
|
||||
xorps xmm2,xmm0
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm4,xmm0
|
||||
movups xmm0,[32+edx]
|
||||
lea edx,[32+ecx*1+edx]
|
||||
neg ecx
|
||||
add ecx,16
|
||||
L$002enc3_loop:
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
movups xmm1,[ecx*1+edx]
|
||||
add ecx,32
|
||||
db 102,15,56,220,208
|
||||
db 102,15,56,220,216
|
||||
db 102,15,56,220,224
|
||||
movups xmm0,[ecx*1+edx-16]
|
||||
jnz NEAR L$002enc3_loop
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
db 102,15,56,221,208
|
||||
db 102,15,56,221,216
|
||||
db 102,15,56,221,224
|
||||
ret
|
||||
align 16
|
||||
__aesni_encrypt4:
|
||||
movups xmm0,[edx]
|
||||
movups xmm1,[16+edx]
|
||||
shl ecx,4
|
||||
xorps xmm2,xmm0
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm4,xmm0
|
||||
pxor xmm5,xmm0
|
||||
movups xmm0,[32+edx]
|
||||
lea edx,[32+ecx*1+edx]
|
||||
neg ecx
|
||||
db 15,31,64,0
|
||||
add ecx,16
|
||||
L$003enc4_loop:
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
db 102,15,56,220,233
|
||||
movups xmm1,[ecx*1+edx]
|
||||
add ecx,32
|
||||
db 102,15,56,220,208
|
||||
db 102,15,56,220,216
|
||||
db 102,15,56,220,224
|
||||
db 102,15,56,220,232
|
||||
movups xmm0,[ecx*1+edx-16]
|
||||
jnz NEAR L$003enc4_loop
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
db 102,15,56,220,233
|
||||
db 102,15,56,221,208
|
||||
db 102,15,56,221,216
|
||||
db 102,15,56,221,224
|
||||
db 102,15,56,221,232
|
||||
ret
|
||||
align 16
|
||||
__aesni_encrypt6:
|
||||
movups xmm0,[edx]
|
||||
shl ecx,4
|
||||
movups xmm1,[16+edx]
|
||||
xorps xmm2,xmm0
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm4,xmm0
|
||||
db 102,15,56,220,209
|
||||
pxor xmm5,xmm0
|
||||
pxor xmm6,xmm0
|
||||
db 102,15,56,220,217
|
||||
lea edx,[32+ecx*1+edx]
|
||||
neg ecx
|
||||
db 102,15,56,220,225
|
||||
pxor xmm7,xmm0
|
||||
movups xmm0,[ecx*1+edx]
|
||||
add ecx,16
|
||||
jmp NEAR L$004_aesni_encrypt6_inner
|
||||
align 16
|
||||
L$005enc6_loop:
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
L$004_aesni_encrypt6_inner:
|
||||
db 102,15,56,220,233
|
||||
db 102,15,56,220,241
|
||||
db 102,15,56,220,249
|
||||
L$_aesni_encrypt6_enter:
|
||||
movups xmm1,[ecx*1+edx]
|
||||
add ecx,32
|
||||
db 102,15,56,220,208
|
||||
db 102,15,56,220,216
|
||||
db 102,15,56,220,224
|
||||
db 102,15,56,220,232
|
||||
db 102,15,56,220,240
|
||||
db 102,15,56,220,248
|
||||
movups xmm0,[ecx*1+edx-16]
|
||||
jnz NEAR L$005enc6_loop
|
||||
db 102,15,56,220,209
|
||||
db 102,15,56,220,217
|
||||
db 102,15,56,220,225
|
||||
db 102,15,56,220,233
|
||||
db 102,15,56,220,241
|
||||
db 102,15,56,220,249
|
||||
db 102,15,56,221,208
|
||||
db 102,15,56,221,216
|
||||
db 102,15,56,221,224
|
||||
db 102,15,56,221,232
|
||||
db 102,15,56,221,240
|
||||
db 102,15,56,221,248
|
||||
ret
|
||||
global _GFp_aes_hw_ctr32_encrypt_blocks
|
||||
align 16
|
||||
_GFp_aes_hw_ctr32_encrypt_blocks:
|
||||
L$_GFp_aes_hw_ctr32_encrypt_blocks_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
mov esi,DWORD [20+esp]
|
||||
mov edi,DWORD [24+esp]
|
||||
mov eax,DWORD [28+esp]
|
||||
mov edx,DWORD [32+esp]
|
||||
mov ebx,DWORD [36+esp]
|
||||
mov ebp,esp
|
||||
sub esp,88
|
||||
and esp,-16
|
||||
mov DWORD [80+esp],ebp
|
||||
cmp eax,1
|
||||
je NEAR L$006ctr32_one_shortcut
|
||||
movdqu xmm7,[ebx]
|
||||
mov DWORD [esp],202182159
|
||||
mov DWORD [4+esp],134810123
|
||||
mov DWORD [8+esp],67438087
|
||||
mov DWORD [12+esp],66051
|
||||
mov ecx,6
|
||||
xor ebp,ebp
|
||||
mov DWORD [16+esp],ecx
|
||||
mov DWORD [20+esp],ecx
|
||||
mov DWORD [24+esp],ecx
|
||||
mov DWORD [28+esp],ebp
|
||||
db 102,15,58,22,251,3
|
||||
db 102,15,58,34,253,3
|
||||
mov ecx,DWORD [240+edx]
|
||||
bswap ebx
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
movdqa xmm2,[esp]
|
||||
db 102,15,58,34,195,0
|
||||
lea ebp,[3+ebx]
|
||||
db 102,15,58,34,205,0
|
||||
inc ebx
|
||||
db 102,15,58,34,195,1
|
||||
inc ebp
|
||||
db 102,15,58,34,205,1
|
||||
inc ebx
|
||||
db 102,15,58,34,195,2
|
||||
inc ebp
|
||||
db 102,15,58,34,205,2
|
||||
movdqa [48+esp],xmm0
|
||||
db 102,15,56,0,194
|
||||
movdqu xmm6,[edx]
|
||||
movdqa [64+esp],xmm1
|
||||
db 102,15,56,0,202
|
||||
pshufd xmm2,xmm0,192
|
||||
pshufd xmm3,xmm0,128
|
||||
cmp eax,6
|
||||
jb NEAR L$007ctr32_tail
|
||||
pxor xmm7,xmm6
|
||||
shl ecx,4
|
||||
mov ebx,16
|
||||
movdqa [32+esp],xmm7
|
||||
mov ebp,edx
|
||||
sub ebx,ecx
|
||||
lea edx,[32+ecx*1+edx]
|
||||
sub eax,6
|
||||
jmp NEAR L$008ctr32_loop6
|
||||
align 16
|
||||
L$008ctr32_loop6:
|
||||
pshufd xmm4,xmm0,64
|
||||
movdqa xmm0,[32+esp]
|
||||
pshufd xmm5,xmm1,192
|
||||
pxor xmm2,xmm0
|
||||
pshufd xmm6,xmm1,128
|
||||
pxor xmm3,xmm0
|
||||
pshufd xmm7,xmm1,64
|
||||
movups xmm1,[16+ebp]
|
||||
pxor xmm4,xmm0
|
||||
pxor xmm5,xmm0
|
||||
db 102,15,56,220,209
|
||||
pxor xmm6,xmm0
|
||||
pxor xmm7,xmm0
|
||||
db 102,15,56,220,217
|
||||
movups xmm0,[32+ebp]
|
||||
mov ecx,ebx
|
||||
db 102,15,56,220,225
|
||||
db 102,15,56,220,233
|
||||
db 102,15,56,220,241
|
||||
db 102,15,56,220,249
|
||||
call L$_aesni_encrypt6_enter
|
||||
movups xmm1,[esi]
|
||||
movups xmm0,[16+esi]
|
||||
xorps xmm2,xmm1
|
||||
movups xmm1,[32+esi]
|
||||
xorps xmm3,xmm0
|
||||
movups [edi],xmm2
|
||||
movdqa xmm0,[16+esp]
|
||||
xorps xmm4,xmm1
|
||||
movdqa xmm1,[64+esp]
|
||||
movups [16+edi],xmm3
|
||||
movups [32+edi],xmm4
|
||||
paddd xmm1,xmm0
|
||||
paddd xmm0,[48+esp]
|
||||
movdqa xmm2,[esp]
|
||||
movups xmm3,[48+esi]
|
||||
movups xmm4,[64+esi]
|
||||
xorps xmm5,xmm3
|
||||
movups xmm3,[80+esi]
|
||||
lea esi,[96+esi]
|
||||
movdqa [48+esp],xmm0
|
||||
db 102,15,56,0,194
|
||||
xorps xmm6,xmm4
|
||||
movups [48+edi],xmm5
|
||||
xorps xmm7,xmm3
|
||||
movdqa [64+esp],xmm1
|
||||
db 102,15,56,0,202
|
||||
movups [64+edi],xmm6
|
||||
pshufd xmm2,xmm0,192
|
||||
movups [80+edi],xmm7
|
||||
lea edi,[96+edi]
|
||||
pshufd xmm3,xmm0,128
|
||||
sub eax,6
|
||||
jnc NEAR L$008ctr32_loop6
|
||||
add eax,6
|
||||
jz NEAR L$009ctr32_ret
|
||||
movdqu xmm7,[ebp]
|
||||
mov edx,ebp
|
||||
pxor xmm7,[32+esp]
|
||||
mov ecx,DWORD [240+ebp]
|
||||
L$007ctr32_tail:
|
||||
por xmm2,xmm7
|
||||
cmp eax,2
|
||||
jb NEAR L$010ctr32_one
|
||||
pshufd xmm4,xmm0,64
|
||||
por xmm3,xmm7
|
||||
je NEAR L$011ctr32_two
|
||||
pshufd xmm5,xmm1,192
|
||||
por xmm4,xmm7
|
||||
cmp eax,4
|
||||
jb NEAR L$012ctr32_three
|
||||
pshufd xmm6,xmm1,128
|
||||
por xmm5,xmm7
|
||||
je NEAR L$013ctr32_four
|
||||
por xmm6,xmm7
|
||||
call __aesni_encrypt6
|
||||
movups xmm1,[esi]
|
||||
movups xmm0,[16+esi]
|
||||
xorps xmm2,xmm1
|
||||
movups xmm1,[32+esi]
|
||||
xorps xmm3,xmm0
|
||||
movups xmm0,[48+esi]
|
||||
xorps xmm4,xmm1
|
||||
movups xmm1,[64+esi]
|
||||
xorps xmm5,xmm0
|
||||
movups [edi],xmm2
|
||||
xorps xmm6,xmm1
|
||||
movups [16+edi],xmm3
|
||||
movups [32+edi],xmm4
|
||||
movups [48+edi],xmm5
|
||||
movups [64+edi],xmm6
|
||||
jmp NEAR L$009ctr32_ret
|
||||
align 16
|
||||
L$006ctr32_one_shortcut:
|
||||
movups xmm2,[ebx]
|
||||
mov ecx,DWORD [240+edx]
|
||||
L$010ctr32_one:
|
||||
movups xmm0,[edx]
|
||||
movups xmm1,[16+edx]
|
||||
lea edx,[32+edx]
|
||||
xorps xmm2,xmm0
|
||||
L$014enc1_loop_2:
|
||||
db 102,15,56,220,209
|
||||
dec ecx
|
||||
movups xmm1,[edx]
|
||||
lea edx,[16+edx]
|
||||
jnz NEAR L$014enc1_loop_2
|
||||
db 102,15,56,221,209
|
||||
movups xmm6,[esi]
|
||||
xorps xmm6,xmm2
|
||||
movups [edi],xmm6
|
||||
jmp NEAR L$009ctr32_ret
|
||||
align 16
|
||||
L$011ctr32_two:
|
||||
call __aesni_encrypt2
|
||||
movups xmm5,[esi]
|
||||
movups xmm6,[16+esi]
|
||||
xorps xmm2,xmm5
|
||||
xorps xmm3,xmm6
|
||||
movups [edi],xmm2
|
||||
movups [16+edi],xmm3
|
||||
jmp NEAR L$009ctr32_ret
|
||||
align 16
|
||||
L$012ctr32_three:
|
||||
call __aesni_encrypt3
|
||||
movups xmm5,[esi]
|
||||
movups xmm6,[16+esi]
|
||||
xorps xmm2,xmm5
|
||||
movups xmm7,[32+esi]
|
||||
xorps xmm3,xmm6
|
||||
movups [edi],xmm2
|
||||
xorps xmm4,xmm7
|
||||
movups [16+edi],xmm3
|
||||
movups [32+edi],xmm4
|
||||
jmp NEAR L$009ctr32_ret
|
||||
align 16
|
||||
L$013ctr32_four:
|
||||
call __aesni_encrypt4
|
||||
movups xmm6,[esi]
|
||||
movups xmm7,[16+esi]
|
||||
movups xmm1,[32+esi]
|
||||
xorps xmm2,xmm6
|
||||
movups xmm0,[48+esi]
|
||||
xorps xmm3,xmm7
|
||||
movups [edi],xmm2
|
||||
xorps xmm4,xmm1
|
||||
movups [16+edi],xmm3
|
||||
xorps xmm5,xmm0
|
||||
movups [32+edi],xmm4
|
||||
movups [48+edi],xmm5
|
||||
L$009ctr32_ret:
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
pxor xmm2,xmm2
|
||||
pxor xmm3,xmm3
|
||||
pxor xmm4,xmm4
|
||||
movdqa [32+esp],xmm0
|
||||
pxor xmm5,xmm5
|
||||
movdqa [48+esp],xmm0
|
||||
pxor xmm6,xmm6
|
||||
movdqa [64+esp],xmm0
|
||||
pxor xmm7,xmm7
|
||||
mov esp,DWORD [80+esp]
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 16
|
||||
__aesni_set_encrypt_key:
|
||||
push ebp
|
||||
push ebx
|
||||
test eax,eax
|
||||
jz NEAR L$015bad_pointer
|
||||
test edx,edx
|
||||
jz NEAR L$015bad_pointer
|
||||
call L$016pic
|
||||
L$016pic:
|
||||
pop ebx
|
||||
lea ebx,[(L$key_const-L$016pic)+ebx]
|
||||
lea ebp,[_GFp_ia32cap_P]
|
||||
movups xmm0,[eax]
|
||||
xorps xmm4,xmm4
|
||||
mov ebp,DWORD [4+ebp]
|
||||
lea edx,[16+edx]
|
||||
and ebp,268437504
|
||||
cmp ecx,256
|
||||
je NEAR L$01714rounds
|
||||
cmp ecx,128
|
||||
jne NEAR L$018bad_keybits
|
||||
align 16
|
||||
L$01910rounds:
|
||||
cmp ebp,268435456
|
||||
je NEAR L$02010rounds_alt
|
||||
mov ecx,9
|
||||
movups [edx-16],xmm0
|
||||
db 102,15,58,223,200,1
|
||||
call L$021key_128_cold
|
||||
db 102,15,58,223,200,2
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,4
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,8
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,16
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,32
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,64
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,128
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,27
|
||||
call L$022key_128
|
||||
db 102,15,58,223,200,54
|
||||
call L$022key_128
|
||||
movups [edx],xmm0
|
||||
mov DWORD [80+edx],ecx
|
||||
jmp NEAR L$023good_key
|
||||
align 16
|
||||
L$022key_128:
|
||||
movups [edx],xmm0
|
||||
lea edx,[16+edx]
|
||||
L$021key_128_cold:
|
||||
shufps xmm4,xmm0,16
|
||||
xorps xmm0,xmm4
|
||||
shufps xmm4,xmm0,140
|
||||
xorps xmm0,xmm4
|
||||
shufps xmm1,xmm1,255
|
||||
xorps xmm0,xmm1
|
||||
ret
|
||||
align 16
|
||||
L$02010rounds_alt:
|
||||
movdqa xmm5,[ebx]
|
||||
mov ecx,8
|
||||
movdqa xmm4,[32+ebx]
|
||||
movdqa xmm2,xmm0
|
||||
movdqu [edx-16],xmm0
|
||||
L$024loop_key128:
|
||||
db 102,15,56,0,197
|
||||
db 102,15,56,221,196
|
||||
pslld xmm4,1
|
||||
lea edx,[16+edx]
|
||||
movdqa xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm2,xmm3
|
||||
pxor xmm0,xmm2
|
||||
movdqu [edx-16],xmm0
|
||||
movdqa xmm2,xmm0
|
||||
dec ecx
|
||||
jnz NEAR L$024loop_key128
|
||||
movdqa xmm4,[48+ebx]
|
||||
db 102,15,56,0,197
|
||||
db 102,15,56,221,196
|
||||
pslld xmm4,1
|
||||
movdqa xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm2,xmm3
|
||||
pxor xmm0,xmm2
|
||||
movdqu [edx],xmm0
|
||||
movdqa xmm2,xmm0
|
||||
db 102,15,56,0,197
|
||||
db 102,15,56,221,196
|
||||
movdqa xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm3,xmm2
|
||||
pslldq xmm2,4
|
||||
pxor xmm2,xmm3
|
||||
pxor xmm0,xmm2
|
||||
movdqu [16+edx],xmm0
|
||||
mov ecx,9
|
||||
mov DWORD [96+edx],ecx
|
||||
jmp NEAR L$023good_key
|
||||
align 16
|
||||
L$01714rounds:
|
||||
movups xmm2,[16+eax]
|
||||
lea edx,[16+edx]
|
||||
cmp ebp,268435456
|
||||
je NEAR L$02514rounds_alt
|
||||
mov ecx,13
|
||||
movups [edx-32],xmm0
|
||||
movups [edx-16],xmm2
|
||||
db 102,15,58,223,202,1
|
||||
call L$026key_256a_cold
|
||||
db 102,15,58,223,200,1
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,2
|
||||
call L$028key_256a
|
||||
db 102,15,58,223,200,2
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,4
|
||||
call L$028key_256a
|
||||
db 102,15,58,223,200,4
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,8
|
||||
call L$028key_256a
|
||||
db 102,15,58,223,200,8
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,16
|
||||
call L$028key_256a
|
||||
db 102,15,58,223,200,16
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,32
|
||||
call L$028key_256a
|
||||
db 102,15,58,223,200,32
|
||||
call L$027key_256b
|
||||
db 102,15,58,223,202,64
|
||||
call L$028key_256a
|
||||
movups [edx],xmm0
|
||||
mov DWORD [16+edx],ecx
|
||||
xor eax,eax
|
||||
jmp NEAR L$023good_key
|
||||
align 16
|
||||
L$028key_256a:
|
||||
movups [edx],xmm2
|
||||
lea edx,[16+edx]
|
||||
L$026key_256a_cold:
|
||||
shufps xmm4,xmm0,16
|
||||
xorps xmm0,xmm4
|
||||
shufps xmm4,xmm0,140
|
||||
xorps xmm0,xmm4
|
||||
shufps xmm1,xmm1,255
|
||||
xorps xmm0,xmm1
|
||||
ret
|
||||
align 16
|
||||
L$027key_256b:
|
||||
movups [edx],xmm0
|
||||
lea edx,[16+edx]
|
||||
shufps xmm4,xmm2,16
|
||||
xorps xmm2,xmm4
|
||||
shufps xmm4,xmm2,140
|
||||
xorps xmm2,xmm4
|
||||
shufps xmm1,xmm1,170
|
||||
xorps xmm2,xmm1
|
||||
ret
|
||||
align 16
|
||||
L$02514rounds_alt:
|
||||
movdqa xmm5,[ebx]
|
||||
movdqa xmm4,[32+ebx]
|
||||
mov ecx,7
|
||||
movdqu [edx-32],xmm0
|
||||
movdqa xmm1,xmm2
|
||||
movdqu [edx-16],xmm2
|
||||
L$029loop_key256:
|
||||
db 102,15,56,0,213
|
||||
db 102,15,56,221,212
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,4
|
||||
pxor xmm3,xmm0
|
||||
pslldq xmm0,4
|
||||
pxor xmm3,xmm0
|
||||
pslldq xmm0,4
|
||||
pxor xmm0,xmm3
|
||||
pslld xmm4,1
|
||||
pxor xmm0,xmm2
|
||||
movdqu [edx],xmm0
|
||||
dec ecx
|
||||
jz NEAR L$030done_key256
|
||||
pshufd xmm2,xmm0,255
|
||||
pxor xmm3,xmm3
|
||||
db 102,15,56,221,211
|
||||
movdqa xmm3,xmm1
|
||||
pslldq xmm1,4
|
||||
pxor xmm3,xmm1
|
||||
pslldq xmm1,4
|
||||
pxor xmm3,xmm1
|
||||
pslldq xmm1,4
|
||||
pxor xmm1,xmm3
|
||||
pxor xmm2,xmm1
|
||||
movdqu [16+edx],xmm2
|
||||
lea edx,[32+edx]
|
||||
movdqa xmm1,xmm2
|
||||
jmp NEAR L$029loop_key256
|
||||
L$030done_key256:
|
||||
mov ecx,13
|
||||
mov DWORD [16+edx],ecx
|
||||
L$023good_key:
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
pxor xmm2,xmm2
|
||||
pxor xmm3,xmm3
|
||||
pxor xmm4,xmm4
|
||||
pxor xmm5,xmm5
|
||||
xor eax,eax
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 4
|
||||
L$015bad_pointer:
|
||||
mov eax,-1
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 4
|
||||
L$018bad_keybits:
|
||||
pxor xmm0,xmm0
|
||||
mov eax,-2
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
global _GFp_aes_hw_set_encrypt_key
|
||||
align 16
|
||||
_GFp_aes_hw_set_encrypt_key:
|
||||
L$_GFp_aes_hw_set_encrypt_key_begin:
|
||||
mov eax,DWORD [4+esp]
|
||||
mov ecx,DWORD [8+esp]
|
||||
mov edx,DWORD [12+esp]
|
||||
call __aesni_set_encrypt_key
|
||||
ret
|
||||
align 64
|
||||
L$key_const:
|
||||
dd 202313229,202313229,202313229,202313229
|
||||
dd 67569157,67569157,67569157,67569157
|
||||
dd 1,1,1,1
|
||||
dd 27,27,27,27
|
||||
db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
|
||||
db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
|
||||
db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
|
||||
db 115,108,46,111,114,103,62,0
|
||||
segment .bss
|
||||
common _GFp_ia32cap_P 16
|
1311
zeroidc/vendor/ring/pregenerated/tmp/aesni-x86_64-nasm.asm
vendored
Normal file
1311
zeroidc/vendor/ring/pregenerated/tmp/aesni-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
973
zeroidc/vendor/ring/pregenerated/tmp/chacha-x86-win32n.asm
vendored
Normal file
973
zeroidc/vendor/ring/pregenerated/tmp/chacha-x86-win32n.asm
vendored
Normal file
|
@ -0,0 +1,973 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
%ifdef BORINGSSL_PREFIX
|
||||
%include "boringssl_prefix_symbols_nasm.inc"
|
||||
%endif
|
||||
%ifidn __OUTPUT_FORMAT__,obj
|
||||
section code use32 class=code align=64
|
||||
%elifidn __OUTPUT_FORMAT__,win32
|
||||
$@feat.00 equ 1
|
||||
section .text code align=64
|
||||
%else
|
||||
section .text code
|
||||
%endif
|
||||
global _GFp_ChaCha20_ctr32
|
||||
align 16
|
||||
_GFp_ChaCha20_ctr32:
|
||||
L$_GFp_ChaCha20_ctr32_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
xor eax,eax
|
||||
cmp eax,DWORD [28+esp]
|
||||
je NEAR L$000no_data
|
||||
call L$pic_point
|
||||
L$pic_point:
|
||||
pop eax
|
||||
lea ebp,[_GFp_ia32cap_P]
|
||||
test DWORD [ebp],16777216
|
||||
jz NEAR L$001x86
|
||||
test DWORD [4+ebp],512
|
||||
jz NEAR L$001x86
|
||||
jmp NEAR L$ssse3_shortcut
|
||||
L$001x86:
|
||||
mov esi,DWORD [32+esp]
|
||||
mov edi,DWORD [36+esp]
|
||||
sub esp,132
|
||||
mov eax,DWORD [esi]
|
||||
mov ebx,DWORD [4+esi]
|
||||
mov ecx,DWORD [8+esi]
|
||||
mov edx,DWORD [12+esi]
|
||||
mov DWORD [80+esp],eax
|
||||
mov DWORD [84+esp],ebx
|
||||
mov DWORD [88+esp],ecx
|
||||
mov DWORD [92+esp],edx
|
||||
mov eax,DWORD [16+esi]
|
||||
mov ebx,DWORD [20+esi]
|
||||
mov ecx,DWORD [24+esi]
|
||||
mov edx,DWORD [28+esi]
|
||||
mov DWORD [96+esp],eax
|
||||
mov DWORD [100+esp],ebx
|
||||
mov DWORD [104+esp],ecx
|
||||
mov DWORD [108+esp],edx
|
||||
mov eax,DWORD [edi]
|
||||
mov ebx,DWORD [4+edi]
|
||||
mov ecx,DWORD [8+edi]
|
||||
mov edx,DWORD [12+edi]
|
||||
sub eax,1
|
||||
mov DWORD [112+esp],eax
|
||||
mov DWORD [116+esp],ebx
|
||||
mov DWORD [120+esp],ecx
|
||||
mov DWORD [124+esp],edx
|
||||
jmp NEAR L$002entry
|
||||
align 16
|
||||
L$003outer_loop:
|
||||
mov DWORD [156+esp],ebx
|
||||
mov DWORD [152+esp],eax
|
||||
mov DWORD [160+esp],ecx
|
||||
L$002entry:
|
||||
mov eax,1634760805
|
||||
mov DWORD [4+esp],857760878
|
||||
mov DWORD [8+esp],2036477234
|
||||
mov DWORD [12+esp],1797285236
|
||||
mov ebx,DWORD [84+esp]
|
||||
mov ebp,DWORD [88+esp]
|
||||
mov ecx,DWORD [104+esp]
|
||||
mov esi,DWORD [108+esp]
|
||||
mov edx,DWORD [116+esp]
|
||||
mov edi,DWORD [120+esp]
|
||||
mov DWORD [20+esp],ebx
|
||||
mov DWORD [24+esp],ebp
|
||||
mov DWORD [40+esp],ecx
|
||||
mov DWORD [44+esp],esi
|
||||
mov DWORD [52+esp],edx
|
||||
mov DWORD [56+esp],edi
|
||||
mov ebx,DWORD [92+esp]
|
||||
mov edi,DWORD [124+esp]
|
||||
mov edx,DWORD [112+esp]
|
||||
mov ebp,DWORD [80+esp]
|
||||
mov ecx,DWORD [96+esp]
|
||||
mov esi,DWORD [100+esp]
|
||||
add edx,1
|
||||
mov DWORD [28+esp],ebx
|
||||
mov DWORD [60+esp],edi
|
||||
mov DWORD [112+esp],edx
|
||||
mov ebx,10
|
||||
jmp NEAR L$004loop
|
||||
align 16
|
||||
L$004loop:
|
||||
add eax,ebp
|
||||
mov DWORD [128+esp],ebx
|
||||
mov ebx,ebp
|
||||
xor edx,eax
|
||||
rol edx,16
|
||||
add ecx,edx
|
||||
xor ebx,ecx
|
||||
mov edi,DWORD [52+esp]
|
||||
rol ebx,12
|
||||
mov ebp,DWORD [20+esp]
|
||||
add eax,ebx
|
||||
xor edx,eax
|
||||
mov DWORD [esp],eax
|
||||
rol edx,8
|
||||
mov eax,DWORD [4+esp]
|
||||
add ecx,edx
|
||||
mov DWORD [48+esp],edx
|
||||
xor ebx,ecx
|
||||
add eax,ebp
|
||||
rol ebx,7
|
||||
xor edi,eax
|
||||
mov DWORD [32+esp],ecx
|
||||
rol edi,16
|
||||
mov DWORD [16+esp],ebx
|
||||
add esi,edi
|
||||
mov ecx,DWORD [40+esp]
|
||||
xor ebp,esi
|
||||
mov edx,DWORD [56+esp]
|
||||
rol ebp,12
|
||||
mov ebx,DWORD [24+esp]
|
||||
add eax,ebp
|
||||
xor edi,eax
|
||||
mov DWORD [4+esp],eax
|
||||
rol edi,8
|
||||
mov eax,DWORD [8+esp]
|
||||
add esi,edi
|
||||
mov DWORD [52+esp],edi
|
||||
xor ebp,esi
|
||||
add eax,ebx
|
||||
rol ebp,7
|
||||
xor edx,eax
|
||||
mov DWORD [36+esp],esi
|
||||
rol edx,16
|
||||
mov DWORD [20+esp],ebp
|
||||
add ecx,edx
|
||||
mov esi,DWORD [44+esp]
|
||||
xor ebx,ecx
|
||||
mov edi,DWORD [60+esp]
|
||||
rol ebx,12
|
||||
mov ebp,DWORD [28+esp]
|
||||
add eax,ebx
|
||||
xor edx,eax
|
||||
mov DWORD [8+esp],eax
|
||||
rol edx,8
|
||||
mov eax,DWORD [12+esp]
|
||||
add ecx,edx
|
||||
mov DWORD [56+esp],edx
|
||||
xor ebx,ecx
|
||||
add eax,ebp
|
||||
rol ebx,7
|
||||
xor edi,eax
|
||||
rol edi,16
|
||||
mov DWORD [24+esp],ebx
|
||||
add esi,edi
|
||||
xor ebp,esi
|
||||
rol ebp,12
|
||||
mov ebx,DWORD [20+esp]
|
||||
add eax,ebp
|
||||
xor edi,eax
|
||||
mov DWORD [12+esp],eax
|
||||
rol edi,8
|
||||
mov eax,DWORD [esp]
|
||||
add esi,edi
|
||||
mov edx,edi
|
||||
xor ebp,esi
|
||||
add eax,ebx
|
||||
rol ebp,7
|
||||
xor edx,eax
|
||||
rol edx,16
|
||||
mov DWORD [28+esp],ebp
|
||||
add ecx,edx
|
||||
xor ebx,ecx
|
||||
mov edi,DWORD [48+esp]
|
||||
rol ebx,12
|
||||
mov ebp,DWORD [24+esp]
|
||||
add eax,ebx
|
||||
xor edx,eax
|
||||
mov DWORD [esp],eax
|
||||
rol edx,8
|
||||
mov eax,DWORD [4+esp]
|
||||
add ecx,edx
|
||||
mov DWORD [60+esp],edx
|
||||
xor ebx,ecx
|
||||
add eax,ebp
|
||||
rol ebx,7
|
||||
xor edi,eax
|
||||
mov DWORD [40+esp],ecx
|
||||
rol edi,16
|
||||
mov DWORD [20+esp],ebx
|
||||
add esi,edi
|
||||
mov ecx,DWORD [32+esp]
|
||||
xor ebp,esi
|
||||
mov edx,DWORD [52+esp]
|
||||
rol ebp,12
|
||||
mov ebx,DWORD [28+esp]
|
||||
add eax,ebp
|
||||
xor edi,eax
|
||||
mov DWORD [4+esp],eax
|
||||
rol edi,8
|
||||
mov eax,DWORD [8+esp]
|
||||
add esi,edi
|
||||
mov DWORD [48+esp],edi
|
||||
xor ebp,esi
|
||||
add eax,ebx
|
||||
rol ebp,7
|
||||
xor edx,eax
|
||||
mov DWORD [44+esp],esi
|
||||
rol edx,16
|
||||
mov DWORD [24+esp],ebp
|
||||
add ecx,edx
|
||||
mov esi,DWORD [36+esp]
|
||||
xor ebx,ecx
|
||||
mov edi,DWORD [56+esp]
|
||||
rol ebx,12
|
||||
mov ebp,DWORD [16+esp]
|
||||
add eax,ebx
|
||||
xor edx,eax
|
||||
mov DWORD [8+esp],eax
|
||||
rol edx,8
|
||||
mov eax,DWORD [12+esp]
|
||||
add ecx,edx
|
||||
mov DWORD [52+esp],edx
|
||||
xor ebx,ecx
|
||||
add eax,ebp
|
||||
rol ebx,7
|
||||
xor edi,eax
|
||||
rol edi,16
|
||||
mov DWORD [28+esp],ebx
|
||||
add esi,edi
|
||||
xor ebp,esi
|
||||
mov edx,DWORD [48+esp]
|
||||
rol ebp,12
|
||||
mov ebx,DWORD [128+esp]
|
||||
add eax,ebp
|
||||
xor edi,eax
|
||||
mov DWORD [12+esp],eax
|
||||
rol edi,8
|
||||
mov eax,DWORD [esp]
|
||||
add esi,edi
|
||||
mov DWORD [56+esp],edi
|
||||
xor ebp,esi
|
||||
rol ebp,7
|
||||
dec ebx
|
||||
jnz NEAR L$004loop
|
||||
mov ebx,DWORD [160+esp]
|
||||
add eax,1634760805
|
||||
add ebp,DWORD [80+esp]
|
||||
add ecx,DWORD [96+esp]
|
||||
add esi,DWORD [100+esp]
|
||||
cmp ebx,64
|
||||
jb NEAR L$005tail
|
||||
mov ebx,DWORD [156+esp]
|
||||
add edx,DWORD [112+esp]
|
||||
add edi,DWORD [120+esp]
|
||||
xor eax,DWORD [ebx]
|
||||
xor ebp,DWORD [16+ebx]
|
||||
mov DWORD [esp],eax
|
||||
mov eax,DWORD [152+esp]
|
||||
xor ecx,DWORD [32+ebx]
|
||||
xor esi,DWORD [36+ebx]
|
||||
xor edx,DWORD [48+ebx]
|
||||
xor edi,DWORD [56+ebx]
|
||||
mov DWORD [16+eax],ebp
|
||||
mov DWORD [32+eax],ecx
|
||||
mov DWORD [36+eax],esi
|
||||
mov DWORD [48+eax],edx
|
||||
mov DWORD [56+eax],edi
|
||||
mov ebp,DWORD [4+esp]
|
||||
mov ecx,DWORD [8+esp]
|
||||
mov esi,DWORD [12+esp]
|
||||
mov edx,DWORD [20+esp]
|
||||
mov edi,DWORD [24+esp]
|
||||
add ebp,857760878
|
||||
add ecx,2036477234
|
||||
add esi,1797285236
|
||||
add edx,DWORD [84+esp]
|
||||
add edi,DWORD [88+esp]
|
||||
xor ebp,DWORD [4+ebx]
|
||||
xor ecx,DWORD [8+ebx]
|
||||
xor esi,DWORD [12+ebx]
|
||||
xor edx,DWORD [20+ebx]
|
||||
xor edi,DWORD [24+ebx]
|
||||
mov DWORD [4+eax],ebp
|
||||
mov DWORD [8+eax],ecx
|
||||
mov DWORD [12+eax],esi
|
||||
mov DWORD [20+eax],edx
|
||||
mov DWORD [24+eax],edi
|
||||
mov ebp,DWORD [28+esp]
|
||||
mov ecx,DWORD [40+esp]
|
||||
mov esi,DWORD [44+esp]
|
||||
mov edx,DWORD [52+esp]
|
||||
mov edi,DWORD [60+esp]
|
||||
add ebp,DWORD [92+esp]
|
||||
add ecx,DWORD [104+esp]
|
||||
add esi,DWORD [108+esp]
|
||||
add edx,DWORD [116+esp]
|
||||
add edi,DWORD [124+esp]
|
||||
xor ebp,DWORD [28+ebx]
|
||||
xor ecx,DWORD [40+ebx]
|
||||
xor esi,DWORD [44+ebx]
|
||||
xor edx,DWORD [52+ebx]
|
||||
xor edi,DWORD [60+ebx]
|
||||
lea ebx,[64+ebx]
|
||||
mov DWORD [28+eax],ebp
|
||||
mov ebp,DWORD [esp]
|
||||
mov DWORD [40+eax],ecx
|
||||
mov ecx,DWORD [160+esp]
|
||||
mov DWORD [44+eax],esi
|
||||
mov DWORD [52+eax],edx
|
||||
mov DWORD [60+eax],edi
|
||||
mov DWORD [eax],ebp
|
||||
lea eax,[64+eax]
|
||||
sub ecx,64
|
||||
jnz NEAR L$003outer_loop
|
||||
jmp NEAR L$006done
|
||||
L$005tail:
|
||||
add edx,DWORD [112+esp]
|
||||
add edi,DWORD [120+esp]
|
||||
mov DWORD [esp],eax
|
||||
mov DWORD [16+esp],ebp
|
||||
mov DWORD [32+esp],ecx
|
||||
mov DWORD [36+esp],esi
|
||||
mov DWORD [48+esp],edx
|
||||
mov DWORD [56+esp],edi
|
||||
mov ebp,DWORD [4+esp]
|
||||
mov ecx,DWORD [8+esp]
|
||||
mov esi,DWORD [12+esp]
|
||||
mov edx,DWORD [20+esp]
|
||||
mov edi,DWORD [24+esp]
|
||||
add ebp,857760878
|
||||
add ecx,2036477234
|
||||
add esi,1797285236
|
||||
add edx,DWORD [84+esp]
|
||||
add edi,DWORD [88+esp]
|
||||
mov DWORD [4+esp],ebp
|
||||
mov DWORD [8+esp],ecx
|
||||
mov DWORD [12+esp],esi
|
||||
mov DWORD [20+esp],edx
|
||||
mov DWORD [24+esp],edi
|
||||
mov ebp,DWORD [28+esp]
|
||||
mov ecx,DWORD [40+esp]
|
||||
mov esi,DWORD [44+esp]
|
||||
mov edx,DWORD [52+esp]
|
||||
mov edi,DWORD [60+esp]
|
||||
add ebp,DWORD [92+esp]
|
||||
add ecx,DWORD [104+esp]
|
||||
add esi,DWORD [108+esp]
|
||||
add edx,DWORD [116+esp]
|
||||
add edi,DWORD [124+esp]
|
||||
mov DWORD [28+esp],ebp
|
||||
mov ebp,DWORD [156+esp]
|
||||
mov DWORD [40+esp],ecx
|
||||
mov ecx,DWORD [152+esp]
|
||||
mov DWORD [44+esp],esi
|
||||
xor esi,esi
|
||||
mov DWORD [52+esp],edx
|
||||
mov DWORD [60+esp],edi
|
||||
xor eax,eax
|
||||
xor edx,edx
|
||||
L$007tail_loop:
|
||||
mov al,BYTE [ebp*1+esi]
|
||||
mov dl,BYTE [esi*1+esp]
|
||||
lea esi,[1+esi]
|
||||
xor al,dl
|
||||
mov BYTE [esi*1+ecx-1],al
|
||||
dec ebx
|
||||
jnz NEAR L$007tail_loop
|
||||
L$006done:
|
||||
add esp,132
|
||||
L$000no_data:
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 16
|
||||
__ChaCha20_ssse3:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
L$ssse3_shortcut:
|
||||
mov edi,DWORD [20+esp]
|
||||
mov esi,DWORD [24+esp]
|
||||
mov ecx,DWORD [28+esp]
|
||||
mov edx,DWORD [32+esp]
|
||||
mov ebx,DWORD [36+esp]
|
||||
mov ebp,esp
|
||||
sub esp,524
|
||||
and esp,-64
|
||||
mov DWORD [512+esp],ebp
|
||||
lea eax,[(L$ssse3_data-L$pic_point)+eax]
|
||||
movdqu xmm3,[ebx]
|
||||
cmp ecx,256
|
||||
jb NEAR L$0081x
|
||||
mov DWORD [516+esp],edx
|
||||
mov DWORD [520+esp],ebx
|
||||
sub ecx,256
|
||||
lea ebp,[384+esp]
|
||||
movdqu xmm7,[edx]
|
||||
pshufd xmm0,xmm3,0
|
||||
pshufd xmm1,xmm3,85
|
||||
pshufd xmm2,xmm3,170
|
||||
pshufd xmm3,xmm3,255
|
||||
paddd xmm0,[48+eax]
|
||||
pshufd xmm4,xmm7,0
|
||||
pshufd xmm5,xmm7,85
|
||||
psubd xmm0,[64+eax]
|
||||
pshufd xmm6,xmm7,170
|
||||
pshufd xmm7,xmm7,255
|
||||
movdqa [64+ebp],xmm0
|
||||
movdqa [80+ebp],xmm1
|
||||
movdqa [96+ebp],xmm2
|
||||
movdqa [112+ebp],xmm3
|
||||
movdqu xmm3,[16+edx]
|
||||
movdqa [ebp-64],xmm4
|
||||
movdqa [ebp-48],xmm5
|
||||
movdqa [ebp-32],xmm6
|
||||
movdqa [ebp-16],xmm7
|
||||
movdqa xmm7,[32+eax]
|
||||
lea ebx,[128+esp]
|
||||
pshufd xmm0,xmm3,0
|
||||
pshufd xmm1,xmm3,85
|
||||
pshufd xmm2,xmm3,170
|
||||
pshufd xmm3,xmm3,255
|
||||
pshufd xmm4,xmm7,0
|
||||
pshufd xmm5,xmm7,85
|
||||
pshufd xmm6,xmm7,170
|
||||
pshufd xmm7,xmm7,255
|
||||
movdqa [ebp],xmm0
|
||||
movdqa [16+ebp],xmm1
|
||||
movdqa [32+ebp],xmm2
|
||||
movdqa [48+ebp],xmm3
|
||||
movdqa [ebp-128],xmm4
|
||||
movdqa [ebp-112],xmm5
|
||||
movdqa [ebp-96],xmm6
|
||||
movdqa [ebp-80],xmm7
|
||||
lea esi,[128+esi]
|
||||
lea edi,[128+edi]
|
||||
jmp NEAR L$009outer_loop
|
||||
align 16
|
||||
L$009outer_loop:
|
||||
movdqa xmm1,[ebp-112]
|
||||
movdqa xmm2,[ebp-96]
|
||||
movdqa xmm3,[ebp-80]
|
||||
movdqa xmm5,[ebp-48]
|
||||
movdqa xmm6,[ebp-32]
|
||||
movdqa xmm7,[ebp-16]
|
||||
movdqa [ebx-112],xmm1
|
||||
movdqa [ebx-96],xmm2
|
||||
movdqa [ebx-80],xmm3
|
||||
movdqa [ebx-48],xmm5
|
||||
movdqa [ebx-32],xmm6
|
||||
movdqa [ebx-16],xmm7
|
||||
movdqa xmm2,[32+ebp]
|
||||
movdqa xmm3,[48+ebp]
|
||||
movdqa xmm4,[64+ebp]
|
||||
movdqa xmm5,[80+ebp]
|
||||
movdqa xmm6,[96+ebp]
|
||||
movdqa xmm7,[112+ebp]
|
||||
paddd xmm4,[64+eax]
|
||||
movdqa [32+ebx],xmm2
|
||||
movdqa [48+ebx],xmm3
|
||||
movdqa [64+ebx],xmm4
|
||||
movdqa [80+ebx],xmm5
|
||||
movdqa [96+ebx],xmm6
|
||||
movdqa [112+ebx],xmm7
|
||||
movdqa [64+ebp],xmm4
|
||||
movdqa xmm0,[ebp-128]
|
||||
movdqa xmm6,xmm4
|
||||
movdqa xmm3,[ebp-64]
|
||||
movdqa xmm4,[ebp]
|
||||
movdqa xmm5,[16+ebp]
|
||||
mov edx,10
|
||||
nop
|
||||
align 16
|
||||
L$010loop:
|
||||
paddd xmm0,xmm3
|
||||
movdqa xmm2,xmm3
|
||||
pxor xmm6,xmm0
|
||||
pshufb xmm6,[eax]
|
||||
paddd xmm4,xmm6
|
||||
pxor xmm2,xmm4
|
||||
movdqa xmm3,[ebx-48]
|
||||
movdqa xmm1,xmm2
|
||||
pslld xmm2,12
|
||||
psrld xmm1,20
|
||||
por xmm2,xmm1
|
||||
movdqa xmm1,[ebx-112]
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm7,[80+ebx]
|
||||
pxor xmm6,xmm0
|
||||
movdqa [ebx-128],xmm0
|
||||
pshufb xmm6,[16+eax]
|
||||
paddd xmm4,xmm6
|
||||
movdqa [64+ebx],xmm6
|
||||
pxor xmm2,xmm4
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm0,xmm2
|
||||
pslld xmm2,7
|
||||
psrld xmm0,25
|
||||
pxor xmm7,xmm1
|
||||
por xmm2,xmm0
|
||||
movdqa [ebx],xmm4
|
||||
pshufb xmm7,[eax]
|
||||
movdqa [ebx-64],xmm2
|
||||
paddd xmm5,xmm7
|
||||
movdqa xmm4,[32+ebx]
|
||||
pxor xmm3,xmm5
|
||||
movdqa xmm2,[ebx-32]
|
||||
movdqa xmm0,xmm3
|
||||
pslld xmm3,12
|
||||
psrld xmm0,20
|
||||
por xmm3,xmm0
|
||||
movdqa xmm0,[ebx-96]
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm6,[96+ebx]
|
||||
pxor xmm7,xmm1
|
||||
movdqa [ebx-112],xmm1
|
||||
pshufb xmm7,[16+eax]
|
||||
paddd xmm5,xmm7
|
||||
movdqa [80+ebx],xmm7
|
||||
pxor xmm3,xmm5
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm1,xmm3
|
||||
pslld xmm3,7
|
||||
psrld xmm1,25
|
||||
pxor xmm6,xmm0
|
||||
por xmm3,xmm1
|
||||
movdqa [16+ebx],xmm5
|
||||
pshufb xmm6,[eax]
|
||||
movdqa [ebx-48],xmm3
|
||||
paddd xmm4,xmm6
|
||||
movdqa xmm5,[48+ebx]
|
||||
pxor xmm2,xmm4
|
||||
movdqa xmm3,[ebx-16]
|
||||
movdqa xmm1,xmm2
|
||||
pslld xmm2,12
|
||||
psrld xmm1,20
|
||||
por xmm2,xmm1
|
||||
movdqa xmm1,[ebx-80]
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm7,[112+ebx]
|
||||
pxor xmm6,xmm0
|
||||
movdqa [ebx-96],xmm0
|
||||
pshufb xmm6,[16+eax]
|
||||
paddd xmm4,xmm6
|
||||
movdqa [96+ebx],xmm6
|
||||
pxor xmm2,xmm4
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm0,xmm2
|
||||
pslld xmm2,7
|
||||
psrld xmm0,25
|
||||
pxor xmm7,xmm1
|
||||
por xmm2,xmm0
|
||||
pshufb xmm7,[eax]
|
||||
movdqa [ebx-32],xmm2
|
||||
paddd xmm5,xmm7
|
||||
pxor xmm3,xmm5
|
||||
movdqa xmm2,[ebx-48]
|
||||
movdqa xmm0,xmm3
|
||||
pslld xmm3,12
|
||||
psrld xmm0,20
|
||||
por xmm3,xmm0
|
||||
movdqa xmm0,[ebx-128]
|
||||
paddd xmm1,xmm3
|
||||
pxor xmm7,xmm1
|
||||
movdqa [ebx-80],xmm1
|
||||
pshufb xmm7,[16+eax]
|
||||
paddd xmm5,xmm7
|
||||
movdqa xmm6,xmm7
|
||||
pxor xmm3,xmm5
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm1,xmm3
|
||||
pslld xmm3,7
|
||||
psrld xmm1,25
|
||||
pxor xmm6,xmm0
|
||||
por xmm3,xmm1
|
||||
pshufb xmm6,[eax]
|
||||
movdqa [ebx-16],xmm3
|
||||
paddd xmm4,xmm6
|
||||
pxor xmm2,xmm4
|
||||
movdqa xmm3,[ebx-32]
|
||||
movdqa xmm1,xmm2
|
||||
pslld xmm2,12
|
||||
psrld xmm1,20
|
||||
por xmm2,xmm1
|
||||
movdqa xmm1,[ebx-112]
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm7,[64+ebx]
|
||||
pxor xmm6,xmm0
|
||||
movdqa [ebx-128],xmm0
|
||||
pshufb xmm6,[16+eax]
|
||||
paddd xmm4,xmm6
|
||||
movdqa [112+ebx],xmm6
|
||||
pxor xmm2,xmm4
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm0,xmm2
|
||||
pslld xmm2,7
|
||||
psrld xmm0,25
|
||||
pxor xmm7,xmm1
|
||||
por xmm2,xmm0
|
||||
movdqa [32+ebx],xmm4
|
||||
pshufb xmm7,[eax]
|
||||
movdqa [ebx-48],xmm2
|
||||
paddd xmm5,xmm7
|
||||
movdqa xmm4,[ebx]
|
||||
pxor xmm3,xmm5
|
||||
movdqa xmm2,[ebx-16]
|
||||
movdqa xmm0,xmm3
|
||||
pslld xmm3,12
|
||||
psrld xmm0,20
|
||||
por xmm3,xmm0
|
||||
movdqa xmm0,[ebx-96]
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm6,[80+ebx]
|
||||
pxor xmm7,xmm1
|
||||
movdqa [ebx-112],xmm1
|
||||
pshufb xmm7,[16+eax]
|
||||
paddd xmm5,xmm7
|
||||
movdqa [64+ebx],xmm7
|
||||
pxor xmm3,xmm5
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm1,xmm3
|
||||
pslld xmm3,7
|
||||
psrld xmm1,25
|
||||
pxor xmm6,xmm0
|
||||
por xmm3,xmm1
|
||||
movdqa [48+ebx],xmm5
|
||||
pshufb xmm6,[eax]
|
||||
movdqa [ebx-32],xmm3
|
||||
paddd xmm4,xmm6
|
||||
movdqa xmm5,[16+ebx]
|
||||
pxor xmm2,xmm4
|
||||
movdqa xmm3,[ebx-64]
|
||||
movdqa xmm1,xmm2
|
||||
pslld xmm2,12
|
||||
psrld xmm1,20
|
||||
por xmm2,xmm1
|
||||
movdqa xmm1,[ebx-80]
|
||||
paddd xmm0,xmm2
|
||||
movdqa xmm7,[96+ebx]
|
||||
pxor xmm6,xmm0
|
||||
movdqa [ebx-96],xmm0
|
||||
pshufb xmm6,[16+eax]
|
||||
paddd xmm4,xmm6
|
||||
movdqa [80+ebx],xmm6
|
||||
pxor xmm2,xmm4
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm0,xmm2
|
||||
pslld xmm2,7
|
||||
psrld xmm0,25
|
||||
pxor xmm7,xmm1
|
||||
por xmm2,xmm0
|
||||
pshufb xmm7,[eax]
|
||||
movdqa [ebx-16],xmm2
|
||||
paddd xmm5,xmm7
|
||||
pxor xmm3,xmm5
|
||||
movdqa xmm0,xmm3
|
||||
pslld xmm3,12
|
||||
psrld xmm0,20
|
||||
por xmm3,xmm0
|
||||
movdqa xmm0,[ebx-128]
|
||||
paddd xmm1,xmm3
|
||||
movdqa xmm6,[64+ebx]
|
||||
pxor xmm7,xmm1
|
||||
movdqa [ebx-80],xmm1
|
||||
pshufb xmm7,[16+eax]
|
||||
paddd xmm5,xmm7
|
||||
movdqa [96+ebx],xmm7
|
||||
pxor xmm3,xmm5
|
||||
movdqa xmm1,xmm3
|
||||
pslld xmm3,7
|
||||
psrld xmm1,25
|
||||
por xmm3,xmm1
|
||||
dec edx
|
||||
jnz NEAR L$010loop
|
||||
movdqa [ebx-64],xmm3
|
||||
movdqa [ebx],xmm4
|
||||
movdqa [16+ebx],xmm5
|
||||
movdqa [64+ebx],xmm6
|
||||
movdqa [96+ebx],xmm7
|
||||
movdqa xmm1,[ebx-112]
|
||||
movdqa xmm2,[ebx-96]
|
||||
movdqa xmm3,[ebx-80]
|
||||
paddd xmm0,[ebp-128]
|
||||
paddd xmm1,[ebp-112]
|
||||
paddd xmm2,[ebp-96]
|
||||
paddd xmm3,[ebp-80]
|
||||
movdqa xmm6,xmm0
|
||||
punpckldq xmm0,xmm1
|
||||
movdqa xmm7,xmm2
|
||||
punpckldq xmm2,xmm3
|
||||
punpckhdq xmm6,xmm1
|
||||
punpckhdq xmm7,xmm3
|
||||
movdqa xmm1,xmm0
|
||||
punpcklqdq xmm0,xmm2
|
||||
movdqa xmm3,xmm6
|
||||
punpcklqdq xmm6,xmm7
|
||||
punpckhqdq xmm1,xmm2
|
||||
punpckhqdq xmm3,xmm7
|
||||
movdqu xmm4,[esi-128]
|
||||
movdqu xmm5,[esi-64]
|
||||
movdqu xmm2,[esi]
|
||||
movdqu xmm7,[64+esi]
|
||||
lea esi,[16+esi]
|
||||
pxor xmm4,xmm0
|
||||
movdqa xmm0,[ebx-64]
|
||||
pxor xmm5,xmm1
|
||||
movdqa xmm1,[ebx-48]
|
||||
pxor xmm6,xmm2
|
||||
movdqa xmm2,[ebx-32]
|
||||
pxor xmm7,xmm3
|
||||
movdqa xmm3,[ebx-16]
|
||||
movdqu [edi-128],xmm4
|
||||
movdqu [edi-64],xmm5
|
||||
movdqu [edi],xmm6
|
||||
movdqu [64+edi],xmm7
|
||||
lea edi,[16+edi]
|
||||
paddd xmm0,[ebp-64]
|
||||
paddd xmm1,[ebp-48]
|
||||
paddd xmm2,[ebp-32]
|
||||
paddd xmm3,[ebp-16]
|
||||
movdqa xmm6,xmm0
|
||||
punpckldq xmm0,xmm1
|
||||
movdqa xmm7,xmm2
|
||||
punpckldq xmm2,xmm3
|
||||
punpckhdq xmm6,xmm1
|
||||
punpckhdq xmm7,xmm3
|
||||
movdqa xmm1,xmm0
|
||||
punpcklqdq xmm0,xmm2
|
||||
movdqa xmm3,xmm6
|
||||
punpcklqdq xmm6,xmm7
|
||||
punpckhqdq xmm1,xmm2
|
||||
punpckhqdq xmm3,xmm7
|
||||
movdqu xmm4,[esi-128]
|
||||
movdqu xmm5,[esi-64]
|
||||
movdqu xmm2,[esi]
|
||||
movdqu xmm7,[64+esi]
|
||||
lea esi,[16+esi]
|
||||
pxor xmm4,xmm0
|
||||
movdqa xmm0,[ebx]
|
||||
pxor xmm5,xmm1
|
||||
movdqa xmm1,[16+ebx]
|
||||
pxor xmm6,xmm2
|
||||
movdqa xmm2,[32+ebx]
|
||||
pxor xmm7,xmm3
|
||||
movdqa xmm3,[48+ebx]
|
||||
movdqu [edi-128],xmm4
|
||||
movdqu [edi-64],xmm5
|
||||
movdqu [edi],xmm6
|
||||
movdqu [64+edi],xmm7
|
||||
lea edi,[16+edi]
|
||||
paddd xmm0,[ebp]
|
||||
paddd xmm1,[16+ebp]
|
||||
paddd xmm2,[32+ebp]
|
||||
paddd xmm3,[48+ebp]
|
||||
movdqa xmm6,xmm0
|
||||
punpckldq xmm0,xmm1
|
||||
movdqa xmm7,xmm2
|
||||
punpckldq xmm2,xmm3
|
||||
punpckhdq xmm6,xmm1
|
||||
punpckhdq xmm7,xmm3
|
||||
movdqa xmm1,xmm0
|
||||
punpcklqdq xmm0,xmm2
|
||||
movdqa xmm3,xmm6
|
||||
punpcklqdq xmm6,xmm7
|
||||
punpckhqdq xmm1,xmm2
|
||||
punpckhqdq xmm3,xmm7
|
||||
movdqu xmm4,[esi-128]
|
||||
movdqu xmm5,[esi-64]
|
||||
movdqu xmm2,[esi]
|
||||
movdqu xmm7,[64+esi]
|
||||
lea esi,[16+esi]
|
||||
pxor xmm4,xmm0
|
||||
movdqa xmm0,[64+ebx]
|
||||
pxor xmm5,xmm1
|
||||
movdqa xmm1,[80+ebx]
|
||||
pxor xmm6,xmm2
|
||||
movdqa xmm2,[96+ebx]
|
||||
pxor xmm7,xmm3
|
||||
movdqa xmm3,[112+ebx]
|
||||
movdqu [edi-128],xmm4
|
||||
movdqu [edi-64],xmm5
|
||||
movdqu [edi],xmm6
|
||||
movdqu [64+edi],xmm7
|
||||
lea edi,[16+edi]
|
||||
paddd xmm0,[64+ebp]
|
||||
paddd xmm1,[80+ebp]
|
||||
paddd xmm2,[96+ebp]
|
||||
paddd xmm3,[112+ebp]
|
||||
movdqa xmm6,xmm0
|
||||
punpckldq xmm0,xmm1
|
||||
movdqa xmm7,xmm2
|
||||
punpckldq xmm2,xmm3
|
||||
punpckhdq xmm6,xmm1
|
||||
punpckhdq xmm7,xmm3
|
||||
movdqa xmm1,xmm0
|
||||
punpcklqdq xmm0,xmm2
|
||||
movdqa xmm3,xmm6
|
||||
punpcklqdq xmm6,xmm7
|
||||
punpckhqdq xmm1,xmm2
|
||||
punpckhqdq xmm3,xmm7
|
||||
movdqu xmm4,[esi-128]
|
||||
movdqu xmm5,[esi-64]
|
||||
movdqu xmm2,[esi]
|
||||
movdqu xmm7,[64+esi]
|
||||
lea esi,[208+esi]
|
||||
pxor xmm4,xmm0
|
||||
pxor xmm5,xmm1
|
||||
pxor xmm6,xmm2
|
||||
pxor xmm7,xmm3
|
||||
movdqu [edi-128],xmm4
|
||||
movdqu [edi-64],xmm5
|
||||
movdqu [edi],xmm6
|
||||
movdqu [64+edi],xmm7
|
||||
lea edi,[208+edi]
|
||||
sub ecx,256
|
||||
jnc NEAR L$009outer_loop
|
||||
add ecx,256
|
||||
jz NEAR L$011done
|
||||
mov ebx,DWORD [520+esp]
|
||||
lea esi,[esi-128]
|
||||
mov edx,DWORD [516+esp]
|
||||
lea edi,[edi-128]
|
||||
movd xmm2,DWORD [64+ebp]
|
||||
movdqu xmm3,[ebx]
|
||||
paddd xmm2,[96+eax]
|
||||
pand xmm3,[112+eax]
|
||||
por xmm3,xmm2
|
||||
L$0081x:
|
||||
movdqa xmm0,[32+eax]
|
||||
movdqu xmm1,[edx]
|
||||
movdqu xmm2,[16+edx]
|
||||
movdqa xmm6,[eax]
|
||||
movdqa xmm7,[16+eax]
|
||||
mov DWORD [48+esp],ebp
|
||||
movdqa [esp],xmm0
|
||||
movdqa [16+esp],xmm1
|
||||
movdqa [32+esp],xmm2
|
||||
movdqa [48+esp],xmm3
|
||||
mov edx,10
|
||||
jmp NEAR L$012loop1x
|
||||
align 16
|
||||
L$013outer1x:
|
||||
movdqa xmm3,[80+eax]
|
||||
movdqa xmm0,[esp]
|
||||
movdqa xmm1,[16+esp]
|
||||
movdqa xmm2,[32+esp]
|
||||
paddd xmm3,[48+esp]
|
||||
mov edx,10
|
||||
movdqa [48+esp],xmm3
|
||||
jmp NEAR L$012loop1x
|
||||
align 16
|
||||
L$012loop1x:
|
||||
paddd xmm0,xmm1
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,56,0,222
|
||||
paddd xmm2,xmm3
|
||||
pxor xmm1,xmm2
|
||||
movdqa xmm4,xmm1
|
||||
psrld xmm1,20
|
||||
pslld xmm4,12
|
||||
por xmm1,xmm4
|
||||
paddd xmm0,xmm1
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,56,0,223
|
||||
paddd xmm2,xmm3
|
||||
pxor xmm1,xmm2
|
||||
movdqa xmm4,xmm1
|
||||
psrld xmm1,25
|
||||
pslld xmm4,7
|
||||
por xmm1,xmm4
|
||||
pshufd xmm2,xmm2,78
|
||||
pshufd xmm1,xmm1,57
|
||||
pshufd xmm3,xmm3,147
|
||||
nop
|
||||
paddd xmm0,xmm1
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,56,0,222
|
||||
paddd xmm2,xmm3
|
||||
pxor xmm1,xmm2
|
||||
movdqa xmm4,xmm1
|
||||
psrld xmm1,20
|
||||
pslld xmm4,12
|
||||
por xmm1,xmm4
|
||||
paddd xmm0,xmm1
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,56,0,223
|
||||
paddd xmm2,xmm3
|
||||
pxor xmm1,xmm2
|
||||
movdqa xmm4,xmm1
|
||||
psrld xmm1,25
|
||||
pslld xmm4,7
|
||||
por xmm1,xmm4
|
||||
pshufd xmm2,xmm2,78
|
||||
pshufd xmm1,xmm1,147
|
||||
pshufd xmm3,xmm3,57
|
||||
dec edx
|
||||
jnz NEAR L$012loop1x
|
||||
paddd xmm0,[esp]
|
||||
paddd xmm1,[16+esp]
|
||||
paddd xmm2,[32+esp]
|
||||
paddd xmm3,[48+esp]
|
||||
cmp ecx,64
|
||||
jb NEAR L$014tail
|
||||
movdqu xmm4,[esi]
|
||||
movdqu xmm5,[16+esi]
|
||||
pxor xmm0,xmm4
|
||||
movdqu xmm4,[32+esi]
|
||||
pxor xmm1,xmm5
|
||||
movdqu xmm5,[48+esi]
|
||||
pxor xmm2,xmm4
|
||||
pxor xmm3,xmm5
|
||||
lea esi,[64+esi]
|
||||
movdqu [edi],xmm0
|
||||
movdqu [16+edi],xmm1
|
||||
movdqu [32+edi],xmm2
|
||||
movdqu [48+edi],xmm3
|
||||
lea edi,[64+edi]
|
||||
sub ecx,64
|
||||
jnz NEAR L$013outer1x
|
||||
jmp NEAR L$011done
|
||||
L$014tail:
|
||||
movdqa [esp],xmm0
|
||||
movdqa [16+esp],xmm1
|
||||
movdqa [32+esp],xmm2
|
||||
movdqa [48+esp],xmm3
|
||||
xor eax,eax
|
||||
xor edx,edx
|
||||
xor ebp,ebp
|
||||
L$015tail_loop:
|
||||
mov al,BYTE [ebp*1+esp]
|
||||
mov dl,BYTE [ebp*1+esi]
|
||||
lea ebp,[1+ebp]
|
||||
xor al,dl
|
||||
mov BYTE [ebp*1+edi-1],al
|
||||
dec ecx
|
||||
jnz NEAR L$015tail_loop
|
||||
L$011done:
|
||||
mov esp,DWORD [512+esp]
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 64
|
||||
L$ssse3_data:
|
||||
db 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13
|
||||
db 3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14
|
||||
dd 1634760805,857760878,2036477234,1797285236
|
||||
dd 0,1,2,3
|
||||
dd 4,4,4,4
|
||||
dd 1,0,0,0
|
||||
dd 4,0,0,0
|
||||
dd 0,-1,-1,-1
|
||||
align 64
|
||||
db 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
|
||||
db 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32
|
||||
db 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111
|
||||
db 114,103,62,0
|
||||
segment .bss
|
||||
common _GFp_ia32cap_P 16
|
1922
zeroidc/vendor/ring/pregenerated/tmp/chacha-x86_64-nasm.asm
vendored
Normal file
1922
zeroidc/vendor/ring/pregenerated/tmp/chacha-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
8941
zeroidc/vendor/ring/pregenerated/tmp/chacha20_poly1305_x86_64-nasm.asm
vendored
Normal file
8941
zeroidc/vendor/ring/pregenerated/tmp/chacha20_poly1305_x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
1105
zeroidc/vendor/ring/pregenerated/tmp/ecp_nistz256-x86-win32n.asm
vendored
Normal file
1105
zeroidc/vendor/ring/pregenerated/tmp/ecp_nistz256-x86-win32n.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
359
zeroidc/vendor/ring/pregenerated/tmp/ghash-x86-win32n.asm
vendored
Normal file
359
zeroidc/vendor/ring/pregenerated/tmp/ghash-x86-win32n.asm
vendored
Normal file
|
@ -0,0 +1,359 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
%ifdef BORINGSSL_PREFIX
|
||||
%include "boringssl_prefix_symbols_nasm.inc"
|
||||
%endif
|
||||
%ifidn __OUTPUT_FORMAT__,obj
|
||||
section code use32 class=code align=64
|
||||
%elifidn __OUTPUT_FORMAT__,win32
|
||||
$@feat.00 equ 1
|
||||
section .text code align=64
|
||||
%else
|
||||
section .text code
|
||||
%endif
|
||||
global _GFp_gcm_init_clmul
|
||||
align 16
|
||||
_GFp_gcm_init_clmul:
|
||||
L$_GFp_gcm_init_clmul_begin:
|
||||
mov edx,DWORD [4+esp]
|
||||
mov eax,DWORD [8+esp]
|
||||
call L$000pic
|
||||
L$000pic:
|
||||
pop ecx
|
||||
lea ecx,[(L$bswap-L$000pic)+ecx]
|
||||
movdqu xmm2,[eax]
|
||||
pshufd xmm2,xmm2,78
|
||||
pshufd xmm4,xmm2,255
|
||||
movdqa xmm3,xmm2
|
||||
psllq xmm2,1
|
||||
pxor xmm5,xmm5
|
||||
psrlq xmm3,63
|
||||
pcmpgtd xmm5,xmm4
|
||||
pslldq xmm3,8
|
||||
por xmm2,xmm3
|
||||
pand xmm5,[16+ecx]
|
||||
pxor xmm2,xmm5
|
||||
movdqa xmm0,xmm2
|
||||
movdqa xmm1,xmm0
|
||||
pshufd xmm3,xmm0,78
|
||||
pshufd xmm4,xmm2,78
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm4,xmm2
|
||||
db 102,15,58,68,194,0
|
||||
db 102,15,58,68,202,17
|
||||
db 102,15,58,68,220,0
|
||||
xorps xmm3,xmm0
|
||||
xorps xmm3,xmm1
|
||||
movdqa xmm4,xmm3
|
||||
psrldq xmm3,8
|
||||
pslldq xmm4,8
|
||||
pxor xmm1,xmm3
|
||||
pxor xmm0,xmm4
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm3,xmm0
|
||||
psllq xmm0,5
|
||||
pxor xmm3,xmm0
|
||||
psllq xmm0,1
|
||||
pxor xmm0,xmm3
|
||||
psllq xmm0,57
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,8
|
||||
psrldq xmm3,8
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm1,xmm3
|
||||
movdqa xmm4,xmm0
|
||||
psrlq xmm0,1
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm4,xmm0
|
||||
psrlq xmm0,5
|
||||
pxor xmm0,xmm4
|
||||
psrlq xmm0,1
|
||||
pxor xmm0,xmm1
|
||||
pshufd xmm3,xmm2,78
|
||||
pshufd xmm4,xmm0,78
|
||||
pxor xmm3,xmm2
|
||||
movdqu [edx],xmm2
|
||||
pxor xmm4,xmm0
|
||||
movdqu [16+edx],xmm0
|
||||
db 102,15,58,15,227,8
|
||||
movdqu [32+edx],xmm4
|
||||
ret
|
||||
global _GFp_gcm_gmult_clmul
|
||||
align 16
|
||||
_GFp_gcm_gmult_clmul:
|
||||
L$_GFp_gcm_gmult_clmul_begin:
|
||||
mov eax,DWORD [4+esp]
|
||||
mov edx,DWORD [8+esp]
|
||||
call L$001pic
|
||||
L$001pic:
|
||||
pop ecx
|
||||
lea ecx,[(L$bswap-L$001pic)+ecx]
|
||||
movdqu xmm0,[eax]
|
||||
movdqa xmm5,[ecx]
|
||||
movups xmm2,[edx]
|
||||
db 102,15,56,0,197
|
||||
movups xmm4,[32+edx]
|
||||
movdqa xmm1,xmm0
|
||||
pshufd xmm3,xmm0,78
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,58,68,194,0
|
||||
db 102,15,58,68,202,17
|
||||
db 102,15,58,68,220,0
|
||||
xorps xmm3,xmm0
|
||||
xorps xmm3,xmm1
|
||||
movdqa xmm4,xmm3
|
||||
psrldq xmm3,8
|
||||
pslldq xmm4,8
|
||||
pxor xmm1,xmm3
|
||||
pxor xmm0,xmm4
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm3,xmm0
|
||||
psllq xmm0,5
|
||||
pxor xmm3,xmm0
|
||||
psllq xmm0,1
|
||||
pxor xmm0,xmm3
|
||||
psllq xmm0,57
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,8
|
||||
psrldq xmm3,8
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm1,xmm3
|
||||
movdqa xmm4,xmm0
|
||||
psrlq xmm0,1
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm4,xmm0
|
||||
psrlq xmm0,5
|
||||
pxor xmm0,xmm4
|
||||
psrlq xmm0,1
|
||||
pxor xmm0,xmm1
|
||||
db 102,15,56,0,197
|
||||
movdqu [eax],xmm0
|
||||
ret
|
||||
global _GFp_gcm_ghash_clmul
|
||||
align 16
|
||||
_GFp_gcm_ghash_clmul:
|
||||
L$_GFp_gcm_ghash_clmul_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
mov eax,DWORD [20+esp]
|
||||
mov edx,DWORD [24+esp]
|
||||
mov esi,DWORD [28+esp]
|
||||
mov ebx,DWORD [32+esp]
|
||||
call L$002pic
|
||||
L$002pic:
|
||||
pop ecx
|
||||
lea ecx,[(L$bswap-L$002pic)+ecx]
|
||||
movdqu xmm0,[eax]
|
||||
movdqa xmm5,[ecx]
|
||||
movdqu xmm2,[edx]
|
||||
db 102,15,56,0,197
|
||||
sub ebx,16
|
||||
jz NEAR L$003odd_tail
|
||||
movdqu xmm3,[esi]
|
||||
movdqu xmm6,[16+esi]
|
||||
db 102,15,56,0,221
|
||||
db 102,15,56,0,245
|
||||
movdqu xmm5,[32+edx]
|
||||
pxor xmm0,xmm3
|
||||
pshufd xmm3,xmm6,78
|
||||
movdqa xmm7,xmm6
|
||||
pxor xmm3,xmm6
|
||||
lea esi,[32+esi]
|
||||
db 102,15,58,68,242,0
|
||||
db 102,15,58,68,250,17
|
||||
db 102,15,58,68,221,0
|
||||
movups xmm2,[16+edx]
|
||||
nop
|
||||
sub ebx,32
|
||||
jbe NEAR L$004even_tail
|
||||
jmp NEAR L$005mod_loop
|
||||
align 32
|
||||
L$005mod_loop:
|
||||
pshufd xmm4,xmm0,78
|
||||
movdqa xmm1,xmm0
|
||||
pxor xmm4,xmm0
|
||||
nop
|
||||
db 102,15,58,68,194,0
|
||||
db 102,15,58,68,202,17
|
||||
db 102,15,58,68,229,16
|
||||
movups xmm2,[edx]
|
||||
xorps xmm0,xmm6
|
||||
movdqa xmm5,[ecx]
|
||||
xorps xmm1,xmm7
|
||||
movdqu xmm7,[esi]
|
||||
pxor xmm3,xmm0
|
||||
movdqu xmm6,[16+esi]
|
||||
pxor xmm3,xmm1
|
||||
db 102,15,56,0,253
|
||||
pxor xmm4,xmm3
|
||||
movdqa xmm3,xmm4
|
||||
psrldq xmm4,8
|
||||
pslldq xmm3,8
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm0,xmm3
|
||||
db 102,15,56,0,245
|
||||
pxor xmm1,xmm7
|
||||
movdqa xmm7,xmm6
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm3,xmm0
|
||||
psllq xmm0,5
|
||||
pxor xmm3,xmm0
|
||||
psllq xmm0,1
|
||||
pxor xmm0,xmm3
|
||||
db 102,15,58,68,242,0
|
||||
movups xmm5,[32+edx]
|
||||
psllq xmm0,57
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,8
|
||||
psrldq xmm3,8
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm1,xmm3
|
||||
pshufd xmm3,xmm7,78
|
||||
movdqa xmm4,xmm0
|
||||
psrlq xmm0,1
|
||||
pxor xmm3,xmm7
|
||||
pxor xmm1,xmm4
|
||||
db 102,15,58,68,250,17
|
||||
movups xmm2,[16+edx]
|
||||
pxor xmm4,xmm0
|
||||
psrlq xmm0,5
|
||||
pxor xmm0,xmm4
|
||||
psrlq xmm0,1
|
||||
pxor xmm0,xmm1
|
||||
db 102,15,58,68,221,0
|
||||
lea esi,[32+esi]
|
||||
sub ebx,32
|
||||
ja NEAR L$005mod_loop
|
||||
L$004even_tail:
|
||||
pshufd xmm4,xmm0,78
|
||||
movdqa xmm1,xmm0
|
||||
pxor xmm4,xmm0
|
||||
db 102,15,58,68,194,0
|
||||
db 102,15,58,68,202,17
|
||||
db 102,15,58,68,229,16
|
||||
movdqa xmm5,[ecx]
|
||||
xorps xmm0,xmm6
|
||||
xorps xmm1,xmm7
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm3,xmm1
|
||||
pxor xmm4,xmm3
|
||||
movdqa xmm3,xmm4
|
||||
psrldq xmm4,8
|
||||
pslldq xmm3,8
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm0,xmm3
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm3,xmm0
|
||||
psllq xmm0,5
|
||||
pxor xmm3,xmm0
|
||||
psllq xmm0,1
|
||||
pxor xmm0,xmm3
|
||||
psllq xmm0,57
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,8
|
||||
psrldq xmm3,8
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm1,xmm3
|
||||
movdqa xmm4,xmm0
|
||||
psrlq xmm0,1
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm4,xmm0
|
||||
psrlq xmm0,5
|
||||
pxor xmm0,xmm4
|
||||
psrlq xmm0,1
|
||||
pxor xmm0,xmm1
|
||||
test ebx,ebx
|
||||
jnz NEAR L$006done
|
||||
movups xmm2,[edx]
|
||||
L$003odd_tail:
|
||||
movdqu xmm3,[esi]
|
||||
db 102,15,56,0,221
|
||||
pxor xmm0,xmm3
|
||||
movdqa xmm1,xmm0
|
||||
pshufd xmm3,xmm0,78
|
||||
pshufd xmm4,xmm2,78
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm4,xmm2
|
||||
db 102,15,58,68,194,0
|
||||
db 102,15,58,68,202,17
|
||||
db 102,15,58,68,220,0
|
||||
xorps xmm3,xmm0
|
||||
xorps xmm3,xmm1
|
||||
movdqa xmm4,xmm3
|
||||
psrldq xmm3,8
|
||||
pslldq xmm4,8
|
||||
pxor xmm1,xmm3
|
||||
pxor xmm0,xmm4
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm3,xmm0
|
||||
psllq xmm0,5
|
||||
pxor xmm3,xmm0
|
||||
psllq xmm0,1
|
||||
pxor xmm0,xmm3
|
||||
psllq xmm0,57
|
||||
movdqa xmm3,xmm0
|
||||
pslldq xmm0,8
|
||||
psrldq xmm3,8
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm1,xmm3
|
||||
movdqa xmm4,xmm0
|
||||
psrlq xmm0,1
|
||||
pxor xmm1,xmm4
|
||||
pxor xmm4,xmm0
|
||||
psrlq xmm0,5
|
||||
pxor xmm0,xmm4
|
||||
psrlq xmm0,1
|
||||
pxor xmm0,xmm1
|
||||
L$006done:
|
||||
db 102,15,56,0,197
|
||||
movdqu [eax],xmm0
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
align 64
|
||||
L$bswap:
|
||||
db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
|
||||
db 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
|
||||
align 64
|
||||
L$007rem_8bit:
|
||||
dw 0,450,900,582,1800,1738,1164,1358
|
||||
dw 3600,4050,3476,3158,2328,2266,2716,2910
|
||||
dw 7200,7650,8100,7782,6952,6890,6316,6510
|
||||
dw 4656,5106,4532,4214,5432,5370,5820,6014
|
||||
dw 14400,14722,15300,14854,16200,16010,15564,15630
|
||||
dw 13904,14226,13780,13334,12632,12442,13020,13086
|
||||
dw 9312,9634,10212,9766,9064,8874,8428,8494
|
||||
dw 10864,11186,10740,10294,11640,11450,12028,12094
|
||||
dw 28800,28994,29444,29382,30600,30282,29708,30158
|
||||
dw 32400,32594,32020,31958,31128,30810,31260,31710
|
||||
dw 27808,28002,28452,28390,27560,27242,26668,27118
|
||||
dw 25264,25458,24884,24822,26040,25722,26172,26622
|
||||
dw 18624,18690,19268,19078,20424,19978,19532,19854
|
||||
dw 18128,18194,17748,17558,16856,16410,16988,17310
|
||||
dw 21728,21794,22372,22182,21480,21034,20588,20910
|
||||
dw 23280,23346,22900,22710,24056,23610,24188,24510
|
||||
dw 57600,57538,57988,58182,58888,59338,58764,58446
|
||||
dw 61200,61138,60564,60758,59416,59866,60316,59998
|
||||
dw 64800,64738,65188,65382,64040,64490,63916,63598
|
||||
dw 62256,62194,61620,61814,62520,62970,63420,63102
|
||||
dw 55616,55426,56004,56070,56904,57226,56780,56334
|
||||
dw 55120,54930,54484,54550,53336,53658,54236,53790
|
||||
dw 50528,50338,50916,50982,49768,50090,49644,49198
|
||||
dw 52080,51890,51444,51510,52344,52666,53244,52798
|
||||
dw 37248,36930,37380,37830,38536,38730,38156,38094
|
||||
dw 40848,40530,39956,40406,39064,39258,39708,39646
|
||||
dw 36256,35938,36388,36838,35496,35690,35116,35054
|
||||
dw 33712,33394,32820,33270,33976,34170,34620,34558
|
||||
dw 43456,43010,43588,43910,44744,44810,44364,44174
|
||||
dw 42960,42514,42068,42390,41176,41242,41820,41630
|
||||
dw 46560,46114,46692,47014,45800,45866,45420,45230
|
||||
dw 48112,47666,47220,47542,48376,48442,49020,48830
|
||||
db 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
|
||||
db 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
|
||||
db 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
|
||||
db 0
|
1209
zeroidc/vendor/ring/pregenerated/tmp/ghash-x86_64-nasm.asm
vendored
Normal file
1209
zeroidc/vendor/ring/pregenerated/tmp/ghash-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
5037
zeroidc/vendor/ring/pregenerated/tmp/p256-x86_64-asm-nasm.asm
vendored
Normal file
5037
zeroidc/vendor/ring/pregenerated/tmp/p256-x86_64-asm-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
4138
zeroidc/vendor/ring/pregenerated/tmp/sha256-x86_64-nasm.asm
vendored
Normal file
4138
zeroidc/vendor/ring/pregenerated/tmp/sha256-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
3135
zeroidc/vendor/ring/pregenerated/tmp/sha512-x86_64-nasm.asm
vendored
Normal file
3135
zeroidc/vendor/ring/pregenerated/tmp/sha512-x86_64-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
378
zeroidc/vendor/ring/pregenerated/tmp/vpaes-x86-win32n.asm
vendored
Normal file
378
zeroidc/vendor/ring/pregenerated/tmp/vpaes-x86-win32n.asm
vendored
Normal file
|
@ -0,0 +1,378 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
%ifdef BORINGSSL_PREFIX
|
||||
%include "boringssl_prefix_symbols_nasm.inc"
|
||||
%endif
|
||||
%ifidn __OUTPUT_FORMAT__,obj
|
||||
section code use32 class=code align=64
|
||||
%elifidn __OUTPUT_FORMAT__,win32
|
||||
$@feat.00 equ 1
|
||||
section .text code align=64
|
||||
%else
|
||||
section .text code
|
||||
%endif
|
||||
align 64
|
||||
L$_vpaes_consts:
|
||||
dd 218628480,235210255,168496130,67568393
|
||||
dd 252381056,17041926,33884169,51187212
|
||||
dd 252645135,252645135,252645135,252645135
|
||||
dd 1512730624,3266504856,1377990664,3401244816
|
||||
dd 830229760,1275146365,2969422977,3447763452
|
||||
dd 3411033600,2979783055,338359620,2782886510
|
||||
dd 4209124096,907596821,221174255,1006095553
|
||||
dd 191964160,3799684038,3164090317,1589111125
|
||||
dd 182528256,1777043520,2877432650,3265356744
|
||||
dd 1874708224,3503451415,3305285752,363511674
|
||||
dd 1606117888,3487855781,1093350906,2384367825
|
||||
dd 197121,67569157,134941193,202313229
|
||||
dd 67569157,134941193,202313229,197121
|
||||
dd 134941193,202313229,197121,67569157
|
||||
dd 202313229,197121,67569157,134941193
|
||||
dd 33619971,100992007,168364043,235736079
|
||||
dd 235736079,33619971,100992007,168364043
|
||||
dd 168364043,235736079,33619971,100992007
|
||||
dd 100992007,168364043,235736079,33619971
|
||||
dd 50462976,117835012,185207048,252579084
|
||||
dd 252314880,51251460,117574920,184942860
|
||||
dd 184682752,252054788,50987272,118359308
|
||||
dd 118099200,185467140,251790600,50727180
|
||||
dd 2946363062,528716217,1300004225,1881839624
|
||||
dd 1532713819,1532713819,1532713819,1532713819
|
||||
dd 3602276352,4288629033,3737020424,4153884961
|
||||
dd 1354558464,32357713,2958822624,3775749553
|
||||
dd 1201988352,132424512,1572796698,503232858
|
||||
dd 2213177600,1597421020,4103937655,675398315
|
||||
db 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105
|
||||
db 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83
|
||||
db 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117
|
||||
db 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105
|
||||
db 118,101,114,115,105,116,121,41,0
|
||||
align 64
|
||||
align 16
|
||||
__vpaes_preheat:
|
||||
add ebp,DWORD [esp]
|
||||
movdqa xmm7,[ebp-48]
|
||||
movdqa xmm6,[ebp-16]
|
||||
ret
|
||||
align 16
|
||||
__vpaes_encrypt_core:
|
||||
mov ecx,16
|
||||
mov eax,DWORD [240+edx]
|
||||
movdqa xmm1,xmm6
|
||||
movdqa xmm2,[ebp]
|
||||
pandn xmm1,xmm0
|
||||
pand xmm0,xmm6
|
||||
movdqu xmm5,[edx]
|
||||
db 102,15,56,0,208
|
||||
movdqa xmm0,[16+ebp]
|
||||
pxor xmm2,xmm5
|
||||
psrld xmm1,4
|
||||
add edx,16
|
||||
db 102,15,56,0,193
|
||||
lea ebx,[192+ebp]
|
||||
pxor xmm0,xmm2
|
||||
jmp NEAR L$000enc_entry
|
||||
align 16
|
||||
L$001enc_loop:
|
||||
movdqa xmm4,[32+ebp]
|
||||
movdqa xmm0,[48+ebp]
|
||||
db 102,15,56,0,226
|
||||
db 102,15,56,0,195
|
||||
pxor xmm4,xmm5
|
||||
movdqa xmm5,[64+ebp]
|
||||
pxor xmm0,xmm4
|
||||
movdqa xmm1,[ecx*1+ebx-64]
|
||||
db 102,15,56,0,234
|
||||
movdqa xmm2,[80+ebp]
|
||||
movdqa xmm4,[ecx*1+ebx]
|
||||
db 102,15,56,0,211
|
||||
movdqa xmm3,xmm0
|
||||
pxor xmm2,xmm5
|
||||
db 102,15,56,0,193
|
||||
add edx,16
|
||||
pxor xmm0,xmm2
|
||||
db 102,15,56,0,220
|
||||
add ecx,16
|
||||
pxor xmm3,xmm0
|
||||
db 102,15,56,0,193
|
||||
and ecx,48
|
||||
sub eax,1
|
||||
pxor xmm0,xmm3
|
||||
L$000enc_entry:
|
||||
movdqa xmm1,xmm6
|
||||
movdqa xmm5,[ebp-32]
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm6
|
||||
db 102,15,56,0,232
|
||||
movdqa xmm3,xmm7
|
||||
pxor xmm0,xmm1
|
||||
db 102,15,56,0,217
|
||||
movdqa xmm4,xmm7
|
||||
pxor xmm3,xmm5
|
||||
db 102,15,56,0,224
|
||||
movdqa xmm2,xmm7
|
||||
pxor xmm4,xmm5
|
||||
db 102,15,56,0,211
|
||||
movdqa xmm3,xmm7
|
||||
pxor xmm2,xmm0
|
||||
db 102,15,56,0,220
|
||||
movdqu xmm5,[edx]
|
||||
pxor xmm3,xmm1
|
||||
jnz NEAR L$001enc_loop
|
||||
movdqa xmm4,[96+ebp]
|
||||
movdqa xmm0,[112+ebp]
|
||||
db 102,15,56,0,226
|
||||
pxor xmm4,xmm5
|
||||
db 102,15,56,0,195
|
||||
movdqa xmm1,[64+ecx*1+ebx]
|
||||
pxor xmm0,xmm4
|
||||
db 102,15,56,0,193
|
||||
ret
|
||||
align 16
|
||||
__vpaes_schedule_core:
|
||||
add ebp,DWORD [esp]
|
||||
movdqu xmm0,[esi]
|
||||
movdqa xmm2,[320+ebp]
|
||||
movdqa xmm3,xmm0
|
||||
lea ebx,[ebp]
|
||||
movdqa [4+esp],xmm2
|
||||
call __vpaes_schedule_transform
|
||||
movdqa xmm7,xmm0
|
||||
test edi,edi
|
||||
jnz NEAR L$002schedule_am_decrypting
|
||||
movdqu [edx],xmm0
|
||||
jmp NEAR L$003schedule_go
|
||||
L$002schedule_am_decrypting:
|
||||
movdqa xmm1,[256+ecx*1+ebp]
|
||||
db 102,15,56,0,217
|
||||
movdqu [edx],xmm3
|
||||
xor ecx,48
|
||||
L$003schedule_go:
|
||||
cmp eax,192
|
||||
ja NEAR L$004schedule_256
|
||||
L$005schedule_128:
|
||||
mov eax,10
|
||||
L$006loop_schedule_128:
|
||||
call __vpaes_schedule_round
|
||||
dec eax
|
||||
jz NEAR L$007schedule_mangle_last
|
||||
call __vpaes_schedule_mangle
|
||||
jmp NEAR L$006loop_schedule_128
|
||||
align 16
|
||||
L$004schedule_256:
|
||||
movdqu xmm0,[16+esi]
|
||||
call __vpaes_schedule_transform
|
||||
mov eax,7
|
||||
L$008loop_schedule_256:
|
||||
call __vpaes_schedule_mangle
|
||||
movdqa xmm6,xmm0
|
||||
call __vpaes_schedule_round
|
||||
dec eax
|
||||
jz NEAR L$007schedule_mangle_last
|
||||
call __vpaes_schedule_mangle
|
||||
pshufd xmm0,xmm0,255
|
||||
movdqa [20+esp],xmm7
|
||||
movdqa xmm7,xmm6
|
||||
call L$_vpaes_schedule_low_round
|
||||
movdqa xmm7,[20+esp]
|
||||
jmp NEAR L$008loop_schedule_256
|
||||
align 16
|
||||
L$007schedule_mangle_last:
|
||||
lea ebx,[384+ebp]
|
||||
test edi,edi
|
||||
jnz NEAR L$009schedule_mangle_last_dec
|
||||
movdqa xmm1,[256+ecx*1+ebp]
|
||||
db 102,15,56,0,193
|
||||
lea ebx,[352+ebp]
|
||||
add edx,32
|
||||
L$009schedule_mangle_last_dec:
|
||||
add edx,-16
|
||||
pxor xmm0,[336+ebp]
|
||||
call __vpaes_schedule_transform
|
||||
movdqu [edx],xmm0
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
pxor xmm2,xmm2
|
||||
pxor xmm3,xmm3
|
||||
pxor xmm4,xmm4
|
||||
pxor xmm5,xmm5
|
||||
pxor xmm6,xmm6
|
||||
pxor xmm7,xmm7
|
||||
ret
|
||||
align 16
|
||||
__vpaes_schedule_round:
|
||||
movdqa xmm2,[8+esp]
|
||||
pxor xmm1,xmm1
|
||||
db 102,15,58,15,202,15
|
||||
db 102,15,58,15,210,15
|
||||
pxor xmm7,xmm1
|
||||
pshufd xmm0,xmm0,255
|
||||
db 102,15,58,15,192,1
|
||||
movdqa [8+esp],xmm2
|
||||
L$_vpaes_schedule_low_round:
|
||||
movdqa xmm1,xmm7
|
||||
pslldq xmm7,4
|
||||
pxor xmm7,xmm1
|
||||
movdqa xmm1,xmm7
|
||||
pslldq xmm7,8
|
||||
pxor xmm7,xmm1
|
||||
pxor xmm7,[336+ebp]
|
||||
movdqa xmm4,[ebp-16]
|
||||
movdqa xmm5,[ebp-48]
|
||||
movdqa xmm1,xmm4
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm4
|
||||
movdqa xmm2,[ebp-32]
|
||||
db 102,15,56,0,208
|
||||
pxor xmm0,xmm1
|
||||
movdqa xmm3,xmm5
|
||||
db 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
movdqa xmm4,xmm5
|
||||
db 102,15,56,0,224
|
||||
pxor xmm4,xmm2
|
||||
movdqa xmm2,xmm5
|
||||
db 102,15,56,0,211
|
||||
pxor xmm2,xmm0
|
||||
movdqa xmm3,xmm5
|
||||
db 102,15,56,0,220
|
||||
pxor xmm3,xmm1
|
||||
movdqa xmm4,[32+ebp]
|
||||
db 102,15,56,0,226
|
||||
movdqa xmm0,[48+ebp]
|
||||
db 102,15,56,0,195
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm0,xmm7
|
||||
movdqa xmm7,xmm0
|
||||
ret
|
||||
align 16
|
||||
__vpaes_schedule_transform:
|
||||
movdqa xmm2,[ebp-16]
|
||||
movdqa xmm1,xmm2
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm2
|
||||
movdqa xmm2,[ebx]
|
||||
db 102,15,56,0,208
|
||||
movdqa xmm0,[16+ebx]
|
||||
db 102,15,56,0,193
|
||||
pxor xmm0,xmm2
|
||||
ret
|
||||
align 16
|
||||
__vpaes_schedule_mangle:
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm5,[128+ebp]
|
||||
test edi,edi
|
||||
jnz NEAR L$010schedule_mangle_dec
|
||||
add edx,16
|
||||
pxor xmm4,[336+ebp]
|
||||
db 102,15,56,0,229
|
||||
movdqa xmm3,xmm4
|
||||
db 102,15,56,0,229
|
||||
pxor xmm3,xmm4
|
||||
db 102,15,56,0,229
|
||||
pxor xmm3,xmm4
|
||||
jmp NEAR L$011schedule_mangle_both
|
||||
align 16
|
||||
L$010schedule_mangle_dec:
|
||||
movdqa xmm2,[ebp-16]
|
||||
lea esi,[ebp]
|
||||
movdqa xmm1,xmm2
|
||||
pandn xmm1,xmm4
|
||||
psrld xmm1,4
|
||||
pand xmm4,xmm2
|
||||
movdqa xmm2,[esi]
|
||||
db 102,15,56,0,212
|
||||
movdqa xmm3,[16+esi]
|
||||
db 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
db 102,15,56,0,221
|
||||
movdqa xmm2,[32+esi]
|
||||
db 102,15,56,0,212
|
||||
pxor xmm2,xmm3
|
||||
movdqa xmm3,[48+esi]
|
||||
db 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
db 102,15,56,0,221
|
||||
movdqa xmm2,[64+esi]
|
||||
db 102,15,56,0,212
|
||||
pxor xmm2,xmm3
|
||||
movdqa xmm3,[80+esi]
|
||||
db 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
db 102,15,56,0,221
|
||||
movdqa xmm2,[96+esi]
|
||||
db 102,15,56,0,212
|
||||
pxor xmm2,xmm3
|
||||
movdqa xmm3,[112+esi]
|
||||
db 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
add edx,-16
|
||||
L$011schedule_mangle_both:
|
||||
movdqa xmm1,[256+ecx*1+ebp]
|
||||
db 102,15,56,0,217
|
||||
add ecx,-16
|
||||
and ecx,48
|
||||
movdqu [edx],xmm3
|
||||
ret
|
||||
global _GFp_vpaes_set_encrypt_key
|
||||
align 16
|
||||
_GFp_vpaes_set_encrypt_key:
|
||||
L$_GFp_vpaes_set_encrypt_key_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
mov esi,DWORD [20+esp]
|
||||
lea ebx,[esp-56]
|
||||
mov eax,DWORD [24+esp]
|
||||
and ebx,-16
|
||||
mov edx,DWORD [28+esp]
|
||||
xchg ebx,esp
|
||||
mov DWORD [48+esp],ebx
|
||||
mov ebx,eax
|
||||
shr ebx,5
|
||||
add ebx,5
|
||||
mov DWORD [240+edx],ebx
|
||||
mov ecx,48
|
||||
mov edi,0
|
||||
lea ebp,[(L$_vpaes_consts+0x30-L$012pic_point)]
|
||||
call __vpaes_schedule_core
|
||||
L$012pic_point:
|
||||
mov esp,DWORD [48+esp]
|
||||
xor eax,eax
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
global _GFp_vpaes_encrypt
|
||||
align 16
|
||||
_GFp_vpaes_encrypt:
|
||||
L$_GFp_vpaes_encrypt_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
lea ebp,[(L$_vpaes_consts+0x30-L$013pic_point)]
|
||||
call __vpaes_preheat
|
||||
L$013pic_point:
|
||||
mov esi,DWORD [20+esp]
|
||||
lea ebx,[esp-56]
|
||||
mov edi,DWORD [24+esp]
|
||||
and ebx,-16
|
||||
mov edx,DWORD [28+esp]
|
||||
xchg ebx,esp
|
||||
mov DWORD [48+esp],ebx
|
||||
movdqu xmm0,[esi]
|
||||
call __vpaes_encrypt_core
|
||||
movdqu [edi],xmm0
|
||||
mov esp,DWORD [48+esp]
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
982
zeroidc/vendor/ring/pregenerated/tmp/vpaes-x86_64-nasm.asm
vendored
Normal file
982
zeroidc/vendor/ring/pregenerated/tmp/vpaes-x86_64-nasm.asm
vendored
Normal file
|
@ -0,0 +1,982 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
default rel
|
||||
%define XMMWORD
|
||||
%define YMMWORD
|
||||
%define ZMMWORD
|
||||
section .text code align=64
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_encrypt_core:
|
||||
|
||||
mov r9,rdx
|
||||
mov r11,16
|
||||
mov eax,DWORD[240+rdx]
|
||||
movdqa xmm1,xmm9
|
||||
movdqa xmm2,XMMWORD[$L$k_ipt]
|
||||
pandn xmm1,xmm0
|
||||
movdqu xmm5,XMMWORD[r9]
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm9
|
||||
DB 102,15,56,0,208
|
||||
movdqa xmm0,XMMWORD[(($L$k_ipt+16))]
|
||||
DB 102,15,56,0,193
|
||||
pxor xmm2,xmm5
|
||||
add r9,16
|
||||
pxor xmm0,xmm2
|
||||
lea r10,[$L$k_mc_backward]
|
||||
jmp NEAR $L$enc_entry
|
||||
|
||||
ALIGN 16
|
||||
$L$enc_loop:
|
||||
|
||||
movdqa xmm4,xmm13
|
||||
movdqa xmm0,xmm12
|
||||
DB 102,15,56,0,226
|
||||
DB 102,15,56,0,195
|
||||
pxor xmm4,xmm5
|
||||
movdqa xmm5,xmm15
|
||||
pxor xmm0,xmm4
|
||||
movdqa xmm1,XMMWORD[((-64))+r10*1+r11]
|
||||
DB 102,15,56,0,234
|
||||
movdqa xmm4,XMMWORD[r10*1+r11]
|
||||
movdqa xmm2,xmm14
|
||||
DB 102,15,56,0,211
|
||||
movdqa xmm3,xmm0
|
||||
pxor xmm2,xmm5
|
||||
DB 102,15,56,0,193
|
||||
add r9,16
|
||||
pxor xmm0,xmm2
|
||||
DB 102,15,56,0,220
|
||||
add r11,16
|
||||
pxor xmm3,xmm0
|
||||
DB 102,15,56,0,193
|
||||
and r11,0x30
|
||||
sub rax,1
|
||||
pxor xmm0,xmm3
|
||||
|
||||
$L$enc_entry:
|
||||
|
||||
movdqa xmm1,xmm9
|
||||
movdqa xmm5,xmm11
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm9
|
||||
DB 102,15,56,0,232
|
||||
movdqa xmm3,xmm10
|
||||
pxor xmm0,xmm1
|
||||
DB 102,15,56,0,217
|
||||
movdqa xmm4,xmm10
|
||||
pxor xmm3,xmm5
|
||||
DB 102,15,56,0,224
|
||||
movdqa xmm2,xmm10
|
||||
pxor xmm4,xmm5
|
||||
DB 102,15,56,0,211
|
||||
movdqa xmm3,xmm10
|
||||
pxor xmm2,xmm0
|
||||
DB 102,15,56,0,220
|
||||
movdqu xmm5,XMMWORD[r9]
|
||||
pxor xmm3,xmm1
|
||||
jnz NEAR $L$enc_loop
|
||||
|
||||
|
||||
movdqa xmm4,XMMWORD[((-96))+r10]
|
||||
movdqa xmm0,XMMWORD[((-80))+r10]
|
||||
DB 102,15,56,0,226
|
||||
pxor xmm4,xmm5
|
||||
DB 102,15,56,0,195
|
||||
movdqa xmm1,XMMWORD[64+r10*1+r11]
|
||||
pxor xmm0,xmm4
|
||||
DB 102,15,56,0,193
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_encrypt_core_2x:
|
||||
|
||||
mov r9,rdx
|
||||
mov r11,16
|
||||
mov eax,DWORD[240+rdx]
|
||||
movdqa xmm1,xmm9
|
||||
movdqa xmm7,xmm9
|
||||
movdqa xmm2,XMMWORD[$L$k_ipt]
|
||||
movdqa xmm8,xmm2
|
||||
pandn xmm1,xmm0
|
||||
pandn xmm7,xmm6
|
||||
movdqu xmm5,XMMWORD[r9]
|
||||
|
||||
psrld xmm1,4
|
||||
psrld xmm7,4
|
||||
pand xmm0,xmm9
|
||||
pand xmm6,xmm9
|
||||
DB 102,15,56,0,208
|
||||
DB 102,68,15,56,0,198
|
||||
movdqa xmm0,XMMWORD[(($L$k_ipt+16))]
|
||||
movdqa xmm6,xmm0
|
||||
DB 102,15,56,0,193
|
||||
DB 102,15,56,0,247
|
||||
pxor xmm2,xmm5
|
||||
pxor xmm8,xmm5
|
||||
add r9,16
|
||||
pxor xmm0,xmm2
|
||||
pxor xmm6,xmm8
|
||||
lea r10,[$L$k_mc_backward]
|
||||
jmp NEAR $L$enc2x_entry
|
||||
|
||||
ALIGN 16
|
||||
$L$enc2x_loop:
|
||||
|
||||
movdqa xmm4,XMMWORD[$L$k_sb1]
|
||||
movdqa xmm0,XMMWORD[(($L$k_sb1+16))]
|
||||
movdqa xmm12,xmm4
|
||||
movdqa xmm6,xmm0
|
||||
DB 102,15,56,0,226
|
||||
DB 102,69,15,56,0,224
|
||||
DB 102,15,56,0,195
|
||||
DB 102,65,15,56,0,243
|
||||
pxor xmm4,xmm5
|
||||
pxor xmm12,xmm5
|
||||
movdqa xmm5,XMMWORD[$L$k_sb2]
|
||||
movdqa xmm13,xmm5
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm6,xmm12
|
||||
movdqa xmm1,XMMWORD[((-64))+r10*1+r11]
|
||||
|
||||
DB 102,15,56,0,234
|
||||
DB 102,69,15,56,0,232
|
||||
movdqa xmm4,XMMWORD[r10*1+r11]
|
||||
|
||||
movdqa xmm2,XMMWORD[(($L$k_sb2+16))]
|
||||
movdqa xmm8,xmm2
|
||||
DB 102,15,56,0,211
|
||||
DB 102,69,15,56,0,195
|
||||
movdqa xmm3,xmm0
|
||||
movdqa xmm11,xmm6
|
||||
pxor xmm2,xmm5
|
||||
pxor xmm8,xmm13
|
||||
DB 102,15,56,0,193
|
||||
DB 102,15,56,0,241
|
||||
add r9,16
|
||||
pxor xmm0,xmm2
|
||||
pxor xmm6,xmm8
|
||||
DB 102,15,56,0,220
|
||||
DB 102,68,15,56,0,220
|
||||
add r11,16
|
||||
pxor xmm3,xmm0
|
||||
pxor xmm11,xmm6
|
||||
DB 102,15,56,0,193
|
||||
DB 102,15,56,0,241
|
||||
and r11,0x30
|
||||
sub rax,1
|
||||
pxor xmm0,xmm3
|
||||
pxor xmm6,xmm11
|
||||
|
||||
$L$enc2x_entry:
|
||||
|
||||
movdqa xmm1,xmm9
|
||||
movdqa xmm7,xmm9
|
||||
movdqa xmm5,XMMWORD[(($L$k_inv+16))]
|
||||
movdqa xmm13,xmm5
|
||||
pandn xmm1,xmm0
|
||||
pandn xmm7,xmm6
|
||||
psrld xmm1,4
|
||||
psrld xmm7,4
|
||||
pand xmm0,xmm9
|
||||
pand xmm6,xmm9
|
||||
DB 102,15,56,0,232
|
||||
DB 102,68,15,56,0,238
|
||||
movdqa xmm3,xmm10
|
||||
movdqa xmm11,xmm10
|
||||
pxor xmm0,xmm1
|
||||
pxor xmm6,xmm7
|
||||
DB 102,15,56,0,217
|
||||
DB 102,68,15,56,0,223
|
||||
movdqa xmm4,xmm10
|
||||
movdqa xmm12,xmm10
|
||||
pxor xmm3,xmm5
|
||||
pxor xmm11,xmm13
|
||||
DB 102,15,56,0,224
|
||||
DB 102,68,15,56,0,230
|
||||
movdqa xmm2,xmm10
|
||||
movdqa xmm8,xmm10
|
||||
pxor xmm4,xmm5
|
||||
pxor xmm12,xmm13
|
||||
DB 102,15,56,0,211
|
||||
DB 102,69,15,56,0,195
|
||||
movdqa xmm3,xmm10
|
||||
movdqa xmm11,xmm10
|
||||
pxor xmm2,xmm0
|
||||
pxor xmm8,xmm6
|
||||
DB 102,15,56,0,220
|
||||
DB 102,69,15,56,0,220
|
||||
movdqu xmm5,XMMWORD[r9]
|
||||
|
||||
pxor xmm3,xmm1
|
||||
pxor xmm11,xmm7
|
||||
jnz NEAR $L$enc2x_loop
|
||||
|
||||
|
||||
movdqa xmm4,XMMWORD[((-96))+r10]
|
||||
movdqa xmm0,XMMWORD[((-80))+r10]
|
||||
movdqa xmm12,xmm4
|
||||
movdqa xmm6,xmm0
|
||||
DB 102,15,56,0,226
|
||||
DB 102,69,15,56,0,224
|
||||
pxor xmm4,xmm5
|
||||
pxor xmm12,xmm5
|
||||
DB 102,15,56,0,195
|
||||
DB 102,65,15,56,0,243
|
||||
movdqa xmm1,XMMWORD[64+r10*1+r11]
|
||||
|
||||
pxor xmm0,xmm4
|
||||
pxor xmm6,xmm12
|
||||
DB 102,15,56,0,193
|
||||
DB 102,15,56,0,241
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_schedule_core:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
call _vpaes_preheat
|
||||
movdqa xmm8,XMMWORD[$L$k_rcon]
|
||||
movdqu xmm0,XMMWORD[rdi]
|
||||
|
||||
|
||||
movdqa xmm3,xmm0
|
||||
lea r11,[$L$k_ipt]
|
||||
call _vpaes_schedule_transform
|
||||
movdqa xmm7,xmm0
|
||||
|
||||
lea r10,[$L$k_sr]
|
||||
|
||||
|
||||
movdqu XMMWORD[rdx],xmm0
|
||||
|
||||
$L$schedule_go:
|
||||
cmp esi,192
|
||||
ja NEAR $L$schedule_256
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$L$schedule_128:
|
||||
mov esi,10
|
||||
|
||||
$L$oop_schedule_128:
|
||||
call _vpaes_schedule_round
|
||||
dec rsi
|
||||
jz NEAR $L$schedule_mangle_last
|
||||
call _vpaes_schedule_mangle
|
||||
jmp NEAR $L$oop_schedule_128
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
$L$schedule_256:
|
||||
movdqu xmm0,XMMWORD[16+rdi]
|
||||
call _vpaes_schedule_transform
|
||||
mov esi,7
|
||||
|
||||
$L$oop_schedule_256:
|
||||
call _vpaes_schedule_mangle
|
||||
movdqa xmm6,xmm0
|
||||
|
||||
|
||||
call _vpaes_schedule_round
|
||||
dec rsi
|
||||
jz NEAR $L$schedule_mangle_last
|
||||
call _vpaes_schedule_mangle
|
||||
|
||||
|
||||
pshufd xmm0,xmm0,0xFF
|
||||
movdqa xmm5,xmm7
|
||||
movdqa xmm7,xmm6
|
||||
call _vpaes_schedule_low_round
|
||||
movdqa xmm7,xmm5
|
||||
|
||||
jmp NEAR $L$oop_schedule_256
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
$L$schedule_mangle_last:
|
||||
|
||||
lea r11,[$L$k_deskew]
|
||||
|
||||
|
||||
movdqa xmm1,XMMWORD[r10*1+r8]
|
||||
DB 102,15,56,0,193
|
||||
lea r11,[$L$k_opt]
|
||||
add rdx,32
|
||||
|
||||
$L$schedule_mangle_last_dec:
|
||||
add rdx,-16
|
||||
pxor xmm0,XMMWORD[$L$k_s63]
|
||||
call _vpaes_schedule_transform
|
||||
movdqu XMMWORD[rdx],xmm0
|
||||
|
||||
|
||||
pxor xmm0,xmm0
|
||||
pxor xmm1,xmm1
|
||||
pxor xmm2,xmm2
|
||||
pxor xmm3,xmm3
|
||||
pxor xmm4,xmm4
|
||||
pxor xmm5,xmm5
|
||||
pxor xmm6,xmm6
|
||||
pxor xmm7,xmm7
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_schedule_round:
|
||||
|
||||
|
||||
pxor xmm1,xmm1
|
||||
DB 102,65,15,58,15,200,15
|
||||
DB 102,69,15,58,15,192,15
|
||||
pxor xmm7,xmm1
|
||||
|
||||
|
||||
pshufd xmm0,xmm0,0xFF
|
||||
DB 102,15,58,15,192,1
|
||||
|
||||
|
||||
|
||||
|
||||
_vpaes_schedule_low_round:
|
||||
|
||||
movdqa xmm1,xmm7
|
||||
pslldq xmm7,4
|
||||
pxor xmm7,xmm1
|
||||
movdqa xmm1,xmm7
|
||||
pslldq xmm7,8
|
||||
pxor xmm7,xmm1
|
||||
pxor xmm7,XMMWORD[$L$k_s63]
|
||||
|
||||
|
||||
movdqa xmm1,xmm9
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm9
|
||||
movdqa xmm2,xmm11
|
||||
DB 102,15,56,0,208
|
||||
pxor xmm0,xmm1
|
||||
movdqa xmm3,xmm10
|
||||
DB 102,15,56,0,217
|
||||
pxor xmm3,xmm2
|
||||
movdqa xmm4,xmm10
|
||||
DB 102,15,56,0,224
|
||||
pxor xmm4,xmm2
|
||||
movdqa xmm2,xmm10
|
||||
DB 102,15,56,0,211
|
||||
pxor xmm2,xmm0
|
||||
movdqa xmm3,xmm10
|
||||
DB 102,15,56,0,220
|
||||
pxor xmm3,xmm1
|
||||
movdqa xmm4,xmm13
|
||||
DB 102,15,56,0,226
|
||||
movdqa xmm0,xmm12
|
||||
DB 102,15,56,0,195
|
||||
pxor xmm0,xmm4
|
||||
|
||||
|
||||
pxor xmm0,xmm7
|
||||
movdqa xmm7,xmm0
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_schedule_transform:
|
||||
|
||||
movdqa xmm1,xmm9
|
||||
pandn xmm1,xmm0
|
||||
psrld xmm1,4
|
||||
pand xmm0,xmm9
|
||||
movdqa xmm2,XMMWORD[r11]
|
||||
DB 102,15,56,0,208
|
||||
movdqa xmm0,XMMWORD[16+r11]
|
||||
DB 102,15,56,0,193
|
||||
pxor xmm0,xmm2
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_schedule_mangle:
|
||||
|
||||
movdqa xmm4,xmm0
|
||||
movdqa xmm5,XMMWORD[$L$k_mc_forward]
|
||||
|
||||
|
||||
add rdx,16
|
||||
pxor xmm4,XMMWORD[$L$k_s63]
|
||||
DB 102,15,56,0,229
|
||||
movdqa xmm3,xmm4
|
||||
DB 102,15,56,0,229
|
||||
pxor xmm3,xmm4
|
||||
DB 102,15,56,0,229
|
||||
pxor xmm3,xmm4
|
||||
|
||||
$L$schedule_mangle_both:
|
||||
movdqa xmm1,XMMWORD[r10*1+r8]
|
||||
DB 102,15,56,0,217
|
||||
add r8,-16
|
||||
and r8,0x30
|
||||
movdqu XMMWORD[rdx],xmm3
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
global GFp_vpaes_set_encrypt_key
|
||||
|
||||
ALIGN 16
|
||||
GFp_vpaes_set_encrypt_key:
|
||||
mov QWORD[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_GFp_vpaes_set_encrypt_key:
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
|
||||
|
||||
|
||||
%ifdef BORINGSSL_DISPATCH_TEST
|
||||
EXTERN BORINGSSL_function_hit
|
||||
mov BYTE[((BORINGSSL_function_hit+5))],1
|
||||
%endif
|
||||
|
||||
lea rsp,[((-184))+rsp]
|
||||
movaps XMMWORD[16+rsp],xmm6
|
||||
movaps XMMWORD[32+rsp],xmm7
|
||||
movaps XMMWORD[48+rsp],xmm8
|
||||
movaps XMMWORD[64+rsp],xmm9
|
||||
movaps XMMWORD[80+rsp],xmm10
|
||||
movaps XMMWORD[96+rsp],xmm11
|
||||
movaps XMMWORD[112+rsp],xmm12
|
||||
movaps XMMWORD[128+rsp],xmm13
|
||||
movaps XMMWORD[144+rsp],xmm14
|
||||
movaps XMMWORD[160+rsp],xmm15
|
||||
$L$enc_key_body:
|
||||
mov eax,esi
|
||||
shr eax,5
|
||||
add eax,5
|
||||
mov DWORD[240+rdx],eax
|
||||
|
||||
mov ecx,0
|
||||
mov r8d,0x30
|
||||
call _vpaes_schedule_core
|
||||
movaps xmm6,XMMWORD[16+rsp]
|
||||
movaps xmm7,XMMWORD[32+rsp]
|
||||
movaps xmm8,XMMWORD[48+rsp]
|
||||
movaps xmm9,XMMWORD[64+rsp]
|
||||
movaps xmm10,XMMWORD[80+rsp]
|
||||
movaps xmm11,XMMWORD[96+rsp]
|
||||
movaps xmm12,XMMWORD[112+rsp]
|
||||
movaps xmm13,XMMWORD[128+rsp]
|
||||
movaps xmm14,XMMWORD[144+rsp]
|
||||
movaps xmm15,XMMWORD[160+rsp]
|
||||
lea rsp,[184+rsp]
|
||||
$L$enc_key_epilogue:
|
||||
xor eax,eax
|
||||
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_GFp_vpaes_set_encrypt_key:
|
||||
|
||||
global GFp_vpaes_encrypt
|
||||
|
||||
ALIGN 16
|
||||
GFp_vpaes_encrypt:
|
||||
mov QWORD[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_GFp_vpaes_encrypt:
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
|
||||
|
||||
|
||||
lea rsp,[((-184))+rsp]
|
||||
movaps XMMWORD[16+rsp],xmm6
|
||||
movaps XMMWORD[32+rsp],xmm7
|
||||
movaps XMMWORD[48+rsp],xmm8
|
||||
movaps XMMWORD[64+rsp],xmm9
|
||||
movaps XMMWORD[80+rsp],xmm10
|
||||
movaps XMMWORD[96+rsp],xmm11
|
||||
movaps XMMWORD[112+rsp],xmm12
|
||||
movaps XMMWORD[128+rsp],xmm13
|
||||
movaps XMMWORD[144+rsp],xmm14
|
||||
movaps XMMWORD[160+rsp],xmm15
|
||||
$L$enc_body:
|
||||
movdqu xmm0,XMMWORD[rdi]
|
||||
call _vpaes_preheat
|
||||
call _vpaes_encrypt_core
|
||||
movdqu XMMWORD[rsi],xmm0
|
||||
movaps xmm6,XMMWORD[16+rsp]
|
||||
movaps xmm7,XMMWORD[32+rsp]
|
||||
movaps xmm8,XMMWORD[48+rsp]
|
||||
movaps xmm9,XMMWORD[64+rsp]
|
||||
movaps xmm10,XMMWORD[80+rsp]
|
||||
movaps xmm11,XMMWORD[96+rsp]
|
||||
movaps xmm12,XMMWORD[112+rsp]
|
||||
movaps xmm13,XMMWORD[128+rsp]
|
||||
movaps xmm14,XMMWORD[144+rsp]
|
||||
movaps xmm15,XMMWORD[160+rsp]
|
||||
lea rsp,[184+rsp]
|
||||
$L$enc_epilogue:
|
||||
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_GFp_vpaes_encrypt:
|
||||
global GFp_vpaes_ctr32_encrypt_blocks
|
||||
|
||||
ALIGN 16
|
||||
GFp_vpaes_ctr32_encrypt_blocks:
|
||||
mov QWORD[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_GFp_vpaes_ctr32_encrypt_blocks:
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
mov rcx,r9
|
||||
mov r8,QWORD[40+rsp]
|
||||
|
||||
|
||||
|
||||
|
||||
xchg rdx,rcx
|
||||
test rcx,rcx
|
||||
jz NEAR $L$ctr32_abort
|
||||
lea rsp,[((-184))+rsp]
|
||||
movaps XMMWORD[16+rsp],xmm6
|
||||
movaps XMMWORD[32+rsp],xmm7
|
||||
movaps XMMWORD[48+rsp],xmm8
|
||||
movaps XMMWORD[64+rsp],xmm9
|
||||
movaps XMMWORD[80+rsp],xmm10
|
||||
movaps XMMWORD[96+rsp],xmm11
|
||||
movaps XMMWORD[112+rsp],xmm12
|
||||
movaps XMMWORD[128+rsp],xmm13
|
||||
movaps XMMWORD[144+rsp],xmm14
|
||||
movaps XMMWORD[160+rsp],xmm15
|
||||
$L$ctr32_body:
|
||||
movdqu xmm0,XMMWORD[r8]
|
||||
movdqa xmm8,XMMWORD[$L$ctr_add_one]
|
||||
sub rsi,rdi
|
||||
call _vpaes_preheat
|
||||
movdqa xmm6,xmm0
|
||||
pshufb xmm6,XMMWORD[$L$rev_ctr]
|
||||
|
||||
test rcx,1
|
||||
jz NEAR $L$ctr32_prep_loop
|
||||
|
||||
|
||||
|
||||
movdqu xmm7,XMMWORD[rdi]
|
||||
call _vpaes_encrypt_core
|
||||
pxor xmm0,xmm7
|
||||
paddd xmm6,xmm8
|
||||
movdqu XMMWORD[rdi*1+rsi],xmm0
|
||||
sub rcx,1
|
||||
lea rdi,[16+rdi]
|
||||
jz NEAR $L$ctr32_done
|
||||
|
||||
$L$ctr32_prep_loop:
|
||||
|
||||
|
||||
movdqa xmm14,xmm6
|
||||
movdqa xmm15,xmm6
|
||||
paddd xmm15,xmm8
|
||||
|
||||
$L$ctr32_loop:
|
||||
movdqa xmm1,XMMWORD[$L$rev_ctr]
|
||||
movdqa xmm0,xmm14
|
||||
movdqa xmm6,xmm15
|
||||
DB 102,15,56,0,193
|
||||
DB 102,15,56,0,241
|
||||
call _vpaes_encrypt_core_2x
|
||||
movdqu xmm1,XMMWORD[rdi]
|
||||
movdqu xmm2,XMMWORD[16+rdi]
|
||||
movdqa xmm3,XMMWORD[$L$ctr_add_two]
|
||||
pxor xmm0,xmm1
|
||||
pxor xmm6,xmm2
|
||||
paddd xmm14,xmm3
|
||||
paddd xmm15,xmm3
|
||||
movdqu XMMWORD[rdi*1+rsi],xmm0
|
||||
movdqu XMMWORD[16+rdi*1+rsi],xmm6
|
||||
sub rcx,2
|
||||
lea rdi,[32+rdi]
|
||||
jnz NEAR $L$ctr32_loop
|
||||
|
||||
$L$ctr32_done:
|
||||
movaps xmm6,XMMWORD[16+rsp]
|
||||
movaps xmm7,XMMWORD[32+rsp]
|
||||
movaps xmm8,XMMWORD[48+rsp]
|
||||
movaps xmm9,XMMWORD[64+rsp]
|
||||
movaps xmm10,XMMWORD[80+rsp]
|
||||
movaps xmm11,XMMWORD[96+rsp]
|
||||
movaps xmm12,XMMWORD[112+rsp]
|
||||
movaps xmm13,XMMWORD[128+rsp]
|
||||
movaps xmm14,XMMWORD[144+rsp]
|
||||
movaps xmm15,XMMWORD[160+rsp]
|
||||
lea rsp,[184+rsp]
|
||||
$L$ctr32_epilogue:
|
||||
$L$ctr32_abort:
|
||||
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
$L$SEH_end_GFp_vpaes_ctr32_encrypt_blocks:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 16
|
||||
_vpaes_preheat:
|
||||
|
||||
lea r10,[$L$k_s0F]
|
||||
movdqa xmm10,XMMWORD[((-32))+r10]
|
||||
movdqa xmm11,XMMWORD[((-16))+r10]
|
||||
movdqa xmm9,XMMWORD[r10]
|
||||
movdqa xmm13,XMMWORD[48+r10]
|
||||
movdqa xmm12,XMMWORD[64+r10]
|
||||
movdqa xmm15,XMMWORD[80+r10]
|
||||
movdqa xmm14,XMMWORD[96+r10]
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 64
|
||||
_vpaes_consts:
|
||||
$L$k_inv:
|
||||
DQ 0x0E05060F0D080180,0x040703090A0B0C02
|
||||
DQ 0x01040A060F0B0780,0x030D0E0C02050809
|
||||
|
||||
$L$k_s0F:
|
||||
DQ 0x0F0F0F0F0F0F0F0F,0x0F0F0F0F0F0F0F0F
|
||||
|
||||
$L$k_ipt:
|
||||
DQ 0xC2B2E8985A2A7000,0xCABAE09052227808
|
||||
DQ 0x4C01307D317C4D00,0xCD80B1FCB0FDCC81
|
||||
|
||||
$L$k_sb1:
|
||||
DQ 0xB19BE18FCB503E00,0xA5DF7A6E142AF544
|
||||
DQ 0x3618D415FAE22300,0x3BF7CCC10D2ED9EF
|
||||
$L$k_sb2:
|
||||
DQ 0xE27A93C60B712400,0x5EB7E955BC982FCD
|
||||
DQ 0x69EB88400AE12900,0xC2A163C8AB82234A
|
||||
$L$k_sbo:
|
||||
DQ 0xD0D26D176FBDC700,0x15AABF7AC502A878
|
||||
DQ 0xCFE474A55FBB6A00,0x8E1E90D1412B35FA
|
||||
|
||||
$L$k_mc_forward:
|
||||
DQ 0x0407060500030201,0x0C0F0E0D080B0A09
|
||||
DQ 0x080B0A0904070605,0x000302010C0F0E0D
|
||||
DQ 0x0C0F0E0D080B0A09,0x0407060500030201
|
||||
DQ 0x000302010C0F0E0D,0x080B0A0904070605
|
||||
|
||||
$L$k_mc_backward:
|
||||
DQ 0x0605040702010003,0x0E0D0C0F0A09080B
|
||||
DQ 0x020100030E0D0C0F,0x0A09080B06050407
|
||||
DQ 0x0E0D0C0F0A09080B,0x0605040702010003
|
||||
DQ 0x0A09080B06050407,0x020100030E0D0C0F
|
||||
|
||||
$L$k_sr:
|
||||
DQ 0x0706050403020100,0x0F0E0D0C0B0A0908
|
||||
DQ 0x030E09040F0A0500,0x0B06010C07020D08
|
||||
DQ 0x0F060D040B020900,0x070E050C030A0108
|
||||
DQ 0x0B0E0104070A0D00,0x0306090C0F020508
|
||||
|
||||
$L$k_rcon:
|
||||
DQ 0x1F8391B9AF9DEEB6,0x702A98084D7C7D81
|
||||
|
||||
$L$k_s63:
|
||||
DQ 0x5B5B5B5B5B5B5B5B,0x5B5B5B5B5B5B5B5B
|
||||
|
||||
$L$k_opt:
|
||||
DQ 0xFF9F4929D6B66000,0xF7974121DEBE6808
|
||||
DQ 0x01EDBD5150BCEC00,0xE10D5DB1B05C0CE0
|
||||
|
||||
$L$k_deskew:
|
||||
DQ 0x07E4A34047A4E300,0x1DFEB95A5DBEF91A
|
||||
DQ 0x5F36B5DC83EA6900,0x2841C2ABF49D1E77
|
||||
|
||||
|
||||
$L$rev_ctr:
|
||||
DQ 0x0706050403020100,0x0c0d0e0f0b0a0908
|
||||
|
||||
|
||||
$L$ctr_add_one:
|
||||
DQ 0x0000000000000000,0x0000000100000000
|
||||
$L$ctr_add_two:
|
||||
DQ 0x0000000000000000,0x0000000200000000
|
||||
|
||||
DB 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105
|
||||
DB 111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54
|
||||
DB 52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97
|
||||
DB 109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32
|
||||
DB 85,110,105,118,101,114,115,105,116,121,41,0
|
||||
ALIGN 64
|
||||
|
||||
EXTERN __imp_RtlVirtualUnwind
|
||||
|
||||
ALIGN 16
|
||||
se_handler:
|
||||
push rsi
|
||||
push rdi
|
||||
push rbx
|
||||
push rbp
|
||||
push r12
|
||||
push r13
|
||||
push r14
|
||||
push r15
|
||||
pushfq
|
||||
sub rsp,64
|
||||
|
||||
mov rax,QWORD[120+r8]
|
||||
mov rbx,QWORD[248+r8]
|
||||
|
||||
mov rsi,QWORD[8+r9]
|
||||
mov r11,QWORD[56+r9]
|
||||
|
||||
mov r10d,DWORD[r11]
|
||||
lea r10,[r10*1+rsi]
|
||||
cmp rbx,r10
|
||||
jb NEAR $L$in_prologue
|
||||
|
||||
mov rax,QWORD[152+r8]
|
||||
|
||||
mov r10d,DWORD[4+r11]
|
||||
lea r10,[r10*1+rsi]
|
||||
cmp rbx,r10
|
||||
jae NEAR $L$in_prologue
|
||||
|
||||
lea rsi,[16+rax]
|
||||
lea rdi,[512+r8]
|
||||
mov ecx,20
|
||||
DD 0xa548f3fc
|
||||
lea rax,[184+rax]
|
||||
|
||||
$L$in_prologue:
|
||||
mov rdi,QWORD[8+rax]
|
||||
mov rsi,QWORD[16+rax]
|
||||
mov QWORD[152+r8],rax
|
||||
mov QWORD[168+r8],rsi
|
||||
mov QWORD[176+r8],rdi
|
||||
|
||||
mov rdi,QWORD[40+r9]
|
||||
mov rsi,r8
|
||||
mov ecx,154
|
||||
DD 0xa548f3fc
|
||||
|
||||
mov rsi,r9
|
||||
xor rcx,rcx
|
||||
mov rdx,QWORD[8+rsi]
|
||||
mov r8,QWORD[rsi]
|
||||
mov r9,QWORD[16+rsi]
|
||||
mov r10,QWORD[40+rsi]
|
||||
lea r11,[56+rsi]
|
||||
lea r12,[24+rsi]
|
||||
mov QWORD[32+rsp],r10
|
||||
mov QWORD[40+rsp],r11
|
||||
mov QWORD[48+rsp],r12
|
||||
mov QWORD[56+rsp],rcx
|
||||
call QWORD[__imp_RtlVirtualUnwind]
|
||||
|
||||
mov eax,1
|
||||
add rsp,64
|
||||
popfq
|
||||
pop r15
|
||||
pop r14
|
||||
pop r13
|
||||
pop r12
|
||||
pop rbp
|
||||
pop rbx
|
||||
pop rdi
|
||||
pop rsi
|
||||
DB 0F3h,0C3h ;repret
|
||||
|
||||
|
||||
section .pdata rdata align=4
|
||||
ALIGN 4
|
||||
DD $L$SEH_begin_GFp_vpaes_set_encrypt_key wrt ..imagebase
|
||||
DD $L$SEH_end_GFp_vpaes_set_encrypt_key wrt ..imagebase
|
||||
DD $L$SEH_info_GFp_vpaes_set_encrypt_key wrt ..imagebase
|
||||
|
||||
DD $L$SEH_begin_GFp_vpaes_encrypt wrt ..imagebase
|
||||
DD $L$SEH_end_GFp_vpaes_encrypt wrt ..imagebase
|
||||
DD $L$SEH_info_GFp_vpaes_encrypt wrt ..imagebase
|
||||
DD $L$SEH_begin_GFp_vpaes_ctr32_encrypt_blocks wrt ..imagebase
|
||||
DD $L$SEH_end_GFp_vpaes_ctr32_encrypt_blocks wrt ..imagebase
|
||||
DD $L$SEH_info_GFp_vpaes_ctr32_encrypt_blocks wrt ..imagebase
|
||||
|
||||
section .xdata rdata align=8
|
||||
ALIGN 8
|
||||
$L$SEH_info_GFp_vpaes_set_encrypt_key:
|
||||
DB 9,0,0,0
|
||||
DD se_handler wrt ..imagebase
|
||||
DD $L$enc_key_body wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase
|
||||
$L$SEH_info_GFp_vpaes_encrypt:
|
||||
DB 9,0,0,0
|
||||
DD se_handler wrt ..imagebase
|
||||
DD $L$enc_body wrt ..imagebase,$L$enc_epilogue wrt ..imagebase
|
||||
$L$SEH_info_GFp_vpaes_ctr32_encrypt_blocks:
|
||||
DB 9,0,0,0
|
||||
DD se_handler wrt ..imagebase
|
||||
DD $L$ctr32_body wrt ..imagebase,$L$ctr32_epilogue wrt ..imagebase
|
227
zeroidc/vendor/ring/pregenerated/tmp/x86-mont-win32n.asm
vendored
Normal file
227
zeroidc/vendor/ring/pregenerated/tmp/x86-mont-win32n.asm
vendored
Normal file
|
@ -0,0 +1,227 @@
|
|||
; This file is generated from a similarly-named Perl script in the BoringSSL
|
||||
; source tree. Do not edit by hand.
|
||||
|
||||
%ifdef BORINGSSL_PREFIX
|
||||
%include "boringssl_prefix_symbols_nasm.inc"
|
||||
%endif
|
||||
%ifidn __OUTPUT_FORMAT__,obj
|
||||
section code use32 class=code align=64
|
||||
%elifidn __OUTPUT_FORMAT__,win32
|
||||
$@feat.00 equ 1
|
||||
section .text code align=64
|
||||
%else
|
||||
section .text code
|
||||
%endif
|
||||
;extern _GFp_ia32cap_P
|
||||
global _GFp_bn_mul_mont
|
||||
align 16
|
||||
_GFp_bn_mul_mont:
|
||||
L$_GFp_bn_mul_mont_begin:
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
xor eax,eax
|
||||
mov edi,DWORD [40+esp]
|
||||
lea esi,[20+esp]
|
||||
lea edx,[24+esp]
|
||||
add edi,2
|
||||
neg edi
|
||||
lea ebp,[edi*4+esp-32]
|
||||
neg edi
|
||||
mov eax,ebp
|
||||
sub eax,edx
|
||||
and eax,2047
|
||||
sub ebp,eax
|
||||
xor edx,ebp
|
||||
and edx,2048
|
||||
xor edx,2048
|
||||
sub ebp,edx
|
||||
and ebp,-64
|
||||
mov eax,esp
|
||||
sub eax,ebp
|
||||
and eax,-4096
|
||||
mov edx,esp
|
||||
lea esp,[eax*1+ebp]
|
||||
mov eax,DWORD [esp]
|
||||
cmp esp,ebp
|
||||
ja NEAR L$000page_walk
|
||||
jmp NEAR L$001page_walk_done
|
||||
align 16
|
||||
L$000page_walk:
|
||||
lea esp,[esp-4096]
|
||||
mov eax,DWORD [esp]
|
||||
cmp esp,ebp
|
||||
ja NEAR L$000page_walk
|
||||
L$001page_walk_done:
|
||||
mov eax,DWORD [esi]
|
||||
mov ebx,DWORD [4+esi]
|
||||
mov ecx,DWORD [8+esi]
|
||||
mov ebp,DWORD [12+esi]
|
||||
mov esi,DWORD [16+esi]
|
||||
mov esi,DWORD [esi]
|
||||
mov DWORD [4+esp],eax
|
||||
mov DWORD [8+esp],ebx
|
||||
mov DWORD [12+esp],ecx
|
||||
mov DWORD [16+esp],ebp
|
||||
mov DWORD [20+esp],esi
|
||||
lea ebx,[edi-3]
|
||||
mov DWORD [24+esp],edx
|
||||
lea eax,[_GFp_ia32cap_P]
|
||||
bt DWORD [eax],26
|
||||
mov eax,-1
|
||||
movd mm7,eax
|
||||
mov esi,DWORD [8+esp]
|
||||
mov edi,DWORD [12+esp]
|
||||
mov ebp,DWORD [16+esp]
|
||||
xor edx,edx
|
||||
xor ecx,ecx
|
||||
movd mm4,DWORD [edi]
|
||||
movd mm5,DWORD [esi]
|
||||
movd mm3,DWORD [ebp]
|
||||
pmuludq mm5,mm4
|
||||
movq mm2,mm5
|
||||
movq mm0,mm5
|
||||
pand mm0,mm7
|
||||
pmuludq mm5,[20+esp]
|
||||
pmuludq mm3,mm5
|
||||
paddq mm3,mm0
|
||||
movd mm1,DWORD [4+ebp]
|
||||
movd mm0,DWORD [4+esi]
|
||||
psrlq mm2,32
|
||||
psrlq mm3,32
|
||||
inc ecx
|
||||
align 16
|
||||
L$0021st:
|
||||
pmuludq mm0,mm4
|
||||
pmuludq mm1,mm5
|
||||
paddq mm2,mm0
|
||||
paddq mm3,mm1
|
||||
movq mm0,mm2
|
||||
pand mm0,mm7
|
||||
movd mm1,DWORD [4+ecx*4+ebp]
|
||||
paddq mm3,mm0
|
||||
movd mm0,DWORD [4+ecx*4+esi]
|
||||
psrlq mm2,32
|
||||
movd DWORD [28+ecx*4+esp],mm3
|
||||
psrlq mm3,32
|
||||
lea ecx,[1+ecx]
|
||||
cmp ecx,ebx
|
||||
jl NEAR L$0021st
|
||||
pmuludq mm0,mm4
|
||||
pmuludq mm1,mm5
|
||||
paddq mm2,mm0
|
||||
paddq mm3,mm1
|
||||
movq mm0,mm2
|
||||
pand mm0,mm7
|
||||
paddq mm3,mm0
|
||||
movd DWORD [28+ecx*4+esp],mm3
|
||||
psrlq mm2,32
|
||||
psrlq mm3,32
|
||||
paddq mm3,mm2
|
||||
movq [32+ebx*4+esp],mm3
|
||||
inc edx
|
||||
L$003outer:
|
||||
xor ecx,ecx
|
||||
movd mm4,DWORD [edx*4+edi]
|
||||
movd mm5,DWORD [esi]
|
||||
movd mm6,DWORD [32+esp]
|
||||
movd mm3,DWORD [ebp]
|
||||
pmuludq mm5,mm4
|
||||
paddq mm5,mm6
|
||||
movq mm0,mm5
|
||||
movq mm2,mm5
|
||||
pand mm0,mm7
|
||||
pmuludq mm5,[20+esp]
|
||||
pmuludq mm3,mm5
|
||||
paddq mm3,mm0
|
||||
movd mm6,DWORD [36+esp]
|
||||
movd mm1,DWORD [4+ebp]
|
||||
movd mm0,DWORD [4+esi]
|
||||
psrlq mm2,32
|
||||
psrlq mm3,32
|
||||
paddq mm2,mm6
|
||||
inc ecx
|
||||
dec ebx
|
||||
L$004inner:
|
||||
pmuludq mm0,mm4
|
||||
pmuludq mm1,mm5
|
||||
paddq mm2,mm0
|
||||
paddq mm3,mm1
|
||||
movq mm0,mm2
|
||||
movd mm6,DWORD [36+ecx*4+esp]
|
||||
pand mm0,mm7
|
||||
movd mm1,DWORD [4+ecx*4+ebp]
|
||||
paddq mm3,mm0
|
||||
movd mm0,DWORD [4+ecx*4+esi]
|
||||
psrlq mm2,32
|
||||
movd DWORD [28+ecx*4+esp],mm3
|
||||
psrlq mm3,32
|
||||
paddq mm2,mm6
|
||||
dec ebx
|
||||
lea ecx,[1+ecx]
|
||||
jnz NEAR L$004inner
|
||||
mov ebx,ecx
|
||||
pmuludq mm0,mm4
|
||||
pmuludq mm1,mm5
|
||||
paddq mm2,mm0
|
||||
paddq mm3,mm1
|
||||
movq mm0,mm2
|
||||
pand mm0,mm7
|
||||
paddq mm3,mm0
|
||||
movd DWORD [28+ecx*4+esp],mm3
|
||||
psrlq mm2,32
|
||||
psrlq mm3,32
|
||||
movd mm6,DWORD [36+ebx*4+esp]
|
||||
paddq mm3,mm2
|
||||
paddq mm3,mm6
|
||||
movq [32+ebx*4+esp],mm3
|
||||
lea edx,[1+edx]
|
||||
cmp edx,ebx
|
||||
jle NEAR L$003outer
|
||||
emms
|
||||
align 16
|
||||
L$005common_tail:
|
||||
mov ebp,DWORD [16+esp]
|
||||
mov edi,DWORD [4+esp]
|
||||
lea esi,[32+esp]
|
||||
mov eax,DWORD [esi]
|
||||
mov ecx,ebx
|
||||
xor edx,edx
|
||||
align 16
|
||||
L$006sub:
|
||||
sbb eax,DWORD [edx*4+ebp]
|
||||
mov DWORD [edx*4+edi],eax
|
||||
dec ecx
|
||||
mov eax,DWORD [4+edx*4+esi]
|
||||
lea edx,[1+edx]
|
||||
jge NEAR L$006sub
|
||||
sbb eax,0
|
||||
mov edx,-1
|
||||
xor edx,eax
|
||||
jmp NEAR L$007copy
|
||||
align 16
|
||||
L$007copy:
|
||||
mov esi,DWORD [32+ebx*4+esp]
|
||||
mov ebp,DWORD [ebx*4+edi]
|
||||
mov DWORD [32+ebx*4+esp],ecx
|
||||
and esi,eax
|
||||
and ebp,edx
|
||||
or ebp,esi
|
||||
mov DWORD [ebx*4+edi],ebp
|
||||
dec ebx
|
||||
jge NEAR L$007copy
|
||||
mov esp,DWORD [24+esp]
|
||||
mov eax,1
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
db 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105
|
||||
db 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56
|
||||
db 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
|
||||
db 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
|
||||
db 111,114,103,62,0
|
||||
segment .bss
|
||||
common _GFp_ia32cap_P 16
|
1475
zeroidc/vendor/ring/pregenerated/tmp/x86_64-mont-nasm.asm
vendored
Normal file
1475
zeroidc/vendor/ring/pregenerated/tmp/x86_64-mont-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
4031
zeroidc/vendor/ring/pregenerated/tmp/x86_64-mont5-nasm.asm
vendored
Normal file
4031
zeroidc/vendor/ring/pregenerated/tmp/x86_64-mont5-nasm.asm
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue