Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(453)

Unified Diff: third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm

Issue 1940523002: Adds back files lost during BoringSSL roll revert (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
new file mode 100644
index 0000000000000000000000000000000000000000..c92d7bbc1f778c679b9381354e2d8f21e9ec8c06
--- /dev/null
+++ b/third_party/boringssl/win-x86_64/crypto/cpu-x86_64-asm.asm
@@ -0,0 +1,154 @@
+default rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section .text code align=64
+
+
+global OPENSSL_ia32_cpuid
+
+ALIGN 16
+OPENSSL_ia32_cpuid:
+ mov QWORD[8+rsp],rdi ;WIN64 prologue
+ mov QWORD[16+rsp],rsi
+ mov rax,rsp
+$L$SEH_begin_OPENSSL_ia32_cpuid:
+ mov rdi,rcx
+
+
+
+
+ mov rdi,rcx
+ mov r8,rbx
+
+ xor eax,eax
+ mov DWORD[8+rdi],eax
+ cpuid
+ mov r11d,eax
+
+ xor eax,eax
+ cmp ebx,0x756e6547
+ setne al
+ mov r9d,eax
+ cmp edx,0x49656e69
+ setne al
+ or r9d,eax
+ cmp ecx,0x6c65746e
+ setne al
+ or r9d,eax
+ jz NEAR $L$intel
+
+ cmp ebx,0x68747541
+ setne al
+ mov r10d,eax
+ cmp edx,0x69746E65
+ setne al
+ or r10d,eax
+ cmp ecx,0x444D4163
+ setne al
+ or r10d,eax
+ jnz NEAR $L$intel
+
+
+
+
+ mov eax,0x80000000
+ cpuid
+
+
+ cmp eax,0x80000001
+ jb NEAR $L$intel
+ mov r10d,eax
+ mov eax,0x80000001
+ cpuid
+
+
+ or r9d,ecx
+ and r9d,0x00000801
+
+ cmp r10d,0x80000008
+ jb NEAR $L$intel
+
+ mov eax,0x80000008
+ cpuid
+
+ movzx r10,cl
+ inc r10
+
+ mov eax,1
+ cpuid
+
+ bt edx,28
+ jnc NEAR $L$generic
+ shr ebx,16
+ cmp bl,r10b
+ ja NEAR $L$generic
+ and edx,0xefffffff
+ jmp NEAR $L$generic
+
+$L$intel:
+ cmp r11d,4
+ mov r10d,-1
+ jb NEAR $L$nocacheinfo
+
+ mov eax,4
+ mov ecx,0
+ cpuid
+ mov r10d,eax
+ shr r10d,14
+ and r10d,0xfff
+
+ cmp r11d,7
+ jb NEAR $L$nocacheinfo
+
+ mov eax,7
+ xor ecx,ecx
+ cpuid
+ mov DWORD[8+rdi],ebx
+
+$L$nocacheinfo:
+ mov eax,1
+ cpuid
+
+ and edx,0xbfefffff
+ cmp r9d,0
+ jne NEAR $L$notintel
+ or edx,0x40000000
+$L$notintel:
+ bt edx,28
+ jnc NEAR $L$generic
+ and edx,0xefffffff
+ cmp r10d,0
+ je NEAR $L$generic
+
+ or edx,0x10000000
+ shr ebx,16
+ cmp bl,1
+ 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 NEAR $L$clear_avx
+ xor ecx,ecx
+DB 0x0f,0x01,0xd0
+ and eax,6
+ cmp eax,6
+ je NEAR $L$done
+$L$clear_avx:
+ mov eax,0xefffe7ff
+ and r9d,eax
+ and DWORD[8+rdi],0xffffffdf
+$L$done:
+ mov DWORD[4+rdi],r9d
+ mov DWORD[rdi],r10d
+ mov rbx,r8
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue
+ mov rsi,QWORD[16+rsp]
+ DB 0F3h,0C3h ;repret
+$L$SEH_end_OPENSSL_ia32_cpuid:
+
« no previous file with comments | « third_party/boringssl/win-x86/crypto/cpu-x86-asm.asm ('k') | third_party/boringssl/win-x86_64/crypto/rc4/rc4-md5-x86_64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698