diff options
author | Adam Langley <agl@google.com> | 2015-05-11 17:20:37 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2015-05-12 23:06:14 +0000 |
commit | e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5 (patch) | |
tree | 6e43e34595ecf887c26c32b86d8ab097fe8cac64 /win-x86_64/crypto/cpu-x86_64-asm.asm | |
parent | b3106a0cc1493bbe0505c0ec0ce3da4ca90a29ae (diff) | |
download | external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.zip external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.tar.gz external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.tar.bz2 |
external/boringssl: bump revision.
This change bumps the BoringSSL revision to the current tip-of-tree.
Change-Id: I91d5bf467e16e8d86cb19a4de873985f524e5faa
Diffstat (limited to 'win-x86_64/crypto/cpu-x86_64-asm.asm')
-rw-r--r-- | win-x86_64/crypto/cpu-x86_64-asm.asm | 130 |
1 files changed, 63 insertions, 67 deletions
diff --git a/win-x86_64/crypto/cpu-x86_64-asm.asm b/win-x86_64/crypto/cpu-x86_64-asm.asm index dca66f5..c92d7bb 100644 --- a/win-x86_64/crypto/cpu-x86_64-asm.asm +++ b/win-x86_64/crypto/cpu-x86_64-asm.asm @@ -1,14 +1,18 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 -PUBLIC OPENSSL_ia32_cpuid + +global OPENSSL_ia32_cpuid ALIGN 16 -OPENSSL_ia32_cpuid PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +OPENSSL_ia32_cpuid: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi mov rax,rsp -$L$SEH_begin_OPENSSL_ia32_cpuid:: +$L$SEH_begin_OPENSSL_ia32_cpuid: mov rdi,rcx @@ -18,54 +22,54 @@ $L$SEH_begin_OPENSSL_ia32_cpuid:: mov r8,rbx xor eax,eax - mov DWORD PTR[8+rdi],eax + mov DWORD[8+rdi],eax cpuid mov r11d,eax xor eax,eax - cmp ebx,0756e6547h + cmp ebx,0x756e6547 setne al mov r9d,eax - cmp edx,049656e69h + cmp edx,0x49656e69 setne al or r9d,eax - cmp ecx,06c65746eh + cmp ecx,0x6c65746e setne al or r9d,eax - jz $L$intel + jz NEAR $L$intel - cmp ebx,068747541h + cmp ebx,0x68747541 setne al mov r10d,eax - cmp edx,069746E65h + cmp edx,0x69746E65 setne al or r10d,eax - cmp ecx,0444D4163h + cmp ecx,0x444D4163 setne al or r10d,eax - jnz $L$intel + jnz NEAR $L$intel - mov eax,080000000h + mov eax,0x80000000 cpuid - cmp eax,080000001h - jb $L$intel + cmp eax,0x80000001 + jb NEAR $L$intel mov r10d,eax - mov eax,080000001h + mov eax,0x80000001 cpuid or r9d,ecx - and r9d,000000801h + and r9d,0x00000801 - cmp r10d,080000008h - jb $L$intel + cmp r10d,0x80000008 + jb NEAR $L$intel - mov eax,080000008h + mov eax,0x80000008 cpuid movzx r10,cl @@ -75,84 +79,76 @@ $L$SEH_begin_OPENSSL_ia32_cpuid:: cpuid bt edx,28 - jnc $L$generic + jnc NEAR $L$generic shr ebx,16 cmp bl,r10b - ja $L$generic - and edx,0efffffffh - jmp $L$generic + ja NEAR $L$generic + and edx,0xefffffff + jmp NEAR $L$generic -$L$intel:: +$L$intel: cmp r11d,4 mov r10d,-1 - jb $L$nocacheinfo + jb NEAR $L$nocacheinfo mov eax,4 mov ecx,0 cpuid mov r10d,eax shr r10d,14 - and r10d,0fffh + and r10d,0xfff cmp r11d,7 - jb $L$nocacheinfo + jb NEAR $L$nocacheinfo mov eax,7 xor ecx,ecx cpuid - mov DWORD PTR[8+rdi],ebx + mov DWORD[8+rdi],ebx -$L$nocacheinfo:: +$L$nocacheinfo: mov eax,1 cpuid - and edx,0bfefffffh + and edx,0xbfefffff cmp r9d,0 - jne $L$notintel - or edx,040000000h - and ah,15 - cmp ah,15 - jne $L$notintel - or edx,000100000h -$L$notintel:: + jne NEAR $L$notintel + or edx,0x40000000 +$L$notintel: bt edx,28 - jnc $L$generic - and edx,0efffffffh + jnc NEAR $L$generic + and edx,0xefffffff cmp r10d,0 - je $L$generic + je NEAR $L$generic - or edx,010000000h + or edx,0x10000000 shr ebx,16 cmp bl,1 - ja $L$generic - and edx,0efffffffh -$L$generic:: - and r9d,000000800h - and ecx,0fffff7ffh + ja NEAR $L$generic + and edx,0xefffffff +$L$generic: + and r9d,0x00000800 + and ecx,0xfffff7ff or r9d,ecx mov r10d,edx bt r9d,27 - jnc $L$clear_avx + jnc NEAR $L$clear_avx xor ecx,ecx -DB 00fh,001h,0d0h +DB 0x0f,0x01,0xd0 and eax,6 cmp eax,6 - je $L$done -$L$clear_avx:: - mov eax,0efffe7ffh + je NEAR $L$done +$L$clear_avx: + mov eax,0xefffe7ff and r9d,eax - and DWORD PTR[8+rdi],0ffffffdfh -$L$done:: - mov DWORD PTR[4+rdi],r9d - mov DWORD PTR[rdi],r10d + and DWORD[8+rdi],0xffffffdf +$L$done: + mov DWORD[4+rdi],r9d + mov DWORD[rdi],r10d mov rbx,r8 - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_OPENSSL_ia32_cpuid:: -OPENSSL_ia32_cpuid ENDP - +$L$SEH_end_OPENSSL_ia32_cpuid: -.text$ ENDS -END |