Source release 18.1.0

This commit is contained in:
John "Juce" Bruce
2023-06-23 15:45:08 -07:00
parent 2baa7c6e2b
commit b2c35151ad
2074 changed files with 196004 additions and 427059 deletions

View File

@@ -1,6 +1,7 @@
; 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
@@ -14,6 +15,7 @@ section .text code align=64
EXTERN OPENSSL_ia32cap_P
section .rdata rdata align=8
ALIGN 64
$L$zero:
DD 0,0,0,0
@@ -28,12 +30,12 @@ $L$incy:
$L$eight:
DD 8,8,8,8,8,8,8,8
$L$rot16:
DB 0x2,0x3,0x0,0x1,0x6,0x7,0x4,0x5,0xa,0xb,0x8,0x9,0xe,0xf,0xc,0xd
DB 0x2,0x3,0x0,0x1,0x6,0x7,0x4,0x5,0xa,0xb,0x8,0x9,0xe,0xf,0xc,0xd
$L$rot24:
DB 0x3,0x0,0x1,0x2,0x7,0x4,0x5,0x6,0xb,0x8,0x9,0xa,0xf,0xc,0xd,0xe
DB 0x3,0x0,0x1,0x2,0x7,0x4,0x5,0x6,0xb,0x8,0x9,0xa,0xf,0xc,0xd,0xe
$L$sigma:
DB 101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107
DB 0
DB 101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107
DB 0
ALIGN 64
$L$zeroz:
DD 0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0
@@ -43,10 +45,12 @@ $L$incz:
DD 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
$L$sixteen:
DD 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
DB 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
DB 95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32
DB 98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115
DB 108,46,111,114,103,62,0
DB 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
DB 95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32
DB 98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115
DB 108,46,111,114,103,62,0
section .text
global ChaCha20_ctr32
ALIGN 64
@@ -1908,19 +1912,23 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_ChaCha20_ctr32:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
$L$SEH_info_ChaCha20_ssse3:
DB 9,0,0,0
DB 9,0,0,0
DD ssse3_handler wrt ..imagebase
DD $L$ssse3_body wrt ..imagebase,$L$ssse3_epilogue wrt ..imagebase
$L$SEH_info_ChaCha20_4x:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$4x_body wrt ..imagebase,$L$4x_epilogue wrt ..imagebase
$L$SEH_info_ChaCha20_8x:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$8x_body wrt ..imagebase,$L$8x_epilogue wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -9,8 +10,7 @@ default rel
%ifdef BORINGSSL_PREFIX
%include "boringssl_prefix_symbols_nasm.inc"
%endif
section .data data align=8
section .rdata rdata align=8
ALIGN 16
one:
@@ -41,7 +41,7 @@ con1:
con2:
DD 0x1b,0x1b,0x1b,0x1b
con3:
DB -1,-1,-1,-1,-1,-1,-1,-1,4,5,6,7,4,5,6,7
DB -1,-1,-1,-1,-1,-1,-1,-1,4,5,6,7,4,5,6,7
and_mask:
DD 0,0xffffffff,0xffffffff,0xffffffff
section .text code align=64
@@ -3275,3 +3275,7 @@ $L$SEH_begin_aes256gcmsiv_kdf:
DB 0F3h,0C3h ;repret
$L$SEH_end_aes256gcmsiv_kdf:
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -15,16 +16,17 @@ EXTERN OPENSSL_ia32cap_P
chacha20_poly1305_constants:
section .rdata rdata align=8
ALIGN 64
$L$chacha20_consts:
DB 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
DB 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
DB 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
DB 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
$L$rol8:
DB 3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14
DB 3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14
DB 3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14
DB 3,0,1,2,7,4,5,6,11,8,9,10,15,12,13,14
$L$rol16:
DB 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13
DB 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13
DB 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13
DB 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13
$L$avx2_init:
DD 0,0,0,0
$L$sse_inc:
@@ -36,22 +38,24 @@ $L$clamp:
DQ 0xFFFFFFFFFFFFFFFF,0xFFFFFFFFFFFFFFFF
ALIGN 16
$L$and_masks:
DB 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
DB 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00
DB 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
section .text
ALIGN 64
@@ -8944,3 +8948,7 @@ $L$seal_avx2_exit:
jmp NEAR $L$seal_sse_tail_16
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -21,14 +22,13 @@ global gcm_gmult_ssse3
ALIGN 16
gcm_gmult_ssse3:
$L$gmult_seh_begin:
$L$SEH_begin_gcm_gmult_ssse3_1:
sub rsp,40
$L$gmult_seh_allocstack:
$L$SEH_prolog_gcm_gmult_ssse3_2:
movdqa XMMWORD[rsp],xmm6
$L$gmult_seh_save_xmm6:
$L$SEH_prolog_gcm_gmult_ssse3_3:
movdqa XMMWORD[16+rsp],xmm10
$L$gmult_seh_save_xmm10:
$L$gmult_seh_prolog_end:
$L$SEH_prolog_gcm_gmult_ssse3_4:
movdqu xmm0,XMMWORD[rcx]
movdqa xmm10,XMMWORD[$L$reverse_bytes]
movdqa xmm2,XMMWORD[$L$low4_mask]
@@ -207,8 +207,8 @@ DB 102,65,15,56,0,210
movdqa xmm10,XMMWORD[16+rsp]
add rsp,40
DB 0F3h,0C3h ;repret
$L$gmult_seh_end:
$L$SEH_end_gcm_gmult_ssse3_5:
@@ -219,17 +219,16 @@ $L$gmult_seh_end:
global gcm_ghash_ssse3
ALIGN 16
gcm_ghash_ssse3:
$L$ghash_seh_begin:
$L$SEH_begin_gcm_ghash_ssse3_1:
sub rsp,56
$L$ghash_seh_allocstack:
$L$SEH_prolog_gcm_ghash_ssse3_2:
movdqa XMMWORD[rsp],xmm6
$L$ghash_seh_save_xmm6:
$L$SEH_prolog_gcm_ghash_ssse3_3:
movdqa XMMWORD[16+rsp],xmm10
$L$ghash_seh_save_xmm10:
$L$SEH_prolog_gcm_ghash_ssse3_4:
movdqa XMMWORD[32+rsp],xmm11
$L$ghash_seh_save_xmm11:
$L$ghash_seh_prolog_end:
$L$SEH_prolog_gcm_ghash_ssse3_5:
movdqu xmm0,XMMWORD[rcx]
movdqa xmm10,XMMWORD[$L$reverse_bytes]
movdqa xmm11,XMMWORD[$L$low4_mask]
@@ -431,65 +430,65 @@ DB 102,65,15,56,0,194
movdqa xmm11,XMMWORD[32+rsp]
add rsp,56
DB 0F3h,0C3h ;repret
$L$ghash_seh_end:
$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
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$gmult_seh_begin wrt ..imagebase
DD $L$gmult_seh_end wrt ..imagebase
DD $L$gmult_seh_info wrt ..imagebase
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
DD $L$ghash_seh_begin wrt ..imagebase
DD $L$ghash_seh_end wrt ..imagebase
DD $L$ghash_seh_info wrt ..imagebase
section .xdata rdata align=8
ALIGN 8
$L$gmult_seh_info:
DB 1
DB $L$gmult_seh_prolog_end-$L$gmult_seh_begin
DB 5
DB 0
DB $L$gmult_seh_save_xmm10-$L$gmult_seh_begin
DB 168
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$gmult_seh_save_xmm6-$L$gmult_seh_begin
DB 104
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
DB $L$gmult_seh_allocstack-$L$gmult_seh_begin
DB 66
ALIGN 8
$L$ghash_seh_info:
DB 1
DB $L$ghash_seh_prolog_end-$L$ghash_seh_begin
DB 7
DB 0
DB $L$ghash_seh_save_xmm11-$L$ghash_seh_begin
DB 184
$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$ghash_seh_save_xmm10-$L$ghash_seh_begin
DB 168
DB $L$SEH_prolog_gcm_ghash_ssse3_4-$L$SEH_begin_gcm_ghash_ssse3_1
DB 168
DW 1
DB $L$ghash_seh_save_xmm6-$L$ghash_seh_begin
DB 104
DB $L$SEH_prolog_gcm_ghash_ssse3_3-$L$SEH_begin_gcm_ghash_ssse3_1
DB 104
DW 0
DB $L$ghash_seh_allocstack-$L$ghash_seh_begin
DB 98
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

View File

