chore: checkpoint before Python removal

This commit is contained in:
2026-03-26 22:33:59 +00:00
parent 683cec9307
commit e568ddf82a
29972 changed files with 11269302 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%include "openssl/boringssl_prefix_symbols_nasm.inc"
section .text code align=64
global gcm_init_avx512
global gcm_ghash_avx512
global gcm_gmult_avx512
global gcm_setiv_avx512
global aes_gcm_encrypt_avx512
global aes_gcm_decrypt_avx512
gcm_init_avx512:
gcm_ghash_avx512:
gcm_gmult_avx512:
gcm_setiv_avx512:
aes_gcm_encrypt_avx512:
aes_gcm_decrypt_avx512:
DB 0x0f,0x0b
DB 0F3h,0C3h ;repret
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,496 @@
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%include "openssl/boringssl_prefix_symbols_nasm.inc"
section .text code align=64
global gcm_gmult_ssse3
ALIGN 16
gcm_gmult_ssse3:
$L$SEH_begin_gcm_gmult_ssse3_1:
_CET_ENDBR
sub rsp,40
$L$SEH_prolog_gcm_gmult_ssse3_2:
movdqa XMMWORD[rsp],xmm6
$L$SEH_prolog_gcm_gmult_ssse3_3:
movdqa XMMWORD[16+rsp],xmm10
$L$SEH_prolog_gcm_gmult_ssse3_4:
movdqu xmm0,XMMWORD[rcx]
movdqa xmm10,XMMWORD[$L$reverse_bytes]
movdqa xmm2,XMMWORD[$L$low4_mask]
DB 102,65,15,56,0,194
movdqa xmm1,xmm2
pandn xmm1,xmm0
psrld xmm1,4
pand xmm0,xmm2
pxor xmm2,xmm2
pxor xmm3,xmm3
mov rax,5
$L$oop_row_1:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
mov rax,5
$L$oop_row_2:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_2
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
mov rax,6
$L$oop_row_3:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_3
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
DB 102,65,15,56,0,210
movdqu XMMWORD[rcx],xmm2
pxor xmm0,xmm0
pxor xmm1,xmm1
pxor xmm2,xmm2
pxor xmm3,xmm3
pxor xmm4,xmm4
pxor xmm5,xmm5
pxor xmm6,xmm6
movdqa xmm6,XMMWORD[rsp]
movdqa xmm10,XMMWORD[16+rsp]
add rsp,40
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_gmult_ssse3_5:
global gcm_ghash_ssse3
ALIGN 16
gcm_ghash_ssse3:
$L$SEH_begin_gcm_ghash_ssse3_1:
_CET_ENDBR
sub rsp,56
$L$SEH_prolog_gcm_ghash_ssse3_2:
movdqa XMMWORD[rsp],xmm6
$L$SEH_prolog_gcm_ghash_ssse3_3:
movdqa XMMWORD[16+rsp],xmm10
$L$SEH_prolog_gcm_ghash_ssse3_4:
movdqa XMMWORD[32+rsp],xmm11
$L$SEH_prolog_gcm_ghash_ssse3_5:
movdqu xmm0,XMMWORD[rcx]
movdqa xmm10,XMMWORD[$L$reverse_bytes]
movdqa xmm11,XMMWORD[$L$low4_mask]
and r9,-16
DB 102,65,15,56,0,194
pxor xmm3,xmm3
$L$oop_ghash:
movdqu xmm1,XMMWORD[r8]
DB 102,65,15,56,0,202
pxor xmm0,xmm1
movdqa xmm1,xmm11
pandn xmm1,xmm0
psrld xmm1,4
pand xmm0,xmm11
pxor xmm2,xmm2
mov rax,5
$L$oop_row_4:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_4
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
mov rax,5
$L$oop_row_5:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_5
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
mov rax,6
$L$oop_row_6:
movdqa xmm4,XMMWORD[rdx]
lea rdx,[16+rdx]
movdqa xmm6,xmm2
DB 102,15,58,15,243,1
movdqa xmm3,xmm6
psrldq xmm2,1
movdqa xmm5,xmm4
DB 102,15,56,0,224
DB 102,15,56,0,233
pxor xmm2,xmm5
movdqa xmm5,xmm4
psllq xmm5,60
movdqa xmm6,xmm5
pslldq xmm6,8
pxor xmm3,xmm6
psrldq xmm5,8
pxor xmm2,xmm5
psrlq xmm4,4
pxor xmm2,xmm4
sub rax,1
jnz NEAR $L$oop_row_6
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,1
pxor xmm2,xmm3
psrlq xmm3,5
pxor xmm2,xmm3
pxor xmm3,xmm3
movdqa xmm0,xmm2
lea rdx,[((-256))+rdx]
lea r8,[16+r8]
sub r9,16
jnz NEAR $L$oop_ghash
DB 102,65,15,56,0,194
movdqu XMMWORD[rcx],xmm0
pxor xmm0,xmm0
pxor xmm1,xmm1
pxor xmm2,xmm2
pxor xmm3,xmm3
pxor xmm4,xmm4
pxor xmm5,xmm5
pxor xmm6,xmm6
movdqa xmm6,XMMWORD[rsp]
movdqa xmm10,XMMWORD[16+rsp]
movdqa xmm11,XMMWORD[32+rsp]
add rsp,56
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_ghash_ssse3_6:
section .rdata rdata align=8
ALIGN 16
$L$reverse_bytes:
DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
$L$low4_mask:
DQ 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f
section .text
section .pdata rdata align=4
ALIGN 4
DD $L$SEH_begin_gcm_gmult_ssse3_1 wrt ..imagebase
DD $L$SEH_end_gcm_gmult_ssse3_5 wrt ..imagebase
DD $L$SEH_info_gcm_gmult_ssse3_0 wrt ..imagebase
DD $L$SEH_begin_gcm_ghash_ssse3_1 wrt ..imagebase
DD $L$SEH_end_gcm_ghash_ssse3_6 wrt ..imagebase
DD $L$SEH_info_gcm_ghash_ssse3_0 wrt ..imagebase
section .xdata rdata align=4
ALIGN 4
$L$SEH_info_gcm_gmult_ssse3_0:
DB 1
DB $L$SEH_prolog_gcm_gmult_ssse3_4-$L$SEH_begin_gcm_gmult_ssse3_1
DB 5
DB 0
DB $L$SEH_prolog_gcm_gmult_ssse3_4-$L$SEH_begin_gcm_gmult_ssse3_1
DB 168
DW 1
DB $L$SEH_prolog_gcm_gmult_ssse3_3-$L$SEH_begin_gcm_gmult_ssse3_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_gmult_ssse3_2-$L$SEH_begin_gcm_gmult_ssse3_1
DB 66
ALIGN 4
$L$SEH_info_gcm_ghash_ssse3_0:
DB 1
DB $L$SEH_prolog_gcm_ghash_ssse3_5-$L$SEH_begin_gcm_ghash_ssse3_1
DB 7
DB 0
DB $L$SEH_prolog_gcm_ghash_ssse3_5-$L$SEH_begin_gcm_ghash_ssse3_1
DB 184
DW 2
DB $L$SEH_prolog_gcm_ghash_ssse3_4-$L$SEH_begin_gcm_ghash_ssse3_1
DB 168
DW 1
DB $L$SEH_prolog_gcm_ghash_ssse3_3-$L$SEH_begin_gcm_ghash_ssse3_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_ghash_ssse3_2-$L$SEH_begin_gcm_ghash_ssse3_1
DB 98
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,801 @@
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%include "openssl/boringssl_prefix_symbols_nasm.inc"
section .text code align=64
ALIGN 16
global md5_block_asm_data_order
md5_block_asm_data_order:
mov QWORD[8+rsp],rdi ;WIN64 prologue
mov QWORD[16+rsp],rsi
mov rax,rsp
$L$SEH_begin_md5_block_asm_data_order:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
_CET_ENDBR
push rbp
push rbx
push r12
push r14
push r15
$L$prologue:
mov rbp,rdi
shl rdx,6
lea rdi,[rdx*1+rsi]
mov eax,DWORD[rbp]
mov ebx,DWORD[4+rbp]
mov ecx,DWORD[8+rbp]
mov edx,DWORD[12+rbp]
cmp rsi,rdi
je NEAR $L$end
$L$loop:
mov r8d,eax
mov r9d,ebx
mov r14d,ecx
mov r15d,edx
mov r10d,DWORD[rsi]
mov r11d,edx
xor r11d,ecx
lea eax,[((-680876936))+r10*1+rax]
and r11d,ebx
xor r11d,edx
mov r10d,DWORD[4+rsi]
add eax,r11d
rol eax,7
mov r11d,ecx
add eax,ebx
xor r11d,ebx
lea edx,[((-389564586))+r10*1+rdx]
and r11d,eax
xor r11d,ecx
mov r10d,DWORD[8+rsi]
add edx,r11d
rol edx,12
mov r11d,ebx
add edx,eax
xor r11d,eax
lea ecx,[606105819+r10*1+rcx]
and r11d,edx
xor r11d,ebx
mov r10d,DWORD[12+rsi]
add ecx,r11d
rol ecx,17
mov r11d,eax
add ecx,edx
xor r11d,edx
lea ebx,[((-1044525330))+r10*1+rbx]
and r11d,ecx
xor r11d,eax
mov r10d,DWORD[16+rsi]
add ebx,r11d
rol ebx,22
mov r11d,edx
add ebx,ecx
xor r11d,ecx
lea eax,[((-176418897))+r10*1+rax]
and r11d,ebx
xor r11d,edx
mov r10d,DWORD[20+rsi]
add eax,r11d
rol eax,7
mov r11d,ecx
add eax,ebx
xor r11d,ebx
lea edx,[1200080426+r10*1+rdx]
and r11d,eax
xor r11d,ecx
mov r10d,DWORD[24+rsi]
add edx,r11d
rol edx,12
mov r11d,ebx
add edx,eax
xor r11d,eax
lea ecx,[((-1473231341))+r10*1+rcx]
and r11d,edx
xor r11d,ebx
mov r10d,DWORD[28+rsi]
add ecx,r11d
rol ecx,17
mov r11d,eax
add ecx,edx
xor r11d,edx
lea ebx,[((-45705983))+r10*1+rbx]
and r11d,ecx
xor r11d,eax
mov r10d,DWORD[32+rsi]
add ebx,r11d
rol ebx,22
mov r11d,edx
add ebx,ecx
xor r11d,ecx
lea eax,[1770035416+r10*1+rax]
and r11d,ebx
xor r11d,edx
mov r10d,DWORD[36+rsi]
add eax,r11d
rol eax,7
mov r11d,ecx
add eax,ebx
xor r11d,ebx
lea edx,[((-1958414417))+r10*1+rdx]
and r11d,eax
xor r11d,ecx
mov r10d,DWORD[40+rsi]
add edx,r11d
rol edx,12
mov r11d,ebx
add edx,eax
xor r11d,eax
lea ecx,[((-42063))+r10*1+rcx]
and r11d,edx
xor r11d,ebx
mov r10d,DWORD[44+rsi]
add ecx,r11d
rol ecx,17
mov r11d,eax
add ecx,edx
xor r11d,edx
lea ebx,[((-1990404162))+r10*1+rbx]
and r11d,ecx
xor r11d,eax
mov r10d,DWORD[48+rsi]
add ebx,r11d
rol ebx,22
mov r11d,edx
add ebx,ecx
xor r11d,ecx
lea eax,[1804603682+r10*1+rax]
and r11d,ebx
xor r11d,edx
mov r10d,DWORD[52+rsi]
add eax,r11d
rol eax,7
mov r11d,ecx
add eax,ebx
xor r11d,ebx
lea edx,[((-40341101))+r10*1+rdx]
and r11d,eax
xor r11d,ecx
mov r10d,DWORD[56+rsi]
add edx,r11d
rol edx,12
mov r11d,ebx
add edx,eax
xor r11d,eax
lea ecx,[((-1502002290))+r10*1+rcx]
and r11d,edx
xor r11d,ebx
mov r10d,DWORD[60+rsi]
add ecx,r11d
rol ecx,17
mov r11d,eax
add ecx,edx
xor r11d,edx
lea ebx,[1236535329+r10*1+rbx]
and r11d,ecx
xor r11d,eax
mov r10d,DWORD[rsi]
add ebx,r11d
rol ebx,22
mov r11d,edx
add ebx,ecx
mov r10d,DWORD[4+rsi]
mov r11d,edx
mov r12d,edx
not r11d
lea eax,[((-165796510))+r10*1+rax]
and r12d,ebx
and r11d,ecx
mov r10d,DWORD[24+rsi]
add eax,r11d
mov r11d,ecx
add eax,r12d
mov r12d,ecx
rol eax,5
add eax,ebx
not r11d
lea edx,[((-1069501632))+r10*1+rdx]
and r12d,eax
and r11d,ebx
mov r10d,DWORD[44+rsi]
add edx,r11d
mov r11d,ebx
add edx,r12d
mov r12d,ebx
rol edx,9
add edx,eax
not r11d
lea ecx,[643717713+r10*1+rcx]
and r12d,edx
and r11d,eax
mov r10d,DWORD[rsi]
add ecx,r11d
mov r11d,eax
add ecx,r12d
mov r12d,eax
rol ecx,14
add ecx,edx
not r11d
lea ebx,[((-373897302))+r10*1+rbx]
and r12d,ecx
and r11d,edx
mov r10d,DWORD[20+rsi]
add ebx,r11d
mov r11d,edx
add ebx,r12d
mov r12d,edx
rol ebx,20
add ebx,ecx
not r11d
lea eax,[((-701558691))+r10*1+rax]
and r12d,ebx
and r11d,ecx
mov r10d,DWORD[40+rsi]
add eax,r11d
mov r11d,ecx
add eax,r12d
mov r12d,ecx
rol eax,5
add eax,ebx
not r11d
lea edx,[38016083+r10*1+rdx]
and r12d,eax
and r11d,ebx
mov r10d,DWORD[60+rsi]
add edx,r11d
mov r11d,ebx
add edx,r12d
mov r12d,ebx
rol edx,9
add edx,eax
not r11d
lea ecx,[((-660478335))+r10*1+rcx]
and r12d,edx
and r11d,eax
mov r10d,DWORD[16+rsi]
add ecx,r11d
mov r11d,eax
add ecx,r12d
mov r12d,eax
rol ecx,14
add ecx,edx
not r11d
lea ebx,[((-405537848))+r10*1+rbx]
and r12d,ecx
and r11d,edx
mov r10d,DWORD[36+rsi]
add ebx,r11d
mov r11d,edx
add ebx,r12d
mov r12d,edx
rol ebx,20
add ebx,ecx
not r11d
lea eax,[568446438+r10*1+rax]
and r12d,ebx
and r11d,ecx
mov r10d,DWORD[56+rsi]
add eax,r11d
mov r11d,ecx
add eax,r12d
mov r12d,ecx
rol eax,5
add eax,ebx
not r11d
lea edx,[((-1019803690))+r10*1+rdx]
and r12d,eax
and r11d,ebx
mov r10d,DWORD[12+rsi]
add edx,r11d
mov r11d,ebx
add edx,r12d
mov r12d,ebx
rol edx,9
add edx,eax
not r11d
lea ecx,[((-187363961))+r10*1+rcx]
and r12d,edx
and r11d,eax
mov r10d,DWORD[32+rsi]
add ecx,r11d
mov r11d,eax
add ecx,r12d
mov r12d,eax
rol ecx,14
add ecx,edx
not r11d
lea ebx,[1163531501+r10*1+rbx]
and r12d,ecx
and r11d,edx
mov r10d,DWORD[52+rsi]
add ebx,r11d
mov r11d,edx
add ebx,r12d
mov r12d,edx
rol ebx,20
add ebx,ecx
not r11d
lea eax,[((-1444681467))+r10*1+rax]
and r12d,ebx
and r11d,ecx
mov r10d,DWORD[8+rsi]
add eax,r11d
mov r11d,ecx
add eax,r12d
mov r12d,ecx
rol eax,5
add eax,ebx
not r11d
lea edx,[((-51403784))+r10*1+rdx]
and r12d,eax
and r11d,ebx
mov r10d,DWORD[28+rsi]
add edx,r11d
mov r11d,ebx
add edx,r12d
mov r12d,ebx
rol edx,9
add edx,eax
not r11d
lea ecx,[1735328473+r10*1+rcx]
and r12d,edx
and r11d,eax
mov r10d,DWORD[48+rsi]
add ecx,r11d
mov r11d,eax
add ecx,r12d
mov r12d,eax
rol ecx,14
add ecx,edx
not r11d
lea ebx,[((-1926607734))+r10*1+rbx]
and r12d,ecx
and r11d,edx
mov r10d,DWORD[rsi]
add ebx,r11d
mov r11d,edx
add ebx,r12d
mov r12d,edx
rol ebx,20
add ebx,ecx
mov r10d,DWORD[20+rsi]
mov r11d,ecx
lea eax,[((-378558))+r10*1+rax]
mov r10d,DWORD[32+rsi]
xor r11d,edx
xor r11d,ebx
add eax,r11d
rol eax,4
mov r11d,ebx
add eax,ebx
lea edx,[((-2022574463))+r10*1+rdx]
mov r10d,DWORD[44+rsi]
xor r11d,ecx
xor r11d,eax
add edx,r11d
rol edx,11
mov r11d,eax
add edx,eax
lea ecx,[1839030562+r10*1+rcx]
mov r10d,DWORD[56+rsi]
xor r11d,ebx
xor r11d,edx
add ecx,r11d
rol ecx,16
mov r11d,edx
add ecx,edx
lea ebx,[((-35309556))+r10*1+rbx]
mov r10d,DWORD[4+rsi]
xor r11d,eax
xor r11d,ecx
add ebx,r11d
rol ebx,23
mov r11d,ecx
add ebx,ecx
lea eax,[((-1530992060))+r10*1+rax]
mov r10d,DWORD[16+rsi]
xor r11d,edx
xor r11d,ebx
add eax,r11d
rol eax,4
mov r11d,ebx
add eax,ebx
lea edx,[1272893353+r10*1+rdx]
mov r10d,DWORD[28+rsi]
xor r11d,ecx
xor r11d,eax
add edx,r11d
rol edx,11
mov r11d,eax
add edx,eax
lea ecx,[((-155497632))+r10*1+rcx]
mov r10d,DWORD[40+rsi]
xor r11d,ebx
xor r11d,edx
add ecx,r11d
rol ecx,16
mov r11d,edx
add ecx,edx
lea ebx,[((-1094730640))+r10*1+rbx]
mov r10d,DWORD[52+rsi]
xor r11d,eax
xor r11d,ecx
add ebx,r11d
rol ebx,23
mov r11d,ecx
add ebx,ecx
lea eax,[681279174+r10*1+rax]
mov r10d,DWORD[rsi]
xor r11d,edx
xor r11d,ebx
add eax,r11d
rol eax,4
mov r11d,ebx
add eax,ebx
lea edx,[((-358537222))+r10*1+rdx]
mov r10d,DWORD[12+rsi]
xor r11d,ecx
xor r11d,eax
add edx,r11d
rol edx,11
mov r11d,eax
add edx,eax
lea ecx,[((-722521979))+r10*1+rcx]
mov r10d,DWORD[24+rsi]
xor r11d,ebx
xor r11d,edx
add ecx,r11d
rol ecx,16
mov r11d,edx
add ecx,edx
lea ebx,[76029189+r10*1+rbx]
mov r10d,DWORD[36+rsi]
xor r11d,eax
xor r11d,ecx
add ebx,r11d
rol ebx,23
mov r11d,ecx
add ebx,ecx
lea eax,[((-640364487))+r10*1+rax]
mov r10d,DWORD[48+rsi]
xor r11d,edx
xor r11d,ebx
add eax,r11d
rol eax,4
mov r11d,ebx
add eax,ebx
lea edx,[((-421815835))+r10*1+rdx]
mov r10d,DWORD[60+rsi]
xor r11d,ecx
xor r11d,eax
add edx,r11d
rol edx,11
mov r11d,eax
add edx,eax
lea ecx,[530742520+r10*1+rcx]
mov r10d,DWORD[8+rsi]
xor r11d,ebx
xor r11d,edx
add ecx,r11d
rol ecx,16
mov r11d,edx
add ecx,edx
lea ebx,[((-995338651))+r10*1+rbx]
mov r10d,DWORD[rsi]
xor r11d,eax
xor r11d,ecx
add ebx,r11d
rol ebx,23
mov r11d,ecx
add ebx,ecx
mov r10d,DWORD[rsi]
mov r11d,0xffffffff
xor r11d,edx
lea eax,[((-198630844))+r10*1+rax]
or r11d,ebx
xor r11d,ecx
add eax,r11d
mov r10d,DWORD[28+rsi]
mov r11d,0xffffffff
rol eax,6
xor r11d,ecx
add eax,ebx
lea edx,[1126891415+r10*1+rdx]
or r11d,eax
xor r11d,ebx
add edx,r11d
mov r10d,DWORD[56+rsi]
mov r11d,0xffffffff
rol edx,10
xor r11d,ebx
add edx,eax
lea ecx,[((-1416354905))+r10*1+rcx]
or r11d,edx
xor r11d,eax
add ecx,r11d
mov r10d,DWORD[20+rsi]
mov r11d,0xffffffff
rol ecx,15
xor r11d,eax
add ecx,edx
lea ebx,[((-57434055))+r10*1+rbx]
or r11d,ecx
xor r11d,edx
add ebx,r11d
mov r10d,DWORD[48+rsi]
mov r11d,0xffffffff
rol ebx,21
xor r11d,edx
add ebx,ecx
lea eax,[1700485571+r10*1+rax]
or r11d,ebx
xor r11d,ecx
add eax,r11d
mov r10d,DWORD[12+rsi]
mov r11d,0xffffffff
rol eax,6
xor r11d,ecx
add eax,ebx
lea edx,[((-1894986606))+r10*1+rdx]
or r11d,eax
xor r11d,ebx
add edx,r11d
mov r10d,DWORD[40+rsi]
mov r11d,0xffffffff
rol edx,10
xor r11d,ebx
add edx,eax
lea ecx,[((-1051523))+r10*1+rcx]
or r11d,edx
xor r11d,eax
add ecx,r11d
mov r10d,DWORD[4+rsi]
mov r11d,0xffffffff
rol ecx,15
xor r11d,eax
add ecx,edx
lea ebx,[((-2054922799))+r10*1+rbx]
or r11d,ecx
xor r11d,edx
add ebx,r11d
mov r10d,DWORD[32+rsi]
mov r11d,0xffffffff
rol ebx,21
xor r11d,edx
add ebx,ecx
lea eax,[1873313359+r10*1+rax]
or r11d,ebx
xor r11d,ecx
add eax,r11d
mov r10d,DWORD[60+rsi]
mov r11d,0xffffffff
rol eax,6
xor r11d,ecx
add eax,ebx
lea edx,[((-30611744))+r10*1+rdx]
or r11d,eax
xor r11d,ebx
add edx,r11d
mov r10d,DWORD[24+rsi]
mov r11d,0xffffffff
rol edx,10
xor r11d,ebx
add edx,eax
lea ecx,[((-1560198380))+r10*1+rcx]
or r11d,edx
xor r11d,eax
add ecx,r11d
mov r10d,DWORD[52+rsi]
mov r11d,0xffffffff
rol ecx,15
xor r11d,eax
add ecx,edx
lea ebx,[1309151649+r10*1+rbx]
or r11d,ecx
xor r11d,edx
add ebx,r11d
mov r10d,DWORD[16+rsi]
mov r11d,0xffffffff
rol ebx,21
xor r11d,edx
add ebx,ecx
lea eax,[((-145523070))+r10*1+rax]
or r11d,ebx
xor r11d,ecx
add eax,r11d
mov r10d,DWORD[44+rsi]
mov r11d,0xffffffff
rol eax,6
xor r11d,ecx
add eax,ebx
lea edx,[((-1120210379))+r10*1+rdx]
or r11d,eax
xor r11d,ebx
add edx,r11d
mov r10d,DWORD[8+rsi]
mov r11d,0xffffffff
rol edx,10
xor r11d,ebx
add edx,eax
lea ecx,[718787259+r10*1+rcx]
or r11d,edx
xor r11d,eax
add ecx,r11d
mov r10d,DWORD[36+rsi]
mov r11d,0xffffffff
rol ecx,15
xor r11d,eax
add ecx,edx
lea ebx,[((-343485551))+r10*1+rbx]
or r11d,ecx
xor r11d,edx
add ebx,r11d
mov r10d,DWORD[rsi]
mov r11d,0xffffffff
rol ebx,21
xor r11d,edx
add ebx,ecx
add eax,r8d
add ebx,r9d
add ecx,r14d
add edx,r15d
add rsi,64
cmp rsi,rdi
jb NEAR $L$loop
$L$end:
mov DWORD[rbp],eax
mov DWORD[4+rbp],ebx
mov DWORD[8+rbp],ecx
mov DWORD[12+rbp],edx
mov r15,QWORD[rsp]
mov r14,QWORD[8+rsp]
mov r12,QWORD[16+rsp]
mov rbx,QWORD[24+rsp]
mov rbp,QWORD[32+rsp]
add rsp,40
$L$epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
$L$SEH_end_md5_block_asm_data_order:
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]
lea r10,[$L$prologue]
cmp rbx,r10
jb NEAR $L$in_prologue
mov rax,QWORD[152+r8]
lea r10,[$L$epilogue]
cmp rbx,r10
jae NEAR $L$in_prologue
lea rax,[40+rax]
mov rbp,QWORD[((-8))+rax]
mov rbx,QWORD[((-16))+rax]
mov r12,QWORD[((-24))+rax]
mov r14,QWORD[((-32))+rax]
mov r15,QWORD[((-40))+rax]
mov QWORD[144+r8],rbx
mov QWORD[160+r8],rbp
mov QWORD[216+r8],r12
mov QWORD[232+r8],r14
mov QWORD[240+r8],r15
$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_md5_block_asm_data_order wrt ..imagebase
DD $L$SEH_end_md5_block_asm_data_order wrt ..imagebase
DD $L$SEH_info_md5_block_asm_data_order wrt ..imagebase
section .xdata rdata align=4
ALIGN 4
$L$SEH_info_md5_block_asm_data_order:
DB 9,0,0,0
DD se_handler wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,344 @@
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%include "openssl/boringssl_prefix_symbols_nasm.inc"
section .text code align=64
global beeu_mod_inverse_vartime
ALIGN 32
beeu_mod_inverse_vartime:
mov QWORD[8+rsp],rdi ;WIN64 prologue
mov QWORD[16+rsp],rsi
mov rax,rsp
$L$SEH_begin_beeu_mod_inverse_vartime:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
mov r8,QWORD[40+rsp]
mov r9,QWORD[48+rsp]
_CET_ENDBR
push rbp
push r12
push r13
push r14
push r15
push rbx
push rsi
sub rsp,80
mov QWORD[rsp],rdi
mov r8,1
xor r9,r9
xor r10,r10
xor r11,r11
xor rdi,rdi
xor r12,r12
xor r13,r13
xor r14,r14
xor r15,r15
xor rbp,rbp
vmovdqu xmm0,XMMWORD[rsi]
vmovdqu xmm1,XMMWORD[16+rsi]
vmovdqu XMMWORD[48+rsp],xmm0
vmovdqu XMMWORD[64+rsp],xmm1
vmovdqu xmm0,XMMWORD[rdx]
vmovdqu xmm1,XMMWORD[16+rdx]
vmovdqu XMMWORD[16+rsp],xmm0
vmovdqu XMMWORD[32+rsp],xmm1
$L$beeu_loop:
xor rbx,rbx
or rbx,QWORD[48+rsp]
or rbx,QWORD[56+rsp]
or rbx,QWORD[64+rsp]
or rbx,QWORD[72+rsp]
jz NEAR $L$beeu_loop_end
mov rcx,1
$L$beeu_shift_loop_XB:
mov rbx,rcx
and rbx,QWORD[48+rsp]
jnz NEAR $L$beeu_shift_loop_end_XB
mov rbx,1
and rbx,r8
jz NEAR $L$shift1_0
add r8,QWORD[rdx]
adc r9,QWORD[8+rdx]
adc r10,QWORD[16+rdx]
adc r11,QWORD[24+rdx]
adc rdi,0
$L$shift1_0:
shrd r8,r9,1
shrd r9,r10,1
shrd r10,r11,1
shrd r11,rdi,1
shr rdi,1
shl rcx,1
cmp rcx,0x8000000
jne NEAR $L$beeu_shift_loop_XB
$L$beeu_shift_loop_end_XB:
bsf rcx,rcx
test rcx,rcx
jz NEAR $L$beeu_no_shift_XB
mov rax,QWORD[((8+48))+rsp]
mov rbx,QWORD[((16+48))+rsp]
mov rsi,QWORD[((24+48))+rsp]
shrd QWORD[((0+48))+rsp],rax,cl
shrd QWORD[((8+48))+rsp],rbx,cl
shrd QWORD[((16+48))+rsp],rsi,cl
shr rsi,cl
mov QWORD[((24+48))+rsp],rsi
$L$beeu_no_shift_XB:
mov rcx,1
$L$beeu_shift_loop_YA:
mov rbx,rcx
and rbx,QWORD[16+rsp]
jnz NEAR $L$beeu_shift_loop_end_YA
mov rbx,1
and rbx,r12
jz NEAR $L$shift1_1
add r12,QWORD[rdx]
adc r13,QWORD[8+rdx]
adc r14,QWORD[16+rdx]
adc r15,QWORD[24+rdx]
adc rbp,0
$L$shift1_1:
shrd r12,r13,1
shrd r13,r14,1
shrd r14,r15,1
shrd r15,rbp,1
shr rbp,1
shl rcx,1
cmp rcx,0x8000000
jne NEAR $L$beeu_shift_loop_YA
$L$beeu_shift_loop_end_YA:
bsf rcx,rcx
test rcx,rcx
jz NEAR $L$beeu_no_shift_YA
mov rax,QWORD[((8+16))+rsp]
mov rbx,QWORD[((16+16))+rsp]
mov rsi,QWORD[((24+16))+rsp]
shrd QWORD[((0+16))+rsp],rax,cl
shrd QWORD[((8+16))+rsp],rbx,cl
shrd QWORD[((16+16))+rsp],rsi,cl
shr rsi,cl
mov QWORD[((24+16))+rsp],rsi
$L$beeu_no_shift_YA:
mov rax,QWORD[48+rsp]
mov rbx,QWORD[56+rsp]
mov rsi,QWORD[64+rsp]
mov rcx,QWORD[72+rsp]
sub rax,QWORD[16+rsp]
sbb rbx,QWORD[24+rsp]
sbb rsi,QWORD[32+rsp]
sbb rcx,QWORD[40+rsp]
jnc NEAR $L$beeu_B_bigger_than_A
mov rax,QWORD[16+rsp]
mov rbx,QWORD[24+rsp]
mov rsi,QWORD[32+rsp]
mov rcx,QWORD[40+rsp]
sub rax,QWORD[48+rsp]
sbb rbx,QWORD[56+rsp]
sbb rsi,QWORD[64+rsp]
sbb rcx,QWORD[72+rsp]
mov QWORD[16+rsp],rax
mov QWORD[24+rsp],rbx
mov QWORD[32+rsp],rsi
mov QWORD[40+rsp],rcx
add r12,r8
adc r13,r9
adc r14,r10
adc r15,r11
adc rbp,rdi
jmp NEAR $L$beeu_loop
$L$beeu_B_bigger_than_A:
mov QWORD[48+rsp],rax
mov QWORD[56+rsp],rbx
mov QWORD[64+rsp],rsi
mov QWORD[72+rsp],rcx
add r8,r12
adc r9,r13
adc r10,r14
adc r11,r15
adc rdi,rbp
jmp NEAR $L$beeu_loop
$L$beeu_loop_end:
mov rbx,QWORD[16+rsp]
sub rbx,1
or rbx,QWORD[24+rsp]
or rbx,QWORD[32+rsp]
or rbx,QWORD[40+rsp]
jnz NEAR $L$beeu_err
mov r8,QWORD[rdx]
mov r9,QWORD[8+rdx]
mov r10,QWORD[16+rdx]
mov r11,QWORD[24+rdx]
xor rdi,rdi
$L$beeu_reduction_loop:
mov QWORD[16+rsp],r12
mov QWORD[24+rsp],r13
mov QWORD[32+rsp],r14
mov QWORD[40+rsp],r15
mov QWORD[48+rsp],rbp
sub r12,r8
sbb r13,r9
sbb r14,r10
sbb r15,r11
sbb rbp,0
cmovc r12,QWORD[16+rsp]
cmovc r13,QWORD[24+rsp]
cmovc r14,QWORD[32+rsp]
cmovc r15,QWORD[40+rsp]
jnc NEAR $L$beeu_reduction_loop
sub r8,r12
sbb r9,r13
sbb r10,r14
sbb r11,r15
$L$beeu_save:
mov rdi,QWORD[rsp]
mov QWORD[rdi],r8
mov QWORD[8+rdi],r9
mov QWORD[16+rdi],r10
mov QWORD[24+rdi],r11
mov rax,1
jmp NEAR $L$beeu_finish
$L$beeu_err:
xor rax,rax
$L$beeu_finish:
add rsp,80
pop rsi
pop rbx
pop r15
pop r14
pop r13
pop r12
pop rbp
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
$L$SEH_end_beeu_mod_inverse_vartime:
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -0,0 +1,47 @@
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%include "openssl/boringssl_prefix_symbols_nasm.inc"
section .text code align=64
global CRYPTO_rdrand_multiple8
ALIGN 16
CRYPTO_rdrand_multiple8:
_CET_ENDBR
test rdx,rdx
jz NEAR $L$out
mov r8,8
$L$loop:
DB 73,15,199,241
jnc NEAR $L$err_multiple
test r9,r9
jz NEAR $L$err_multiple
cmp r9,-1
je NEAR $L$err_multiple
mov QWORD[rcx],r9
add rcx,r8
sub rdx,r8
jnz NEAR $L$loop
$L$out:
mov rax,1
DB 0F3h,0C3h ;repret
$L$err_multiple:
xor rax,rax
DB 0F3h,0C3h ;repret
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff