| Index: third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm
|
| diff --git a/third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm b/third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm
|
| index dca66f5cae1a12aa61d6bc6f0a213f5ffbfb1e12..a52e68b69b34a265fe6eda02838a8fd85c6f5f59 100644
|
| --- a/third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm
|
| +++ b/third_party/boringssl/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,80 @@ $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
|
| + jne NEAR $L$notintel
|
| + or edx,0x40000000
|
| and ah,15
|
| cmp ah,15
|
| - jne $L$notintel
|
| - or edx,000100000h
|
| -$L$notintel::
|
| + jne NEAR $L$notintel
|
| + or edx,0x00100000
|
| +$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
|
|
|