@@ -1,6 +1,7 @@
; 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
@@ -17,11 +18,12 @@ global gcm_init_clmul
ALIGN 16
gcm_init_clmul:
$L$SEH_begin_gcm_init_clmul_1:
$L$_init_clmul:
$L$SEH_begin_gcm_init_clmul:
DB 0x48,0x83,0xec,0x18
DB 0x0f,0x29,0x34,0x24
sub rsp,0x18
$L$SEH_prolog_gcm_init_clmul_2:
movaps XMMWORD[rsp],xmm6
$L$SEH_prolog_gcm_init_clmul_3:
movdqu xmm2,XMMWORD[rdx]
pshufd xmm2,xmm2,78
@@ -173,9 +175,9 @@ DB 102,15,58,15,227,8
movdqu XMMWORD[80+rcx],xmm4
movaps xmm6,XMMWORD[rsp]
lea rsp,[24+rsp]
$L$SEH_end_gcm_init_clmul:
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_init_clmul_4:
global gcm_gmult_clmul
@@ -235,21 +237,31 @@ global gcm_ghash_clmul
ALIGN 32
gcm_ghash_clmul:
$L$SEH_begin_gcm_ghash_clmul_1:
$L$_ghash_clmul:
lea rax,[((-136))+rsp]
$L$SEH_begin_gcm_ghash_clmul:
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
lea rsp,[((-32))+rax]
$L$SEH_prolog_gcm_ghash_clmul_2:
movaps XMMWORD[(-32)+rax],xmm6
$L$SEH_prolog_gcm_ghash_clmul_3:
movaps XMMWORD[(-16)+rax],xmm7
$L$SEH_prolog_gcm_ghash_clmul_4:
movaps XMMWORD[rax],xmm8
$L$SEH_prolog_gcm_ghash_clmul_5:
movaps XMMWORD[16+rax],xmm9
$L$SEH_prolog_gcm_ghash_clmul_6:
movaps XMMWORD[32+rax],xmm10
$L$SEH_prolog_gcm_ghash_clmul_7:
movaps XMMWORD[48+rax],xmm11
$L$SEH_prolog_gcm_ghash_clmul_8:
movaps XMMWORD[64+rax],xmm12
$L$SEH_prolog_gcm_ghash_clmul_9:
movaps XMMWORD[80+rax],xmm13
$L$SEH_prolog_gcm_ghash_clmul_10:
movaps XMMWORD[96+rax],xmm14
$L$SEH_prolog_gcm_ghash_clmul_11:
movaps XMMWORD[112+rax],xmm15
$L$SEH_prolog_gcm_ghash_clmul_12:
movdqa xmm10,XMMWORD[$L$bswap_mask]
movdqu xmm0,XMMWORD[rcx]
@@ -638,19 +650,20 @@ DB 102,65,15,56,0,194
movaps xmm14,XMMWORD[128+rsp]
movaps xmm15,XMMWORD[144+rsp]
lea rsp,[168+rsp]
$L$SEH_end_gcm_ghash_clmul:
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_ghash_clmul_13:
global gcm_init_avx
ALIGN 32
gcm_init_avx:
$L$SEH_begin_gcm_init_avx:
DB 0x48,0x83,0xec,0x18
DB 0x0f,0x29,0x34,0x24
$L$SEH_begin_gcm_init_avx_1:
sub rsp,0x18
$L$SEH_prolog_gcm_init_avx_2:
movaps XMMWORD[rsp],xmm6
$L$SEH_prolog_gcm_init_avx_3:
vzeroupper
vmovdqu xmm2,XMMWORD[rdx]
@@ -754,8 +767,8 @@ $L$init_start_avx:
vzeroupper
movaps xmm6,XMMWORD[rsp]
lea rsp,[24+rsp]
$L$SEH_end_gcm_init_avx:
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_init_avx_4:
global gcm_gmult_avx
@@ -771,20 +784,30 @@ global gcm_ghash_avx
ALIGN 32
gcm_ghash_avx:
$L$SEH_begin_gcm_ghash_avx_1:
lea rax,[((-136))+rsp]
$L$SEH_begin_gcm_ghash_avx:
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
lea rsp,[((-32))+rax]
$L$SEH_prolog_gcm_ghash_avx_2:
movaps XMMWORD[(-32)+rax],xmm6
$L$SEH_prolog_gcm_ghash_avx_3:
movaps XMMWORD[(-16)+rax],xmm7
$L$SEH_prolog_gcm_ghash_avx_4:
movaps XMMWORD[rax],xmm8
$L$SEH_prolog_gcm_ghash_avx_5:
movaps XMMWORD[16+rax],xmm9
$L$SEH_prolog_gcm_ghash_avx_6:
movaps XMMWORD[32+rax],xmm10
$L$SEH_prolog_gcm_ghash_avx_7:
movaps XMMWORD[48+rax],xmm11
$L$SEH_prolog_gcm_ghash_avx_8:
movaps XMMWORD[64+rax],xmm12
$L$SEH_prolog_gcm_ghash_avx_9:
movaps XMMWORD[80+rax],xmm13
$L$SEH_prolog_gcm_ghash_avx_10:
movaps XMMWORD[96+rax],xmm14
$L$SEH_prolog_gcm_ghash_avx_11:
movaps XMMWORD[112+rax],xmm15
$L$SEH_prolog_gcm_ghash_avx_12:
vzeroupper
vmovdqu xmm10,XMMWORD[rcx]
@@ -1166,56 +1189,148 @@ $L$tail_no_xor_avx:
movaps xmm14,XMMWORD[128+rsp]
movaps xmm15,XMMWORD[144+rsp]
lea rsp,[168+rsp]
$L$SEH_end_gcm_ghash_avx:
DB 0F3h,0C3h ;repret
$L$SEH_end_gcm_ghash_avx_13:
section .rdata rdata align=8
ALIGN 64
$L$bswap_mask:
DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
$L$0x1c2_polynomial:
DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
$L$7_mask:
DD 7,0,7,0
ALIGN 64
DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52
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
DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52
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
ALIGN 64
section .text
section .pdata rdata align=4
ALIGN 4
DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase
DD $L$SEH_end_gcm_init_clmul wrt ..imagebase
DD $L$SEH_info_gcm_init_clmul wrt ..imagebase
DD $L$SEH_begin_gcm_init_clmul_1 wrt ..imagebase
DD $L$SEH_end_gcm_init_clmul_4 wrt ..imagebase
DD $L$SEH_info_gcm_init_clmul_0 wrt ..imagebase
DD $L$SEH_begin_gcm_ghash_clmul_1 wrt ..imagebase
DD $L$SEH_end_gcm_ghash_clmul_13 wrt ..imagebase
DD $L$SEH_info_gcm_ghash_clmul_0 wrt ..imagebase
DD $L$SEH_begin_gcm_init_avx_1 wrt ..imagebase
DD $L$SEH_end_gcm_init_avx_4 wrt ..imagebase
DD $L$SEH_info_gcm_init_avx_0 wrt ..imagebase
DD $L$SEH_begin_gcm_ghash_avx_1 wrt ..imagebase
DD $L$SEH_end_gcm_ghash_avx_13 wrt ..imagebase
DD $L$SEH_info_gcm_ghash_avx_0 wrt ..imagebase
DD $L$SEH_begin_gcm_ghash_clmul wrt ..imagebase
DD $L$SEH_end_gcm_ghash_clmul wrt ..imagebase
DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase
DD $L$SEH_begin_gcm_init_avx wrt ..imagebase
DD $L$SEH_end_gcm_init_avx wrt ..imagebase
DD $L$SEH_info_gcm_init_clmul wrt ..imagebase
DD $L$SEH_begin_gcm_ghash_avx wrt ..imagebase
DD $L$SEH_end_gcm_ghash_avx wrt ..imagebase
DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_gcm_init_clmul:
DB 0x01,0x08,0x03,0x00
DB 0x08,0x68,0x00,0x00
DB 0x04,0x22,0x00,0x00
$L$SEH_info_gcm_ghash_clmul:
DB 0x01,0x33,0x16,0x00
DB 0x33,0xf8,0x09,0x00
DB 0x2e,0xe8,0x08,0x00
DB 0x29,0xd8,0x07,0x00
DB 0x24,0xc8,0x06,0x00
DB 0x1f,0xb8,0x05,0x00
DB 0x1a,0xa8,0x04,0x00
DB 0x15,0x98,0x03,0x00
DB 0x10,0x88,0x02,0x00
DB 0x0c,0x78,0x01,0x00
DB 0x08,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
ALIGN 4
$L$SEH_info_gcm_init_clmul_0:
DB 1
DB $L$SEH_prolog_gcm_init_clmul_3-$L$SEH_begin_gcm_init_clmul_1
DB 3
DB 0
DB $L$SEH_prolog_gcm_init_clmul_3-$L$SEH_begin_gcm_init_clmul_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_init_clmul_2-$L$SEH_begin_gcm_init_clmul_1
DB 34
$L$SEH_info_gcm_ghash_clmul_0:
DB 1
DB $L$SEH_prolog_gcm_ghash_clmul_12-$L$SEH_begin_gcm_ghash_clmul_1
DB 22
DB 0
DB $L$SEH_prolog_gcm_ghash_clmul_12-$L$SEH_begin_gcm_ghash_clmul_1
DB 248
DW 9
DB $L$SEH_prolog_gcm_ghash_clmul_11-$L$SEH_begin_gcm_ghash_clmul_1
DB 232
DW 8
DB $L$SEH_prolog_gcm_ghash_clmul_10-$L$SEH_begin_gcm_ghash_clmul_1
DB 216
DW 7
DB $L$SEH_prolog_gcm_ghash_clmul_9-$L$SEH_begin_gcm_ghash_clmul_1
DB 200
DW 6
DB $L$SEH_prolog_gcm_ghash_clmul_8-$L$SEH_begin_gcm_ghash_clmul_1
DB 184
DW 5
DB $L$SEH_prolog_gcm_ghash_clmul_7-$L$SEH_begin_gcm_ghash_clmul_1
DB 168
DW 4
DB $L$SEH_prolog_gcm_ghash_clmul_6-$L$SEH_begin_gcm_ghash_clmul_1
DB 152
DW 3
DB $L$SEH_prolog_gcm_ghash_clmul_5-$L$SEH_begin_gcm_ghash_clmul_1
DB 136
DW 2
DB $L$SEH_prolog_gcm_ghash_clmul_4-$L$SEH_begin_gcm_ghash_clmul_1
DB 120
DW 1
DB $L$SEH_prolog_gcm_ghash_clmul_3-$L$SEH_begin_gcm_ghash_clmul_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_ghash_clmul_2-$L$SEH_begin_gcm_ghash_clmul_1
DB 1
DW 21
$L$SEH_info_gcm_init_avx_0:
DB 1
DB $L$SEH_prolog_gcm_init_avx_3-$L$SEH_begin_gcm_init_avx_1
DB 3
DB 0
DB $L$SEH_prolog_gcm_init_avx_3-$L$SEH_begin_gcm_init_avx_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_init_avx_2-$L$SEH_begin_gcm_init_avx_1
DB 34
$L$SEH_info_gcm_ghash_avx_0:
DB 1
DB $L$SEH_prolog_gcm_ghash_avx_12-$L$SEH_begin_gcm_ghash_avx_1
DB 22
DB 0
DB $L$SEH_prolog_gcm_ghash_avx_12-$L$SEH_begin_gcm_ghash_avx_1
DB 248
DW 9
DB $L$SEH_prolog_gcm_ghash_avx_11-$L$SEH_begin_gcm_ghash_avx_1
DB 232
DW 8
DB $L$SEH_prolog_gcm_ghash_avx_10-$L$SEH_begin_gcm_ghash_avx_1
DB 216
DW 7
DB $L$SEH_prolog_gcm_ghash_avx_9-$L$SEH_begin_gcm_ghash_avx_1
DB 200
DW 6
DB $L$SEH_prolog_gcm_ghash_avx_8-$L$SEH_begin_gcm_ghash_avx_1
DB 184
DW 5
DB $L$SEH_prolog_gcm_ghash_avx_7-$L$SEH_begin_gcm_ghash_avx_1
DB 168
DW 4
DB $L$SEH_prolog_gcm_ghash_avx_6-$L$SEH_begin_gcm_ghash_avx_1
DB 152
DW 3
DB $L$SEH_prolog_gcm_ghash_avx_5-$L$SEH_begin_gcm_ghash_avx_1
DB 136
DW 2
DB $L$SEH_prolog_gcm_ghash_avx_4-$L$SEH_begin_gcm_ghash_avx_1
DB 120
DW 1
DB $L$SEH_prolog_gcm_ghash_avx_3-$L$SEH_begin_gcm_ghash_avx_1
DB 104
DW 0
DB $L$SEH_prolog_gcm_ghash_avx_2-$L$SEH_begin_gcm_ghash_avx_1
DB 1
DW 21
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -792,5 +793,9 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_md5_block_asm_data_order:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -14,6 +15,7 @@ section .text code align=64
EXTERN OPENSSL_ia32cap_P
section .rdata rdata align=8
ALIGN 64
$L$poly:
DQ 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001
@@ -32,6 +34,8 @@ $L$ord:
DQ 0xf3b9cac2fc632551,0xbce6faada7179e84,0xffffffffffffffff,0xffffffff00000000
$L$ordK:
DQ 0xccd1c8aaee00bc4f
section .text
@@ -1072,7 +1076,7 @@ DB 102,72,15,126,210
adox r10,rcx
adcx r14,r14
mulx rbp,rcx,rdx
DB 0x67
DB 0x67
DB 102,72,15,126,218
adox r11,rax
adcx r15,r15
@@ -1962,7 +1966,7 @@ __ecp_nistz256_sqr_montx:
adcx r13,r13
adox r10,rcx
adcx r14,r14
DB 0x67
DB 0x67
mulx rbp,rcx,rdx
mov rdx,QWORD[((24+128))+rsi]
adox r11,rax
@@ -1970,7 +1974,7 @@ DB 0x67
adox r12,rcx
mov rsi,32
adox r13,rbp
DB 0x67,0x67
DB 0x67,0x67
mulx rax,rcx,rdx
mov rdx,QWORD[(($L$poly+24))]
adox r14,rcx
@@ -2060,17 +2064,17 @@ ecp_nistz256_select_w5:
jnz NEAR $L$avx2_select_w5
lea rax,[((-136))+rsp]
$L$SEH_begin_ecp_nistz256_select_w5:
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
movdqa xmm0,XMMWORD[$L$One]
movd xmm1,r8d
@@ -2150,17 +2154,17 @@ ecp_nistz256_select_w7:
jnz NEAR $L$avx2_select_w7
lea rax,[((-136))+rsp]
$L$SEH_begin_ecp_nistz256_select_w7:
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
DB 0x48,0x8d,0x60,0xe0
DB 0x0f,0x29,0x70,0xe0
DB 0x0f,0x29,0x78,0xf0
DB 0x44,0x0f,0x29,0x00
DB 0x44,0x0f,0x29,0x48,0x10
DB 0x44,0x0f,0x29,0x50,0x20
DB 0x44,0x0f,0x29,0x58,0x30
DB 0x44,0x0f,0x29,0x60,0x40
DB 0x44,0x0f,0x29,0x68,0x50
DB 0x44,0x0f,0x29,0x70,0x60
DB 0x44,0x0f,0x29,0x78,0x70
movdqa xmm8,XMMWORD[$L$One]
movd xmm1,r8d
@@ -2226,17 +2230,17 @@ $L$avx2_select_w5:
lea rax,[((-136))+rsp]
mov r11,rsp
$L$SEH_begin_ecp_nistz256_avx2_select_w5:
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
vmovdqa ymm0,YMMWORD[$L$Two]
vpxor ymm2,ymm2,ymm2
@@ -2316,17 +2320,17 @@ $L$avx2_select_w7:
mov r11,rsp
lea rax,[((-136))+rsp]
$L$SEH_begin_ecp_nistz256_avx2_select_w7:
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
vmovdqa ymm0,YMMWORD[$L$Three]
vpxor ymm2,ymm2,ymm2
@@ -2956,7 +2960,7 @@ DB 102,73,15,110,220
DB 102,73,15,126,208
DB 102,73,15,126,217
or r12,r8
DB 0x3e
DB 0x3e
jnz NEAR $L$add_proceedq
@@ -4097,7 +4101,7 @@ DB 102,73,15,110,220
DB 102,73,15,126,208
DB 102,73,15,126,217
or r12,r8
DB 0x3e
DB 0x3e
jnz NEAR $L$add_proceedx
@@ -4889,96 +4893,100 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_ecp_nistz256_neg:
DB 9,0,0,0
DB 9,0,0,0
DD short_handler wrt ..imagebase
DD $L$neg_body wrt ..imagebase,$L$neg_epilogue wrt ..imagebase
$L$SEH_info_ecp_nistz256_ord_mul_mont:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$ord_mul_body wrt ..imagebase,$L$ord_mul_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_ord_sqr_mont:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$ord_sqr_body wrt ..imagebase,$L$ord_sqr_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_ord_mul_montx:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$ord_mulx_body wrt ..imagebase,$L$ord_mulx_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_ord_sqr_montx:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$ord_sqrx_body wrt ..imagebase,$L$ord_sqrx_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_mul_mont:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_sqr_mont:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$sqr_body wrt ..imagebase,$L$sqr_epilogue wrt ..imagebase
DD 48,0
$L$SEH_info_ecp_nistz256_select_wX:
DB 0x01,0x33,0x16,0x00
DB 0x33,0xf8,0x09,0x00
DB 0x2e,0xe8,0x08,0x00
DB 0x29,0xd8,0x07,0x00
DB 0x24,0xc8,0x06,0x00
DB 0x1f,0xb8,0x05,0x00
DB 0x1a,0xa8,0x04,0x00
DB 0x15,0x98,0x03,0x00
DB 0x10,0x88,0x02,0x00
DB 0x0c,0x78,0x01,0x00
DB 0x08,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
DB 0x01,0x33,0x16,0x00
DB 0x33,0xf8,0x09,0x00
DB 0x2e,0xe8,0x08,0x00
DB 0x29,0xd8,0x07,0x00
DB 0x24,0xc8,0x06,0x00
DB 0x1f,0xb8,0x05,0x00
DB 0x1a,0xa8,0x04,0x00
DB 0x15,0x98,0x03,0x00
DB 0x10,0x88,0x02,0x00
DB 0x0c,0x78,0x01,0x00
DB 0x08,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
ALIGN 8
$L$SEH_info_ecp_nistz256_avx2_select_wX:
DB 0x01,0x36,0x17,0x0b
DB 0x36,0xf8,0x09,0x00
DB 0x31,0xe8,0x08,0x00
DB 0x2c,0xd8,0x07,0x00
DB 0x27,0xc8,0x06,0x00
DB 0x22,0xb8,0x05,0x00
DB 0x1d,0xa8,0x04,0x00
DB 0x18,0x98,0x03,0x00
DB 0x13,0x88,0x02,0x00
DB 0x0e,0x78,0x01,0x00
DB 0x09,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
DB 0x00,0xb3,0x00,0x00
DB 0x01,0x36,0x17,0x0b
DB 0x36,0xf8,0x09,0x00
DB 0x31,0xe8,0x08,0x00
DB 0x2c,0xd8,0x07,0x00
DB 0x27,0xc8,0x06,0x00
DB 0x22,0xb8,0x05,0x00
DB 0x1d,0xa8,0x04,0x00
DB 0x18,0x98,0x03,0x00
DB 0x13,0x88,0x02,0x00
DB 0x0e,0x78,0x01,0x00
DB 0x09,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
DB 0x00,0xb3,0x00,0x00
ALIGN 8
$L$SEH_info_ecp_nistz256_point_double:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$point_doubleq_body wrt ..imagebase,$L$point_doubleq_epilogue wrt ..imagebase
DD 32*5+56,0
$L$SEH_info_ecp_nistz256_point_add:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$point_addq_body wrt ..imagebase,$L$point_addq_epilogue wrt ..imagebase
DD 32*18+56,0
$L$SEH_info_ecp_nistz256_point_add_affine:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$add_affineq_body wrt ..imagebase,$L$add_affineq_epilogue wrt ..imagebase
DD 32*15+56,0
ALIGN 8
$L$SEH_info_ecp_nistz256_point_doublex:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$point_doublex_body wrt ..imagebase,$L$point_doublex_epilogue wrt ..imagebase
DD 32*5+56,0
$L$SEH_info_ecp_nistz256_point_addx:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$point_addx_body wrt ..imagebase,$L$point_addx_epilogue wrt ..imagebase
DD 32*18+56,0
$L$SEH_info_ecp_nistz256_point_add_affinex:
DB 9,0,0,0
DB 9,0,0,0
DD full_handler wrt ..imagebase
DD $L$add_affinex_body wrt ..imagebase,$L$add_affinex_epilogue wrt ..imagebase
DD 32*15+56,0
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -337,3 +338,7 @@ $L$beeu_finish:
$L$SEH_end_beeu_mod_inverse_vartime:
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -56,3 +57,7 @@ $L$err:
DB 0F3h,0C3h ;repret
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -381,9 +382,9 @@ $L$OOP_REDUCE_1024:
imul rax,QWORD[((8-128))+r13]
vpaddq ymm2,ymm2,ymm14
vpmuludq ymm11,ymm12,YMMWORD[((96-128))+r13]
DB 0x67
DB 0x67
add r11,rax
DB 0x67
DB 0x67
mov rax,rdx
imul rax,QWORD[((16-128))+r13]
shr r10,29
@@ -427,12 +428,12 @@ DB 0x67
vpaddq ymm3,ymm3,ymm14
vpmuludq ymm11,ymm11,ymm13
vmovdqu ymm14,YMMWORD[((192-8-128))+r13]
DB 0x67
DB 0x67
mov r12,rax
imul eax,ecx
vpaddq ymm4,ymm4,ymm11
vpmuludq ymm10,ymm10,ymm13
DB 0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00
DB 0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00
and eax,0x1fffffff
vpaddq ymm5,ymm5,ymm10
vpmuludq ymm14,ymm14,ymm13
@@ -457,12 +458,12 @@ DB 0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00
vpaddq ymm1,ymm1,ymm14
vpmuludq ymm13,ymm13,ymm0
vpmuludq ymm11,ymm11,ymm12
DB 0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff
DB 0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff
vpaddq ymm13,ymm13,ymm1
vpaddq ymm2,ymm2,ymm11
vpmuludq ymm10,ymm10,ymm12
vmovdqu ymm11,YMMWORD[((160-16-128))+r13]
DB 0x67
DB 0x67
vmovq rax,xmm13
vmovdqu YMMWORD[rsp],ymm13
vpaddq ymm3,ymm3,ymm10
@@ -489,7 +490,7 @@ DB 0x67
and eax,0x1fffffff
vmovd xmm12,eax
vmovdqu ymm11,YMMWORD[((96-24-128))+r13]
DB 0x67
DB 0x67
vpaddq ymm9,ymm9,ymm10
vpbroadcastq ymm12,xmm12
@@ -504,7 +505,7 @@ DB 0x67
add r9,rax
mov rax,rdx
imul rax,QWORD[((8-128))+r13]
DB 0x67
DB 0x67
shr r9,29
mov r11,QWORD[16+rsp]
vpaddq ymm2,ymm3,ymm11
@@ -755,7 +756,7 @@ $L$mul_1024_body:
DB 0x67,0x67
DB 0x67,0x67
mov r15,rsi
and r15,4095
add r15,32*10
@@ -771,7 +772,7 @@ DB 0x67,0x67
and r15,4095
add r15,32*10
DB 0x67,0x67
DB 0x67,0x67
shr r15,12
jz NEAR $L$mul_1024_no_n_copy
@@ -817,7 +818,7 @@ $L$mul_1024_no_n_copy:
vpbroadcastq ymm10,QWORD[r13]
vmovdqu YMMWORD[rsp],ymm0
xor r9,r9
DB 0x67
DB 0x67
xor r10,r10
xor r11,r11
xor r12,r12
@@ -1689,17 +1690,17 @@ rsaz_1024_gather5_avx2:
lea rax,[((-136))+rsp]
$L$SEH_begin_rsaz_1024_gather5:
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
DB 0x48,0x8d,0x60,0xe0
DB 0xc5,0xf8,0x29,0x70,0xe0
DB 0xc5,0xf8,0x29,0x78,0xf0
DB 0xc5,0x78,0x29,0x40,0x00
DB 0xc5,0x78,0x29,0x48,0x10
DB 0xc5,0x78,0x29,0x50,0x20
DB 0xc5,0x78,0x29,0x58,0x30
DB 0xc5,0x78,0x29,0x60,0x40
DB 0xc5,0x78,0x29,0x68,0x50
DB 0xc5,0x78,0x29,0x70,0x60
DB 0xc5,0x78,0x29,0x78,0x70
lea rsp,[((-256))+rsp]
and rsp,-32
lea r10,[$L$inc]
@@ -1823,6 +1824,7 @@ $L$oop_gather_1024:
$L$SEH_end_rsaz_1024_gather5:
section .rdata rdata align=8
ALIGN 64
$L$and_mask:
DQ 0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff
@@ -1835,6 +1837,8 @@ $L$inc:
DD 2,2,2,2,3,3,3,3
DD 4,4,4,4,4,4,4,4
ALIGN 64
section .text
EXTERN __imp_RtlVirtualUnwind
ALIGN 16
@@ -1947,26 +1951,30 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_rsaz_1024_sqr_avx2:
DB 9,0,0,0
DB 9,0,0,0
DD rsaz_se_handler wrt ..imagebase
DD $L$sqr_1024_body wrt ..imagebase,$L$sqr_1024_epilogue wrt ..imagebase,$L$sqr_1024_in_tail wrt ..imagebase
DD 0
$L$SEH_info_rsaz_1024_mul_avx2:
DB 9,0,0,0
DB 9,0,0,0
DD rsaz_se_handler wrt ..imagebase
DD $L$mul_1024_body wrt ..imagebase,$L$mul_1024_epilogue wrt ..imagebase,$L$mul_1024_in_tail wrt ..imagebase
DD 0
$L$SEH_info_rsaz_1024_gather5:
DB 0x01,0x36,0x17,0x0b
DB 0x36,0xf8,0x09,0x00
DB 0x31,0xe8,0x08,0x00
DB 0x2c,0xd8,0x07,0x00
DB 0x27,0xc8,0x06,0x00
DB 0x22,0xb8,0x05,0x00
DB 0x1d,0xa8,0x04,0x00
DB 0x18,0x98,0x03,0x00
DB 0x13,0x88,0x02,0x00
DB 0x0e,0x78,0x01,0x00
DB 0x09,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
DB 0x00,0xb3,0x00,0x00
DB 0x01,0x36,0x17,0x0b
DB 0x36,0xf8,0x09,0x00
DB 0x31,0xe8,0x08,0x00
DB 0x2c,0xd8,0x07,0x00
DB 0x27,0xc8,0x06,0x00
DB 0x22,0xb8,0x05,0x00
DB 0x1d,0xa8,0x04,0x00
DB 0x18,0x98,0x03,0x00
DB 0x13,0x88,0x02,0x00
DB 0x0e,0x78,0x01,0x00
DB 0x09,0x68,0x00,0x00
DB 0x04,0x01,0x15,0x00
DB 0x00,0xb3,0x00,0x00
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -1322,133 +1323,134 @@ $L$oop_shaext:
lea r8,[64+rsi]
paddd xmm1,xmm4
cmovne rsi,r8
prefetcht0 [512+rsi]
movdqa xmm8,xmm0
DB 15,56,201,229
DB 15,56,201,229
movdqa xmm2,xmm0
DB 15,58,204,193,0
DB 15,56,200,213
DB 15,58,204,193,0
DB 15,56,200,213
pxor xmm4,xmm6
DB 15,56,201,238
DB 15,56,202,231
DB 15,56,201,238
DB 15,56,202,231
movdqa xmm1,xmm0
DB 15,58,204,194,0
DB 15,56,200,206
DB 15,58,204,194,0
DB 15,56,200,206
pxor xmm5,xmm7
DB 15,56,202,236
DB 15,56,201,247
DB 15,56,202,236
DB 15,56,201,247
movdqa xmm2,xmm0
DB 15,58,204,193,0
DB 15,56,200,215
DB 15,58,204,193,0
DB 15,56,200,215
pxor xmm6,xmm4
DB 15,56,201,252
DB 15,56,202,245
DB 15,56,201,252
DB 15,56,202,245
movdqa xmm1,xmm0
DB 15,58,204,194,0
DB 15,56,200,204
DB 15,58,204,194,0
DB 15,56,200,204
pxor xmm7,xmm5
DB 15,56,202,254
DB 15,56,201,229
DB 15,56,202,254
DB 15,56,201,229
movdqa xmm2,xmm0
DB 15,58,204,193,0
DB 15,56,200,213
DB 15,58,204,193,0
DB 15,56,200,213
pxor xmm4,xmm6
DB 15,56,201,238
DB 15,56,202,231
DB 15,56,201,238
DB 15,56,202,231
movdqa xmm1,xmm0
DB 15,58,204,194,1
DB 15,56,200,206
DB 15,58,204,194,1
DB 15,56,200,206
pxor xmm5,xmm7
DB 15,56,202,236
DB 15,56,201,247
DB 15,56,202,236
DB 15,56,201,247
movdqa xmm2,xmm0
DB 15,58,204,193,1
DB 15,56,200,215
DB 15,58,204,193,1
DB 15,56,200,215
pxor xmm6,xmm4
DB 15,56,201,252
DB 15,56,202,245
DB 15,56,201,252
DB 15,56,202,245
movdqa xmm1,xmm0
DB 15,58,204,194,1
DB 15,56,200,204
DB 15,58,204,194,1
DB 15,56,200,204
pxor xmm7,xmm5
DB 15,56,202,254
DB 15,56,201,229
DB 15,56,202,254
DB 15,56,201,229
movdqa xmm2,xmm0
DB 15,58,204,193,1
DB 15,56,200,213
DB 15,58,204,193,1
DB 15,56,200,213
pxor xmm4,xmm6
DB 15,56,201,238
DB 15,56,202,231
DB 15,56,201,238
DB 15,56,202,231
movdqa xmm1,xmm0
DB 15,58,204,194,1
DB 15,56,200,206
DB 15,58,204,194,1
DB 15,56,200,206
pxor xmm5,xmm7
DB 15,56,202,236
DB 15,56,201,247
DB 15,56,202,236
DB 15,56,201,247
movdqa xmm2,xmm0
DB 15,58,204,193,2
DB 15,56,200,215
DB 15,58,204,193,2
DB 15,56,200,215
pxor xmm6,xmm4
DB 15,56,201,252
DB 15,56,202,245
DB 15,56,201,252
DB 15,56,202,245
movdqa xmm1,xmm0
DB 15,58,204,194,2
DB 15,56,200,204
DB 15,58,204,194,2
DB 15,56,200,204
pxor xmm7,xmm5
DB 15,56,202,254
DB 15,56,201,229
DB 15,56,202,254
DB 15,56,201,229
movdqa xmm2,xmm0
DB 15,58,204,193,2
DB 15,56,200,213
DB 15,58,204,193,2
DB 15,56,200,213
pxor xmm4,xmm6
DB 15,56,201,238
DB 15,56,202,231
DB 15,56,201,238
DB 15,56,202,231
movdqa xmm1,xmm0
DB 15,58,204,194,2
DB 15,56,200,206
DB 15,58,204,194,2
DB 15,56,200,206
pxor xmm5,xmm7
DB 15,56,202,236
DB 15,56,201,247
DB 15,56,202,236
DB 15,56,201,247
movdqa xmm2,xmm0
DB 15,58,204,193,2
DB 15,56,200,215
DB 15,58,204,193,2
DB 15,56,200,215
pxor xmm6,xmm4
DB 15,56,201,252
DB 15,56,202,245
DB 15,56,201,252
DB 15,56,202,245
movdqa xmm1,xmm0
DB 15,58,204,194,3
DB 15,56,200,204
DB 15,58,204,194,3
DB 15,56,200,204
pxor xmm7,xmm5
DB 15,56,202,254
DB 15,56,202,254
movdqu xmm4,XMMWORD[rsi]
movdqa xmm2,xmm0
DB 15,58,204,193,3
DB 15,56,200,213
DB 15,58,204,193,3
DB 15,56,200,213
movdqu xmm5,XMMWORD[16+rsi]
DB 102,15,56,0,227
movdqa xmm1,xmm0
DB 15,58,204,194,3
DB 15,56,200,206
DB 15,58,204,194,3
DB 15,56,200,206
movdqu xmm6,XMMWORD[32+rsi]
DB 102,15,56,0,235
movdqa xmm2,xmm0
DB 15,58,204,193,3
DB 15,56,200,215
DB 15,58,204,193,3
DB 15,56,200,215
movdqu xmm7,XMMWORD[48+rsi]
DB 102,15,56,0,243
movdqa xmm1,xmm0
DB 15,58,204,194,3
DB 65,15,56,200,201
DB 15,58,204,194,3
DB 65,15,56,200,201
DB 102,15,56,0,251
paddd xmm0,xmm8
@@ -5553,6 +5555,7 @@ $L$epilogue_avx2:
DB 0F3h,0C3h ;repret
$L$SEH_end_sha1_block_data_order_avx2:
section .rdata rdata align=8
ALIGN 64
K_XX_XX:
DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999
@@ -5565,13 +5568,15 @@ K_XX_XX:
DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
DB 103,62,0
DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
DB 103,62,0
ALIGN 64
section .text
EXTERN __imp_RtlVirtualUnwind
ALIGN 16
@@ -5755,20 +5760,24 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_sha1_block_data_order:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
$L$SEH_info_sha1_block_data_order_shaext:
DB 9,0,0,0
DB 9,0,0,0
DD shaext_handler wrt ..imagebase
$L$SEH_info_sha1_block_data_order_ssse3:
DB 9,0,0,0
DB 9,0,0,0
DD ssse3_handler wrt ..imagebase
DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
$L$SEH_info_sha1_block_data_order_avx:
DB 9,0,0,0
DB 9,0,0,0
DD ssse3_handler wrt ..imagebase
DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
$L$SEH_info_sha1_block_data_order_avx2:
DB 9,0,0,0
DB 9,0,0,0
DD ssse3_handler wrt ..imagebase
DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -31,6 +32,8 @@ $L$SEH_begin_sha256_block_data_order:
mov r9d,DWORD[r11]
mov r10d,DWORD[4+r11]
mov r11d,DWORD[8+r11]
test r11d,536870912
jnz NEAR $L$shaext_shortcut
and r9d,1073741824
and r10d,268435968
or r10d,r9d
@@ -1746,6 +1749,7 @@ $L$epilogue:
DB 0F3h,0C3h ;repret
$L$SEH_end_sha256_block_data_order:
section .rdata rdata align=8
ALIGN 64
K256:
@@ -1788,11 +1792,247 @@ K256:
DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
DB 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
DB 52,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
DB 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
DB 52,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
section .text
ALIGN 64
sha256_block_data_order_shaext:
mov QWORD[8+rsp],rdi ;WIN64 prologue
mov QWORD[16+rsp],rsi
mov rax,rsp
$L$SEH_begin_sha256_block_data_order_shaext:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
$L$shaext_shortcut:
lea rsp,[((-88))+rsp]
movaps XMMWORD[(-8-80)+rax],xmm6
movaps XMMWORD[(-8-64)+rax],xmm7
movaps XMMWORD[(-8-48)+rax],xmm8
movaps XMMWORD[(-8-32)+rax],xmm9
movaps XMMWORD[(-8-16)+rax],xmm10
$L$prologue_shaext:
lea rcx,[((K256+128))]
movdqu xmm1,XMMWORD[rdi]
movdqu xmm2,XMMWORD[16+rdi]
movdqa xmm7,XMMWORD[((512-128))+rcx]
pshufd xmm0,xmm1,0x1b
pshufd xmm1,xmm1,0xb1
pshufd xmm2,xmm2,0x1b
movdqa xmm8,xmm7
DB 102,15,58,15,202,8
punpcklqdq xmm2,xmm0
jmp NEAR $L$oop_shaext
ALIGN 16
$L$oop_shaext:
movdqu xmm3,XMMWORD[rsi]
movdqu xmm4,XMMWORD[16+rsi]
movdqu xmm5,XMMWORD[32+rsi]
DB 102,15,56,0,223
movdqu xmm6,XMMWORD[48+rsi]
movdqa xmm0,XMMWORD[((0-128))+rcx]
paddd xmm0,xmm3
DB 102,15,56,0,231
movdqa xmm10,xmm2
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
nop
movdqa xmm9,xmm1
DB 15,56,203,202
movdqa xmm0,XMMWORD[((32-128))+rcx]
paddd xmm0,xmm4
DB 102,15,56,0,239
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
lea rsi,[64+rsi]
DB 15,56,204,220
DB 15,56,203,202
movdqa xmm0,XMMWORD[((64-128))+rcx]
paddd xmm0,xmm5
DB 102,15,56,0,247
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm6
DB 102,15,58,15,253,4
nop
paddd xmm3,xmm7
DB 15,56,204,229
DB 15,56,203,202
movdqa xmm0,XMMWORD[((96-128))+rcx]
paddd xmm0,xmm6
DB 15,56,205,222
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm3
DB 102,15,58,15,254,4
nop
paddd xmm4,xmm7
DB 15,56,204,238
DB 15,56,203,202
movdqa xmm0,XMMWORD[((128-128))+rcx]
paddd xmm0,xmm3
DB 15,56,205,227
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm4
DB 102,15,58,15,251,4
nop
paddd xmm5,xmm7
DB 15,56,204,243
DB 15,56,203,202
movdqa xmm0,XMMWORD[((160-128))+rcx]
paddd xmm0,xmm4
DB 15,56,205,236
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm5
DB 102,15,58,15,252,4
nop
paddd xmm6,xmm7
DB 15,56,204,220
DB 15,56,203,202
movdqa xmm0,XMMWORD[((192-128))+rcx]
paddd xmm0,xmm5
DB 15,56,205,245
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm6
DB 102,15,58,15,253,4
nop
paddd xmm3,xmm7
DB 15,56,204,229
DB 15,56,203,202
movdqa xmm0,XMMWORD[((224-128))+rcx]
paddd xmm0,xmm6
DB 15,56,205,222
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm3
DB 102,15,58,15,254,4
nop
paddd xmm4,xmm7
DB 15,56,204,238
DB 15,56,203,202
movdqa xmm0,XMMWORD[((256-128))+rcx]
paddd xmm0,xmm3
DB 15,56,205,227
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm4
DB 102,15,58,15,251,4
nop
paddd xmm5,xmm7
DB 15,56,204,243
DB 15,56,203,202
movdqa xmm0,XMMWORD[((288-128))+rcx]
paddd xmm0,xmm4
DB 15,56,205,236
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm5
DB 102,15,58,15,252,4
nop
paddd xmm6,xmm7
DB 15,56,204,220
DB 15,56,203,202
movdqa xmm0,XMMWORD[((320-128))+rcx]
paddd xmm0,xmm5
DB 15,56,205,245
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm6
DB 102,15,58,15,253,4
nop
paddd xmm3,xmm7
DB 15,56,204,229
DB 15,56,203,202
movdqa xmm0,XMMWORD[((352-128))+rcx]
paddd xmm0,xmm6
DB 15,56,205,222
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm3
DB 102,15,58,15,254,4
nop
paddd xmm4,xmm7
DB 15,56,204,238
DB 15,56,203,202
movdqa xmm0,XMMWORD[((384-128))+rcx]
paddd xmm0,xmm3
DB 15,56,205,227
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm4
DB 102,15,58,15,251,4
nop
paddd xmm5,xmm7
DB 15,56,204,243
DB 15,56,203,202
movdqa xmm0,XMMWORD[((416-128))+rcx]
paddd xmm0,xmm4
DB 15,56,205,236
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
movdqa xmm7,xmm5
DB 102,15,58,15,252,4
DB 15,56,203,202
paddd xmm6,xmm7
movdqa xmm0,XMMWORD[((448-128))+rcx]
paddd xmm0,xmm5
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
DB 15,56,205,245
movdqa xmm7,xmm8
DB 15,56,203,202
movdqa xmm0,XMMWORD[((480-128))+rcx]
paddd xmm0,xmm6
nop
DB 15,56,203,209
pshufd xmm0,xmm0,0x0e
dec rdx
nop
DB 15,56,203,202
paddd xmm2,xmm10
paddd xmm1,xmm9
jnz NEAR $L$oop_shaext
pshufd xmm2,xmm2,0xb1
pshufd xmm7,xmm1,0x1b
pshufd xmm1,xmm1,0xb1
punpckhqdq xmm1,xmm2
DB 102,15,58,15,215,8
movdqu XMMWORD[rdi],xmm1
movdqu XMMWORD[16+rdi],xmm2
movaps xmm6,XMMWORD[((-8-80))+rax]
movaps xmm7,XMMWORD[((-8-64))+rax]
movaps xmm8,XMMWORD[((-8-48))+rax]
movaps xmm9,XMMWORD[((-8-32))+rax]
movaps xmm10,XMMWORD[((-8-16))+rax]
mov rsp,rax
$L$epilogue_shaext:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
$L$SEH_end_sha256_block_data_order_shaext:
ALIGN 64
sha256_block_data_order_ssse3:
@@ -4115,11 +4355,46 @@ $L$in_prologue:
pop rsi
DB 0F3h,0C3h ;repret
ALIGN 16
shaext_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_shaext]
cmp rbx,r10
jb NEAR $L$in_prologue
lea r10,[$L$epilogue_shaext]
cmp rbx,r10
jae NEAR $L$in_prologue
lea rsi,[((-8-80))+rax]
lea rdi,[512+r8]
mov ecx,10
DD 0xa548f3fc
jmp NEAR $L$in_prologue
section .pdata rdata align=4
ALIGN 4
DD $L$SEH_begin_sha256_block_data_order wrt ..imagebase
DD $L$SEH_end_sha256_block_data_order wrt ..imagebase
DD $L$SEH_info_sha256_block_data_order wrt ..imagebase
DD $L$SEH_begin_sha256_block_data_order_shaext wrt ..imagebase
DD $L$SEH_end_sha256_block_data_order_shaext wrt ..imagebase
DD $L$SEH_info_sha256_block_data_order_shaext wrt ..imagebase
DD $L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase
DD $L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase
DD $L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase
@@ -4129,14 +4404,21 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_sha256_block_data_order:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
$L$SEH_info_sha256_block_data_order_shaext:
DB 9,0,0,0
DD shaext_handler wrt ..imagebase
$L$SEH_info_sha256_block_data_order_ssse3:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
$L$SEH_info_sha256_block_data_order_avx:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -1744,6 +1745,7 @@ $L$epilogue:
DB 0F3h,0C3h ;repret
$L$SEH_end_sha512_block_data_order:
section .rdata rdata align=8
ALIGN 64
K512:
@@ -1830,11 +1832,13 @@ K512:
DQ 0x0001020304050607,0x08090a0b0c0d0e0f
DQ 0x0001020304050607,0x08090a0b0c0d0e0f
DB 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
DB 52,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
DB 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
DB 52,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
section .text
ALIGN 64
sha512_block_data_order_avx:
@@ -3130,10 +3134,14 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_sha512_block_data_order:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
$L$SEH_info_sha512_block_data_order_avx:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -1226,6 +1227,7 @@ _vpaes_preheat:
section .rdata rdata align=8
ALIGN 64
_vpaes_consts:
$L$k_inv:
@@ -1332,13 +1334,15 @@ $L$ctr_add_one:
$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
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
section .text
EXTERN __imp_RtlVirtualUnwind
ALIGN 16
@@ -1447,26 +1451,30 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_vpaes_set_encrypt_key:
DB 9,0,0,0
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_vpaes_set_decrypt_key:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$dec_key_body wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase
$L$SEH_info_vpaes_encrypt:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$enc_body wrt ..imagebase,$L$enc_epilogue wrt ..imagebase
$L$SEH_info_vpaes_decrypt:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$dec_body wrt ..imagebase,$L$dec_epilogue wrt ..imagebase
$L$SEH_info_vpaes_cbc_encrypt:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$cbc_body wrt ..imagebase,$L$cbc_epilogue wrt ..imagebase
$L$SEH_info_vpaes_ctr32_encrypt_blocks:
DB 9,0,0,0
DB 9,0,0,0
DD se_handler wrt ..imagebase
DD $L$ctr32_body wrt ..imagebase,$L$ctr32_epilogue wrt ..imagebase
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -1046,7 +1047,7 @@ $L$mulx4x_body:
mulx r11,rax,QWORD[8+rcx]
adcx r10,rax
adox r11,r12
DB 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
DB 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
mov rdi,QWORD[48+rsp]
mov QWORD[((-32))+rbx],r10
adcx r11,rax
@@ -1071,7 +1072,7 @@ $L$mulx4x_1st:
mulx rax,r12,QWORD[16+rsi]
adcx r12,r14
mulx r14,r13,QWORD[24+rsi]
DB 0x67,0x67
DB 0x67,0x67
mov rdx,r8
adcx r13,rax
adcx r14,rbp
@@ -1305,11 +1306,11 @@ $L$mulx4x_epilogue:
DB 0F3h,0C3h ;repret
$L$SEH_end_bn_mulx4x_mont:
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,95,54,52,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
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,95,54,52,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
ALIGN 16
EXTERN __imp_RtlVirtualUnwind
@@ -1462,20 +1463,24 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_bn_mul_mont:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase
$L$SEH_info_bn_mul4x_mont:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase
$L$SEH_info_bn_sqr8x_mont:
DB 9,0,0,0
DB 9,0,0,0
DD sqr_handler wrt ..imagebase
DD $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_mulx4x_mont:
DB 9,0,0,0
DB 9,0,0,0
DD sqr_handler wrt ..imagebase
DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase
ALIGN 8
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -101,7 +102,7 @@ $L$mul_body:
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm5
DB 0x67
DB 0x67
movdqa xmm3,xmm4
paddd xmm2,xmm1
pcmpeqd xmm1,xmm5
@@ -165,7 +166,7 @@ DB 0x67
movdqa XMMWORD[304+r10],xmm0
paddd xmm3,xmm2
DB 0x67
DB 0x67
pcmpeqd xmm2,xmm5
movdqa XMMWORD[320+r10],xmm1
@@ -216,6 +217,7 @@ DB 0x67
por xmm0,xmm2
por xmm1,xmm3
por xmm0,xmm1
pshufd xmm1,xmm0,0x4e
por xmm0,xmm1
lea r12,[256+r12]
@@ -339,6 +341,7 @@ $L$outer:
por xmm4,xmm2
por xmm5,xmm3
por xmm4,xmm5
pshufd xmm0,xmm4,0x4e
por xmm0,xmm4
lea r12,[256+r12]
@@ -484,7 +487,7 @@ $L$SEH_begin_bn_mul4x_mont_gather5:
DB 0x67
DB 0x67
mov rax,rsp
$L$mul4x_enter:
@@ -505,7 +508,7 @@ $L$mul4x_enter:
$L$mul4x_prologue:
DB 0x67
DB 0x67
shl r9d,3
lea r10,[r9*2+r9]
neg r9
@@ -604,11 +607,11 @@ mul4x_internal:
pshufd xmm5,xmm5,0
movdqa xmm4,xmm1
DB 0x67,0x67
DB 0x67,0x67
movdqa xmm2,xmm1
paddd xmm1,xmm0
pcmpeqd xmm0,xmm5
DB 0x67
DB 0x67
movdqa xmm3,xmm4
paddd xmm2,xmm1
pcmpeqd xmm1,xmm5
@@ -672,7 +675,7 @@ DB 0x67
movdqa XMMWORD[304+r10],xmm0
paddd xmm3,xmm2
DB 0x67
DB 0x67
pcmpeqd xmm2,xmm5
movdqa XMMWORD[320+r10],xmm1
@@ -723,6 +726,7 @@ DB 0x67
por xmm0,xmm2
por xmm1,xmm3
por xmm0,xmm1
pshufd xmm1,xmm0,0x4e
por xmm0,xmm1
lea r12,[256+r12]
@@ -930,6 +934,7 @@ $L$outer4x:
por xmm4,xmm2
por xmm5,xmm3
por xmm4,xmm5
pshufd xmm0,xmm4,0x4e
por xmm0,xmm4
lea r12,[256+r12]
@@ -1533,7 +1538,7 @@ $L$sqr4x_inner:
add r13,QWORD[rcx*1+rdi]
adc r12,0
DB 0x67
DB 0x67
mul r14
add r11,rax
mov rax,rbx
@@ -1565,7 +1570,7 @@ DB 0x67
cmp rcx,0
jne NEAR $L$sqr4x_inner
DB 0x67
DB 0x67
mul r15
add r13,rax
adc rdx,0
@@ -1758,7 +1763,7 @@ $L$sqr4x_shift_n_add:
jnz NEAR $L$sqr4x_shift_n_add
lea r12,[r10*2+r14]
DB 0x67
DB 0x67
shr r10,63
lea r13,[r11*2+rcx]
shr r11,63
@@ -1800,7 +1805,7 @@ __bn_sqr8x_reduction:
ALIGN 32
$L$8x_reduction_loop:
lea rdi,[r9*1+rdi]
DB 0x66
DB 0x66
mov rbx,QWORD[rdi]
mov r9,QWORD[8+rdi]
mov r10,QWORD[16+rdi]
@@ -1812,7 +1817,7 @@ DB 0x66
mov QWORD[rdx],rax
lea rdi,[64+rdi]
DB 0x67
DB 0x67
mov r8,rbx
imul rbx,QWORD[((32+8))+rsp]
mov rax,QWORD[rbp]
@@ -1896,7 +1901,7 @@ $L$8x_reduce:
cmp rbp,QWORD[((0+8))+rsp]
jae NEAR $L$8x_no_tail
DB 0x66
DB 0x66
add r8,QWORD[rdi]
adc r9,QWORD[8+rdi]
adc r10,QWORD[16+rdi]
@@ -2104,200 +2109,6 @@ $L$sqr4x_sub_entry:
DB 0F3h,0C3h ;repret
global bn_from_montgomery
ALIGN 32
bn_from_montgomery:
test DWORD[48+rsp],7
jz NEAR bn_from_mont8x
xor eax,eax
DB 0F3h,0C3h ;repret
ALIGN 32
bn_from_mont8x:
mov QWORD[8+rsp],rdi ;WIN64 prologue
mov QWORD[16+rsp],rsi
mov rax,rsp
$L$SEH_begin_bn_from_mont8x:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
mov r8,QWORD[40+rsp]
mov r9,QWORD[48+rsp]
DB 0x67
mov rax,rsp
push rbx
push rbp
push r12
push r13
push r14
push r15
$L$from_prologue:
shl r9d,3
lea r10,[r9*2+r9]
neg r9
mov r8,QWORD[r8]
lea r11,[((-320))+r9*2+rsp]
mov rbp,rsp
sub r11,rdi
and r11,4095
cmp r10,r11
jb NEAR $L$from_sp_alt
sub rbp,r11
lea rbp,[((-320))+r9*2+rbp]
jmp NEAR $L$from_sp_done
ALIGN 32
$L$from_sp_alt:
lea r10,[((4096-320))+r9*2]
lea rbp,[((-320))+r9*2+rbp]
sub r11,r10
mov r10,0
cmovc r11,r10
sub rbp,r11
$L$from_sp_done:
and rbp,-64
mov r11,rsp
sub r11,rbp
and r11,-4096
lea rsp,[rbp*1+r11]
mov r10,QWORD[rsp]
cmp rsp,rbp
ja NEAR $L$from_page_walk
jmp NEAR $L$from_page_walk_done
$L$from_page_walk:
lea rsp,[((-4096))+rsp]
mov r10,QWORD[rsp]
cmp rsp,rbp
ja NEAR $L$from_page_walk
$L$from_page_walk_done:
mov r10,r9
neg r9
mov QWORD[32+rsp],r8
mov QWORD[40+rsp],rax
$L$from_body:
mov r11,r9
lea rax,[48+rsp]
pxor xmm0,xmm0
jmp NEAR $L$mul_by_1
ALIGN 32
$L$mul_by_1:
movdqu xmm1,XMMWORD[rsi]
movdqu xmm2,XMMWORD[16+rsi]
movdqu xmm3,XMMWORD[32+rsi]
movdqa XMMWORD[r9*1+rax],xmm0
movdqu xmm4,XMMWORD[48+rsi]
movdqa XMMWORD[16+r9*1+rax],xmm0
DB 0x48,0x8d,0xb6,0x40,0x00,0x00,0x00
movdqa XMMWORD[rax],xmm1
movdqa XMMWORD[32+r9*1+rax],xmm0
movdqa XMMWORD[16+rax],xmm2
movdqa XMMWORD[48+r9*1+rax],xmm0
movdqa XMMWORD[32+rax],xmm3
movdqa XMMWORD[48+rax],xmm4
lea rax,[64+rax]
sub r11,64
jnz NEAR $L$mul_by_1
DB 102,72,15,110,207
DB 102,72,15,110,209
DB 0x67
mov rbp,rcx
DB 102,73,15,110,218
lea r11,[OPENSSL_ia32cap_P]
mov r11d,DWORD[8+r11]
and r11d,0x80108
cmp r11d,0x80108
jne NEAR $L$from_mont_nox
lea rdi,[r9*1+rax]
call __bn_sqrx8x_reduction
call __bn_postx4x_internal
pxor xmm0,xmm0
lea rax,[48+rsp]
jmp NEAR $L$from_mont_zero
ALIGN 32
$L$from_mont_nox:
call __bn_sqr8x_reduction
call __bn_post4x_internal
pxor xmm0,xmm0
lea rax,[48+rsp]
jmp NEAR $L$from_mont_zero
ALIGN 32
$L$from_mont_zero:
mov rsi,QWORD[40+rsp]
movdqa XMMWORD[rax],xmm0
movdqa XMMWORD[16+rax],xmm0
movdqa XMMWORD[32+rax],xmm0
movdqa XMMWORD[48+rax],xmm0
lea rax,[64+rax]
sub r9,32
jnz NEAR $L$from_mont_zero
mov rax,1
mov r15,QWORD[((-48))+rsi]
mov r14,QWORD[((-40))+rsi]
mov r13,QWORD[((-32))+rsi]
mov r12,QWORD[((-24))+rsi]
mov rbp,QWORD[((-16))+rsi]
mov rbx,QWORD[((-8))+rsi]
lea rsp,[rsi]
$L$from_epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
$L$SEH_end_bn_from_mont8x:
ALIGN 32
bn_mulx4x_mont_gather5:
@@ -2447,9 +2258,9 @@ mulx4x_internal:
pshufd xmm5,xmm5,0
movdqa xmm4,xmm1
DB 0x67
DB 0x67
movdqa xmm2,xmm1
DB 0x67
DB 0x67
paddd xmm1,xmm0
pcmpeqd xmm0,xmm5
movdqa xmm3,xmm4
@@ -2510,7 +2321,7 @@ DB 0x67
pcmpeqd xmm0,xmm5
movdqa XMMWORD[288+r10],xmm3
movdqa xmm3,xmm4
DB 0x67
DB 0x67
paddd xmm2,xmm1
pcmpeqd xmm1,xmm5
movdqa XMMWORD[304+r10],xmm0
@@ -2566,6 +2377,7 @@ DB 0x67
por xmm0,xmm2
por xmm1,xmm3
pxor xmm0,xmm1
pshufd xmm1,xmm0,0x4e
por xmm0,xmm1
lea rdi,[256+rdi]
@@ -2622,7 +2434,7 @@ $L$mulx4x_1st:
mulx rax,r12,QWORD[16+rsi]
adcx r12,r14
mulx r14,r13,QWORD[24+rsi]
DB 0x67,0x67
DB 0x67,0x67
mov rdx,r8
adcx r13,rax
adcx r14,rbp
@@ -2665,7 +2477,7 @@ ALIGN 32
$L$mulx4x_outer:
lea r10,[((16-256))+rbx]
pxor xmm4,xmm4
DB 0x67,0x67
DB 0x67,0x67
pxor xmm5,xmm5
movdqa xmm0,XMMWORD[((-128))+rdi]
movdqa xmm1,XMMWORD[((-112))+rdi]
@@ -2716,6 +2528,7 @@ DB 0x67,0x67
por xmm4,xmm2
por xmm5,xmm3
por xmm4,xmm5
pshufd xmm0,xmm4,0x4e
por xmm0,xmm4
lea rdi,[256+rdi]
@@ -3050,9 +2863,9 @@ __bn_sqrx8x_internal:
jmp NEAR $L$sqr8x_zero_start
ALIGN 32
DB 0x66,0x66,0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00
DB 0x66,0x66,0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00
$L$sqrx8x_zero:
DB 0x3e
DB 0x3e
movdqa XMMWORD[rdi],xmm0
movdqa XMMWORD[16+rdi],xmm0
movdqa XMMWORD[32+rdi],xmm0
@@ -3086,10 +2899,10 @@ $L$sqrx8x_outer_loop:
mulx rax,r9,QWORD[16+rsi]
adcx r9,r10
adox r11,rax
DB 0xc4,0xe2,0xab,0xf6,0x86,0x18,0x00,0x00,0x00
DB 0xc4,0xe2,0xab,0xf6,0x86,0x18,0x00,0x00,0x00
adcx r10,r11
adox r12,rax
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x20,0x00,0x00,0x00
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x20,0x00,0x00,0x00
adcx r11,r12
adox r13,rax
mulx rax,r12,QWORD[40+rsi]
@@ -3116,13 +2929,13 @@ DB 0xc4,0xe2,0xa3,0xf6,0x86,0x20,0x00,0x00,0x00
mulx rbx,r10,QWORD[32+rsi]
adcx r9,r11
adox r10,rax
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x28,0x00,0x00,0x00
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x28,0x00,0x00,0x00
adcx r10,r12
adox r11,rbx
DB 0xc4,0xe2,0x9b,0xf6,0x9e,0x30,0x00,0x00,0x00
DB 0xc4,0xe2,0x9b,0xf6,0x9e,0x30,0x00,0x00,0x00
adcx r11,r13
adox r12,r14
DB 0xc4,0x62,0x93,0xf6,0xb6,0x38,0x00,0x00,0x00
DB 0xc4,0x62,0x93,0xf6,0xb6,0x38,0x00,0x00,0x00
mov rdx,QWORD[16+rsi]
adcx r12,rax
adox r13,rbx
@@ -3140,11 +2953,11 @@ DB 0xc4,0x62,0x93,0xf6,0xb6,0x38,0x00,0x00,0x00
mulx rbx,r10,QWORD[40+rsi]
adcx r9,r11
adox r10,rax
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x30,0x00,0x00,0x00
DB 0xc4,0xe2,0xa3,0xf6,0x86,0x30,0x00,0x00,0x00
adcx r10,r12
adox r11,r13
DB 0xc4,0x62,0x9b,0xf6,0xae,0x38,0x00,0x00,0x00
DB 0x3e
DB 0xc4,0x62,0x9b,0xf6,0xae,0x38,0x00,0x00,0x00
DB 0x3e
mov rdx,QWORD[24+rsi]
adcx r11,rbx
adox r12,rax
@@ -3196,7 +3009,7 @@ DB 0x3e
adcx r12,rax
adox r13,rbp
DB 0x67,0x67
DB 0x67,0x67
mulx r14,r8,r8
adcx r13,r8
adcx r14,rbp
@@ -3246,7 +3059,7 @@ $L$sqrx8x_loop:
adcx r10,rax
adox r11,r12
DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00
DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00
adcx r11,rax
adox r12,r13
@@ -3260,13 +3073,13 @@ DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00
adcx r13,rax
adox r14,r15
DB 0xc4,0x62,0xfb,0xf6,0xbd,0x38,0x00,0x00,0x00
DB 0xc4,0x62,0xfb,0xf6,0xbd,0x38,0x00,0x00,0x00
mov rdx,QWORD[8+rcx*8+rsi]
adcx r14,rax
adox r15,rbx
adcx r15,rbx
DB 0x67
DB 0x67
inc rcx
jnz NEAR $L$sqrx8x_loop
@@ -3276,7 +3089,7 @@ DB 0x67
je NEAR $L$sqrx8x_break
sub rbx,QWORD[((16+8))+rsp]
DB 0x66
DB 0x66
mov rdx,QWORD[((-64))+rsi]
adcx r8,QWORD[rdi]
adcx r9,QWORD[8+rdi]
@@ -3287,7 +3100,7 @@ DB 0x66
adc r14,QWORD[48+rdi]
adc r15,QWORD[56+rdi]
lea rdi,[64+rdi]
DB 0x67
DB 0x67
sbb rax,rax
xor ebx,ebx
mov QWORD[((16+8))+rsp],rax
@@ -3353,8 +3166,8 @@ $L$sqrx4x_shift_n_add:
mulx rbx,rax,rdx
adox r12,r12
adcx rax,r10
DB 0x48,0x8b,0x94,0x0e,0x08,0x00,0x00,0x00
DB 0x4c,0x8b,0x97,0x20,0x00,0x00,0x00
DB 0x48,0x8b,0x94,0x0e,0x08,0x00,0x00,0x00
DB 0x4c,0x8b,0x97,0x20,0x00,0x00,0x00
adox r13,r13
adcx rbx,r11
mov r11,QWORD[40+rdi]
@@ -3388,7 +3201,7 @@ DB 0x4c,0x8b,0x97,0x20,0x00,0x00,0x00
adox r10,r10
adcx rax,r12
jrcxz $L$sqrx4x_shift_n_add_break
DB 0x48,0x8b,0x94,0x0e,0x00,0x00,0x00,0x00
DB 0x48,0x8b,0x94,0x0e,0x00,0x00,0x00,0x00
adox r11,r11
adcx rbx,r13
mov r12,QWORD[80+rdi]
@@ -3455,7 +3268,7 @@ $L$sqrx8x_reduce:
adcx r10,rbx
adox r11,r12
DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00
DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00
mov rax,rdx
mov rdx,r8
adcx r11,rbx
@@ -3479,7 +3292,7 @@ DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00
adox r15,rsi
adcx r15,rsi
DB 0x67,0x67,0x67
DB 0x67,0x67,0x67
inc rcx
jnz NEAR $L$sqrx8x_reduce
@@ -3524,7 +3337,7 @@ $L$sqrx8x_tail:
adcx r10,rax
adox r11,r12
DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00
DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00
adcx r11,rax
adox r12,r13
@@ -3676,6 +3489,15 @@ bn_scatter5:
cmp edx,0
jz NEAR $L$scatter_epilogue
lea r8,[r9*8+r8]
$L$scatter:
mov rax,QWORD[rcx]
@@ -3696,9 +3518,9 @@ bn_gather5:
$L$SEH_begin_bn_gather5:
DB 0x4c,0x8d,0x14,0x24
DB 0x4c,0x8d,0x14,0x24
DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00
DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00
lea rax,[$L$inc]
and rsp,-16
@@ -3843,6 +3665,7 @@ $L$gather:
por xmm5,xmm3
por xmm4,xmm5
lea r11,[256+r11]
pshufd xmm0,xmm4,0x4e
por xmm0,xmm4
movq QWORD[rcx],xmm0
@@ -3856,16 +3679,19 @@ $L$gather:
$L$SEH_end_bn_gather5:
section .rdata rdata align=8
ALIGN 64
$L$inc:
DD 0,0,1,1
DD 2,2,2,2
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,119,105,116,104,32,115
DB 99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111
DB 114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79
DB 71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111
DB 112,101,110,115,115,108,46,111,114,103,62,0
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,119,105,116,104,32,115
DB 99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111
DB 114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79
DB 71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111
DB 112,101,110,115,115,108,46,111,114,103,62,0
section .text
EXTERN __imp_RtlVirtualUnwind
ALIGN 16
@@ -3982,10 +3808,6 @@ ALIGN 4
DD $L$SEH_begin_bn_power5 wrt ..imagebase
DD $L$SEH_end_bn_power5 wrt ..imagebase
DD $L$SEH_info_bn_power5 wrt ..imagebase
DD $L$SEH_begin_bn_from_mont8x wrt ..imagebase
DD $L$SEH_end_bn_from_mont8x wrt ..imagebase
DD $L$SEH_info_bn_from_mont8x wrt ..imagebase
DD $L$SEH_begin_bn_mulx4x_mont_gather5 wrt ..imagebase
DD $L$SEH_end_bn_mulx4x_mont_gather5 wrt ..imagebase
DD $L$SEH_info_bn_mulx4x_mont_gather5 wrt ..imagebase
@@ -4000,37 +3822,36 @@ ALIGN 4
section .xdata rdata align=8
ALIGN 8
$L$SEH_info_bn_mul_mont_gather5:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$mul_body wrt ..imagebase,$L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_mul4x_mont_gather5:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$mul4x_prologue wrt ..imagebase,$L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_power5:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$power5_prologue wrt ..imagebase,$L$power5_body wrt ..imagebase,$L$power5_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_from_mont8x:
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$from_prologue wrt ..imagebase,$L$from_body wrt ..imagebase,$L$from_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_mulx4x_mont_gather5:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_powerx5:
DB 9,0,0,0
DB 9,0,0,0
DD mul_handler wrt ..imagebase
DD $L$powerx5_prologue wrt ..imagebase,$L$powerx5_body wrt ..imagebase,$L$powerx5_epilogue wrt ..imagebase
ALIGN 8
$L$SEH_info_bn_gather5:
DB 0x01,0x0b,0x03,0x0a
DB 0x0b,0x01,0x21,0x00
DB 0x04,0xa3,0x00,0x00
DB 0x01,0x0b,0x03,0x0a
DB 0x0b,0x01,0x21,0x00
DB 0x04,0xa3,0x00,0x00
ALIGN 8
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif

