OLD | NEW |
1 default rel | 1 default rel |
2 %define XMMWORD | 2 %define XMMWORD |
3 %define YMMWORD | 3 %define YMMWORD |
4 %define ZMMWORD | 4 %define ZMMWORD |
5 section .text code align=64 | 5 section .text code align=64 |
6 | 6 |
7 | 7 |
8 EXTERN» OPENSSL_ia32cap_P | 8 EXTERN» OPENSSL_ia32cap_addr |
9 global sha512_block_data_order | 9 global sha512_block_data_order |
10 | 10 |
11 ALIGN 16 | 11 ALIGN 16 |
12 sha512_block_data_order: | 12 sha512_block_data_order: |
13 mov QWORD[8+rsp],rdi ;WIN64 prologue | 13 mov QWORD[8+rsp],rdi ;WIN64 prologue |
14 mov QWORD[16+rsp],rsi | 14 mov QWORD[16+rsp],rsi |
15 mov rax,rsp | 15 mov rax,rsp |
16 $L$SEH_begin_sha512_block_data_order: | 16 $L$SEH_begin_sha512_block_data_order: |
17 mov rdi,rcx | 17 mov rdi,rcx |
18 mov rsi,rdx | 18 mov rsi,rdx |
19 mov rdx,r8 | 19 mov rdx,r8 |
20 | 20 |
21 | 21 |
22 » lea» r11,[OPENSSL_ia32cap_P] | 22 » lea» r11,[OPENSSL_ia32cap_addr] |
| 23 » mov» r11,QWORD[r11] |
23 mov r9d,DWORD[r11] | 24 mov r9d,DWORD[r11] |
24 mov r10d,DWORD[4+r11] | 25 mov r10d,DWORD[4+r11] |
25 mov r11d,DWORD[8+r11] | 26 mov r11d,DWORD[8+r11] |
26 test r10d,2048 | 27 test r10d,2048 |
27 jnz NEAR $L$xop_shortcut | 28 jnz NEAR $L$xop_shortcut |
28 and r9d,1073741824 | 29 and r9d,1073741824 |
29 and r10d,268435968 | 30 and r10d,268435968 |
30 or r10d,r9d | 31 or r10d,r9d |
31 cmp r10d,1342177792 | 32 cmp r10d,1342177792 |
32 je NEAR $L$avx_shortcut | 33 je NEAR $L$avx_shortcut |
(...skipping 15 matching lines...) Expand all Loading... |
48 $L$prologue: | 49 $L$prologue: |
49 | 50 |
50 mov rax,QWORD[rdi] | 51 mov rax,QWORD[rdi] |
51 mov rbx,QWORD[8+rdi] | 52 mov rbx,QWORD[8+rdi] |
52 mov rcx,QWORD[16+rdi] | 53 mov rcx,QWORD[16+rdi] |
53 mov rdx,QWORD[24+rdi] | 54 mov rdx,QWORD[24+rdi] |
54 mov r8,QWORD[32+rdi] | 55 mov r8,QWORD[32+rdi] |
55 mov r9,QWORD[40+rdi] | 56 mov r9,QWORD[40+rdi] |
56 mov r10,QWORD[48+rdi] | 57 mov r10,QWORD[48+rdi] |
57 mov r11,QWORD[56+rdi] | 58 mov r11,QWORD[56+rdi] |
| 59 |
58 jmp NEAR $L$loop | 60 jmp NEAR $L$loop |
59 | 61 |
60 ALIGN 16 | 62 ALIGN 16 |
61 $L$loop: | 63 $L$loop: |
62 mov rdi,rbx | 64 mov rdi,rbx |
63 lea rbp,[K512] | 65 lea rbp,[K512] |
64 xor rdi,rcx | 66 xor rdi,rcx |
65 mov r12,QWORD[rsi] | 67 mov r12,QWORD[rsi] |
66 mov r13,r8 | 68 mov r13,r8 |
67 mov r14,rax | 69 mov r14,rax |
(...skipping 4134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4202 DD se_handler wrt ..imagebase | 4204 DD se_handler wrt ..imagebase |
4203 DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase | 4205 DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase |
4204 $L$SEH_info_sha512_block_data_order_xop: | 4206 $L$SEH_info_sha512_block_data_order_xop: |
4205 DB 9,0,0,0 | 4207 DB 9,0,0,0 |
4206 DD se_handler wrt ..imagebase | 4208 DD se_handler wrt ..imagebase |
4207 DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase | 4209 DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase |
4208 $L$SEH_info_sha512_block_data_order_avx: | 4210 $L$SEH_info_sha512_block_data_order_avx: |
4209 DB 9,0,0,0 | 4211 DB 9,0,0,0 |
4210 DD se_handler wrt ..imagebase | 4212 DD se_handler wrt ..imagebase |
4211 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase | 4213 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase |
OLD | NEW |