Source release 18.1.0
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user