View File

@@ -1,6 +1,7 @@
; 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
@@ -23,8 +24,8 @@ section .text code align=64
global abi_test_trampoline
ALIGN 16
abi_test_trampoline:
$L$abi_test_trampoline_seh_begin:
$L$SEH_begin_abi_test_trampoline_1:
@@ -36,62 +37,61 @@ $L$abi_test_trampoline_seh_begin:
sub rsp,344
$L$abi_test_trampoline_seh_prolog_alloc:
$L$SEH_prolog_abi_test_trampoline_2:
mov QWORD[112+rsp],rbx
$L$abi_test_trampoline_seh_prolog_rbx:
$L$SEH_prolog_abi_test_trampoline_3:
mov QWORD[120+rsp],rbp
$L$abi_test_trampoline_seh_prolog_rbp:
$L$SEH_prolog_abi_test_trampoline_4:
mov QWORD[128+rsp],rdi
$L$abi_test_trampoline_seh_prolog_rdi:
$L$SEH_prolog_abi_test_trampoline_5:
mov QWORD[136+rsp],rsi
$L$abi_test_trampoline_seh_prolog_rsi:
$L$SEH_prolog_abi_test_trampoline_6:
mov QWORD[144+rsp],r12
$L$abi_test_trampoline_seh_prolog_r12:
$L$SEH_prolog_abi_test_trampoline_7:
mov QWORD[152+rsp],r13
$L$abi_test_trampoline_seh_prolog_r13:
$L$SEH_prolog_abi_test_trampoline_8:
mov QWORD[160+rsp],r14
$L$abi_test_trampoline_seh_prolog_r14:
$L$SEH_prolog_abi_test_trampoline_9:
mov QWORD[168+rsp],r15
$L$abi_test_trampoline_seh_prolog_r15:
$L$SEH_prolog_abi_test_trampoline_10:
movdqa XMMWORD[176+rsp],xmm6
$L$abi_test_trampoline_seh_prolog_xmm6:
$L$SEH_prolog_abi_test_trampoline_11:
movdqa XMMWORD[192+rsp],xmm7
$L$abi_test_trampoline_seh_prolog_xmm7:
$L$SEH_prolog_abi_test_trampoline_12:
movdqa XMMWORD[208+rsp],xmm8
$L$abi_test_trampoline_seh_prolog_xmm8:
$L$SEH_prolog_abi_test_trampoline_13:
movdqa XMMWORD[224+rsp],xmm9
$L$abi_test_trampoline_seh_prolog_xmm9:
$L$SEH_prolog_abi_test_trampoline_14:
movdqa XMMWORD[240+rsp],xmm10
$L$abi_test_trampoline_seh_prolog_xmm10:
$L$SEH_prolog_abi_test_trampoline_15:
movdqa XMMWORD[256+rsp],xmm11
$L$abi_test_trampoline_seh_prolog_xmm11:
$L$SEH_prolog_abi_test_trampoline_16:
movdqa XMMWORD[272+rsp],xmm12
$L$abi_test_trampoline_seh_prolog_xmm12:
$L$SEH_prolog_abi_test_trampoline_17:
movdqa XMMWORD[288+rsp],xmm13
$L$abi_test_trampoline_seh_prolog_xmm13:
$L$SEH_prolog_abi_test_trampoline_18:
movdqa XMMWORD[304+rsp],xmm14
$L$abi_test_trampoline_seh_prolog_xmm14:
$L$SEH_prolog_abi_test_trampoline_19:
movdqa XMMWORD[320+rsp],xmm15
$L$abi_test_trampoline_seh_prolog_xmm15:
$L$abi_test_trampoline_seh_prolog_end:
$L$SEH_prolog_abi_test_trampoline_20:
mov rbx,QWORD[rdx]
mov rbp,QWORD[8+rdx]
mov rdi,QWORD[16+rdx]
@@ -252,7 +252,7 @@ $L$call_done:
DB 0F3h,0C3h ;repret
$L$abi_test_trampoline_seh_end:
$L$SEH_end_abi_test_trampoline_21:
global abi_test_clobber_rax
@@ -479,10 +479,10 @@ global abi_test_bad_unwind_wrong_register
ALIGN 16
abi_test_bad_unwind_wrong_register:
$L$abi_test_bad_unwind_wrong_register_seh_begin:
$L$SEH_begin_abi_test_bad_unwind_wrong_register_1:
push r12
$L$abi_test_bad_unwind_wrong_register_seh_push_r13:
$L$SEH_prolog_abi_test_bad_unwind_wrong_register_2:
@@ -490,7 +490,7 @@ $L$abi_test_bad_unwind_wrong_register_seh_push_r13:
pop r12
DB 0F3h,0C3h ;repret
$L$abi_test_bad_unwind_wrong_register_seh_end:
$L$SEH_end_abi_test_bad_unwind_wrong_register_3:
@@ -502,10 +502,10 @@ global abi_test_bad_unwind_temporary
ALIGN 16
abi_test_bad_unwind_temporary:
$L$abi_test_bad_unwind_temporary_seh_begin:
$L$SEH_begin_abi_test_bad_unwind_temporary_1:
push r12
$L$abi_test_bad_unwind_temporary_seh_push_r12:
$L$SEH_prolog_abi_test_bad_unwind_temporary_2:
mov rax,r12
inc rax
@@ -519,8 +519,8 @@ $L$abi_test_bad_unwind_temporary_seh_push_r12:
pop r12
DB 0F3h,0C3h ;repret
$L$abi_test_bad_unwind_temporary_seh_end:
$L$SEH_end_abi_test_bad_unwind_temporary_3:
@@ -553,9 +553,9 @@ abi_test_set_direction_flag:
global abi_test_bad_unwind_epilog
ALIGN 16
abi_test_bad_unwind_epilog:
$L$abi_test_bad_unwind_epilog_seh_begin:
$L$SEH_begin_abi_test_bad_unwind_epilog_1:
push r12
$L$abi_test_bad_unwind_epilog_seh_push_r12:
$L$SEH_prolog_abi_test_bad_unwind_epilog_2:
nop
@@ -563,120 +563,116 @@ $L$abi_test_bad_unwind_epilog_seh_push_r12:
pop r12
nop
DB 0F3h,0C3h ;repret
$L$abi_test_bad_unwind_epilog_seh_end:
$L$SEH_end_abi_test_bad_unwind_epilog_3:
section .pdata rdata align=4
ALIGN 4
DD $L$SEH_begin_abi_test_trampoline_1 wrt ..imagebase
DD $L$SEH_end_abi_test_trampoline_21 wrt ..imagebase
DD $L$SEH_info_abi_test_trampoline_0 wrt ..imagebase
DD $L$abi_test_trampoline_seh_begin wrt ..imagebase
DD $L$abi_test_trampoline_seh_end wrt ..imagebase
DD $L$abi_test_trampoline_seh_info wrt ..imagebase
DD $L$SEH_begin_abi_test_bad_unwind_wrong_register_1 wrt ..imagebase
DD $L$SEH_end_abi_test_bad_unwind_wrong_register_3 wrt ..imagebase
DD $L$SEH_info_abi_test_bad_unwind_wrong_register_0 wrt ..imagebase
DD $L$abi_test_bad_unwind_wrong_register_seh_begin wrt ..imagebase
DD $L$abi_test_bad_unwind_wrong_register_seh_end wrt ..imagebase
DD $L$abi_test_bad_unwind_wrong_register_seh_info wrt ..imagebase
DD $L$SEH_begin_abi_test_bad_unwind_temporary_1 wrt ..imagebase
DD $L$SEH_end_abi_test_bad_unwind_temporary_3 wrt ..imagebase
DD $L$SEH_info_abi_test_bad_unwind_temporary_0 wrt ..imagebase
DD $L$abi_test_bad_unwind_temporary_seh_begin wrt ..imagebase
DD $L$abi_test_bad_unwind_temporary_seh_end wrt ..imagebase
DD $L$abi_test_bad_unwind_temporary_seh_info wrt ..imagebase
DD $L$SEH_begin_abi_test_bad_unwind_epilog_1 wrt ..imagebase
DD $L$SEH_end_abi_test_bad_unwind_epilog_3 wrt ..imagebase
DD $L$SEH_info_abi_test_bad_unwind_epilog_0 wrt ..imagebase
DD $L$abi_test_bad_unwind_epilog_seh_begin wrt ..imagebase
DD $L$abi_test_bad_unwind_epilog_seh_end wrt ..imagebase
DD $L$abi_test_bad_unwind_epilog_seh_info wrt ..imagebase
section .xdata rdata align=8
ALIGN 8
$L$abi_test_trampoline_seh_info:
DB 1
DB $L$abi_test_trampoline_seh_prolog_end-$L$abi_test_trampoline_seh_begin
DB 38
DB 0
DB $L$abi_test_trampoline_seh_prolog_xmm15-$L$abi_test_trampoline_seh_begin
DB 248
ALIGN 4
$L$SEH_info_abi_test_trampoline_0:
DB 1
DB $L$SEH_prolog_abi_test_trampoline_20-$L$SEH_begin_abi_test_trampoline_1
DB 38
DB 0
DB $L$SEH_prolog_abi_test_trampoline_20-$L$SEH_begin_abi_test_trampoline_1
DB 248
DW 20
DB $L$abi_test_trampoline_seh_prolog_xmm14-$L$abi_test_trampoline_seh_begin
DB 232
DB $L$SEH_prolog_abi_test_trampoline_19-$L$SEH_begin_abi_test_trampoline_1
DB 232
DW 19
DB $L$abi_test_trampoline_seh_prolog_xmm13-$L$abi_test_trampoline_seh_begin
DB 216
DB $L$SEH_prolog_abi_test_trampoline_18-$L$SEH_begin_abi_test_trampoline_1
DB 216
DW 18
DB $L$abi_test_trampoline_seh_prolog_xmm12-$L$abi_test_trampoline_seh_begin
DB 200
DB $L$SEH_prolog_abi_test_trampoline_17-$L$SEH_begin_abi_test_trampoline_1
DB 200
DW 17
DB $L$abi_test_trampoline_seh_prolog_xmm11-$L$abi_test_trampoline_seh_begin
DB 184
DB $L$SEH_prolog_abi_test_trampoline_16-$L$SEH_begin_abi_test_trampoline_1
DB 184
DW 16
DB $L$abi_test_trampoline_seh_prolog_xmm10-$L$abi_test_trampoline_seh_begin
DB 168
DB $L$SEH_prolog_abi_test_trampoline_15-$L$SEH_begin_abi_test_trampoline_1
DB 168
DW 15
DB $L$abi_test_trampoline_seh_prolog_xmm9-$L$abi_test_trampoline_seh_begin
DB 152
DB $L$SEH_prolog_abi_test_trampoline_14-$L$SEH_begin_abi_test_trampoline_1
DB 152
DW 14
DB $L$abi_test_trampoline_seh_prolog_xmm8-$L$abi_test_trampoline_seh_begin
DB 136
DB $L$SEH_prolog_abi_test_trampoline_13-$L$SEH_begin_abi_test_trampoline_1
DB 136
DW 13
DB $L$abi_test_trampoline_seh_prolog_xmm7-$L$abi_test_trampoline_seh_begin
DB 120
DB $L$SEH_prolog_abi_test_trampoline_12-$L$SEH_begin_abi_test_trampoline_1
DB 120
DW 12
DB $L$abi_test_trampoline_seh_prolog_xmm6-$L$abi_test_trampoline_seh_begin
DB 104
DB $L$SEH_prolog_abi_test_trampoline_11-$L$SEH_begin_abi_test_trampoline_1
DB 104
DW 11
DB $L$abi_test_trampoline_seh_prolog_r15-$L$abi_test_trampoline_seh_begin
DB 244
DB $L$SEH_prolog_abi_test_trampoline_10-$L$SEH_begin_abi_test_trampoline_1
DB 244
DW 21
DB $L$abi_test_trampoline_seh_prolog_r14-$L$abi_test_trampoline_seh_begin
DB 228
DB $L$SEH_prolog_abi_test_trampoline_9-$L$SEH_begin_abi_test_trampoline_1
DB 228
DW 20
DB $L$abi_test_trampoline_seh_prolog_r13-$L$abi_test_trampoline_seh_begin
DB 212
DB $L$SEH_prolog_abi_test_trampoline_8-$L$SEH_begin_abi_test_trampoline_1
DB 212
DW 19
DB $L$abi_test_trampoline_seh_prolog_r12-$L$abi_test_trampoline_seh_begin
DB 196
DB $L$SEH_prolog_abi_test_trampoline_7-$L$SEH_begin_abi_test_trampoline_1
DB 196
DW 18
DB $L$abi_test_trampoline_seh_prolog_rsi-$L$abi_test_trampoline_seh_begin
DB 100
DB $L$SEH_prolog_abi_test_trampoline_6-$L$SEH_begin_abi_test_trampoline_1
DB 100
DW 17
DB $L$abi_test_trampoline_seh_prolog_rdi-$L$abi_test_trampoline_seh_begin
DB 116
DB $L$SEH_prolog_abi_test_trampoline_5-$L$SEH_begin_abi_test_trampoline_1
DB 116
DW 16
DB $L$abi_test_trampoline_seh_prolog_rbp-$L$abi_test_trampoline_seh_begin
DB 84
DB $L$SEH_prolog_abi_test_trampoline_4-$L$SEH_begin_abi_test_trampoline_1
DB 84
DW 15
DB $L$abi_test_trampoline_seh_prolog_rbx-$L$abi_test_trampoline_seh_begin
DB 52
DB $L$SEH_prolog_abi_test_trampoline_3-$L$SEH_begin_abi_test_trampoline_1
DB 52
DW 14
DB $L$abi_test_trampoline_seh_prolog_alloc-$L$abi_test_trampoline_seh_begin
DB 1
DB $L$SEH_prolog_abi_test_trampoline_2-$L$SEH_begin_abi_test_trampoline_1
DB 1
DW 43
$L$SEH_info_abi_test_bad_unwind_wrong_register_0:
DB 1
DB $L$SEH_prolog_abi_test_bad_unwind_wrong_register_2-$L$SEH_begin_abi_test_bad_unwind_wrong_register_1
DB 1
DB 0
DB $L$SEH_prolog_abi_test_bad_unwind_wrong_register_2-$L$SEH_begin_abi_test_bad_unwind_wrong_register_1
DB 208
ALIGN 8
$L$abi_test_bad_unwind_wrong_register_seh_info:
DB 1
DB $L$abi_test_bad_unwind_wrong_register_seh_push_r13-$L$abi_test_bad_unwind_wrong_register_seh_begin
DB 1
DB 0
$L$SEH_info_abi_test_bad_unwind_temporary_0:
DB 1
DB $L$SEH_prolog_abi_test_bad_unwind_temporary_2-$L$SEH_begin_abi_test_bad_unwind_temporary_1
DB 1
DB 0
DB $L$SEH_prolog_abi_test_bad_unwind_temporary_2-$L$SEH_begin_abi_test_bad_unwind_temporary_1
DB 192
DB $L$abi_test_bad_unwind_wrong_register_seh_push_r13-$L$abi_test_bad_unwind_wrong_register_seh_begin
DB 208
ALIGN 8
$L$abi_test_bad_unwind_temporary_seh_info:
DB 1
DB $L$abi_test_bad_unwind_temporary_seh_push_r12-$L$abi_test_bad_unwind_temporary_seh_begin
DB 1
DB 0
DB $L$abi_test_bad_unwind_temporary_seh_push_r12-$L$abi_test_bad_unwind_temporary_seh_begin
DB 192
ALIGN 8
$L$abi_test_bad_unwind_epilog_seh_info:
DB 1
DB $L$abi_test_bad_unwind_epilog_seh_push_r12-$L$abi_test_bad_unwind_epilog_seh_begin
DB 1
DB 0
DB $L$abi_test_bad_unwind_epilog_seh_push_r12-$L$abi_test_bad_unwind_epilog_seh_begin
DB 192
$L$SEH_info_abi_test_bad_unwind_epilog_0:
DB 1
DB $L$SEH_prolog_abi_test_bad_unwind_epilog_2-$L$SEH_begin_abi_test_bad_unwind_epilog_1
DB 1
DB 0
DB $L$SEH_prolog_abi_test_bad_unwind_epilog_2-$L$SEH_begin_abi_test_bad_unwind_epilog_1
DB 192
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif