| 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 sha256_block_data_order | 9 global sha256_block_data_order |
| 10 | 10 |
| 11 ALIGN 16 | 11 ALIGN 16 |
| 12 sha256_block_data_order: | 12 sha256_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_sha256_block_data_order: | 16 $L$SEH_begin_sha256_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 and r9d,1073741824 | 27 and r9d,1073741824 |
| 27 and r10d,268435968 | 28 and r10d,268435968 |
| 28 or r10d,r9d | 29 or r10d,r9d |
| 29 cmp r10d,1342177792 | 30 cmp r10d,1342177792 |
| 30 je NEAR $L$avx_shortcut | 31 je NEAR $L$avx_shortcut |
| 31 test r10d,512 | 32 test r10d,512 |
| 32 jnz NEAR $L$ssse3_shortcut | 33 jnz NEAR $L$ssse3_shortcut |
| (...skipping 15 matching lines...) Expand all Loading... |
| 48 $L$prologue: | 49 $L$prologue: |
| 49 | 50 |
| 50 mov eax,DWORD[rdi] | 51 mov eax,DWORD[rdi] |
| 51 mov ebx,DWORD[4+rdi] | 52 mov ebx,DWORD[4+rdi] |
| 52 mov ecx,DWORD[8+rdi] | 53 mov ecx,DWORD[8+rdi] |
| 53 mov edx,DWORD[12+rdi] | 54 mov edx,DWORD[12+rdi] |
| 54 mov r8d,DWORD[16+rdi] | 55 mov r8d,DWORD[16+rdi] |
| 55 mov r9d,DWORD[20+rdi] | 56 mov r9d,DWORD[20+rdi] |
| 56 mov r10d,DWORD[24+rdi] | 57 mov r10d,DWORD[24+rdi] |
| 57 mov r11d,DWORD[28+rdi] | 58 mov r11d,DWORD[28+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 edi,ebx | 64 mov edi,ebx |
| 63 lea rbp,[K256] | 65 lea rbp,[K256] |
| 64 xor edi,ecx | 66 xor edi,ecx |
| 65 mov r12d,DWORD[rsi] | 67 mov r12d,DWORD[rsi] |
| 66 mov r13d,r8d | 68 mov r13d,r8d |
| 67 mov r14d,eax | 69 mov r14d,eax |
| (...skipping 4004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4072 DD se_handler wrt ..imagebase | 4074 DD se_handler wrt ..imagebase |
| 4073 DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase | 4075 DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase |
| 4074 $L$SEH_info_sha256_block_data_order_ssse3: | 4076 $L$SEH_info_sha256_block_data_order_ssse3: |
| 4075 DB 9,0,0,0 | 4077 DB 9,0,0,0 |
| 4076 DD se_handler wrt ..imagebase | 4078 DD se_handler wrt ..imagebase |
| 4077 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase | 4079 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase |
| 4078 $L$SEH_info_sha256_block_data_order_avx: | 4080 $L$SEH_info_sha256_block_data_order_avx: |
| 4079 DB 9,0,0,0 | 4081 DB 9,0,0,0 |
| 4080 DD se_handler wrt ..imagebase | 4082 DD se_handler wrt ..imagebase |
| 4081 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase | 4083 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase |
| OLD | NEW |