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

Unified Diff: third_party/boringssl/linux-x86/crypto/cpu-x86-asm.S

Issue 401153002: Switch to BoringSSL. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase across DEPS change Created 6 years, 5 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/linux-x86/crypto/cpu-x86-asm.S
diff --git a/third_party/boringssl/linux-x86/crypto/cpu-x86-asm.S b/third_party/boringssl/linux-x86/crypto/cpu-x86-asm.S
index 4ca8586878a668e0a272e5e0484a484de35698c4..bcd3c4cd4c36cabe3f304d047181a16404306813 100644
--- a/third_party/boringssl/linux-x86/crypto/cpu-x86-asm.S
+++ b/third_party/boringssl/linux-x86/crypto/cpu-x86-asm.S
@@ -153,11 +153,14 @@ OPENSSL_rdtsc:
.L_OPENSSL_rdtsc_begin:
xorl %eax,%eax
xorl %edx,%edx
- leal OPENSSL_ia32cap_P,%ecx
+ call .L009PIC_me_up
+.L009PIC_me_up:
+ popl %ecx
+ leal OPENSSL_ia32cap_P-.L009PIC_me_up(%ecx),%ecx
btl $4,(%ecx)
- jnc .L009notsc
+ jnc .L010notsc
.byte 0x0f,0x31
-.L009notsc:
+.L010notsc:
ret
.size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin
.globl OPENSSL_instrument_halt
@@ -165,16 +168,19 @@ OPENSSL_rdtsc:
.align 16
OPENSSL_instrument_halt:
.L_OPENSSL_instrument_halt_begin:
- leal OPENSSL_ia32cap_P,%ecx
+ call .L011PIC_me_up
+.L011PIC_me_up:
+ popl %ecx
+ leal OPENSSL_ia32cap_P-.L011PIC_me_up(%ecx),%ecx
btl $4,(%ecx)
- jnc .L010nohalt
+ jnc .L012nohalt
.long 2421723150
andl $3,%eax
- jnz .L010nohalt
+ jnz .L012nohalt
pushfl
popl %eax
btl $9,%eax
- jnc .L010nohalt
+ jnc .L012nohalt
.byte 0x0f,0x31
pushl %edx
pushl %eax
@@ -184,7 +190,7 @@ OPENSSL_instrument_halt:
sbbl 4(%esp),%edx
addl $8,%esp
ret
-.L010nohalt:
+.L012nohalt:
xorl %eax,%eax
xorl %edx,%edx
ret
@@ -197,21 +203,21 @@ OPENSSL_far_spin:
pushfl
popl %eax
btl $9,%eax
- jnc .L011nospin
+ jnc .L013nospin
movl 4(%esp),%eax
movl 8(%esp),%ecx
.long 2430111262
xorl %eax,%eax
movl (%ecx),%edx
- jmp .L012spin
+ jmp .L014spin
.align 16
-.L012spin:
+.L014spin:
incl %eax
cmpl (%ecx),%edx
- je .L012spin
+ je .L014spin
.long 529567888
ret
-.L011nospin:
+.L013nospin:
xorl %eax,%eax
xorl %edx,%edx
ret
@@ -223,12 +229,15 @@ OPENSSL_wipe_cpu:
.L_OPENSSL_wipe_cpu_begin:
xorl %eax,%eax
xorl %edx,%edx
- leal OPENSSL_ia32cap_P,%ecx
+ call .L015PIC_me_up
+.L015PIC_me_up:
+ popl %ecx
+ leal OPENSSL_ia32cap_P-.L015PIC_me_up(%ecx),%ecx
movl (%ecx),%ecx
btl $1,(%ecx)
- jnc .L013no_x87
+ jnc .L016no_x87
.long 4007259865,4007259865,4007259865,4007259865,2430851995
-.L013no_x87:
+.L016no_x87:
leal 4(%esp),%eax
ret
.size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin
@@ -242,11 +251,11 @@ OPENSSL_atomic_add:
pushl %ebx
nop
movl (%edx),%eax
-.L014spin:
+.L017spin:
leal (%eax,%ecx,1),%ebx
nop
.long 447811568
- jne .L014spin
+ jne .L017spin
movl %ebx,%eax
popl %ebx
ret
@@ -287,32 +296,32 @@ OPENSSL_cleanse:
movl 8(%esp),%ecx
xorl %eax,%eax
cmpl $7,%ecx
- jae .L015lot
+ jae .L018lot
cmpl $0,%ecx
- je .L016ret
-.L017little:
+ je .L019ret
+.L020little:
movb %al,(%edx)
subl $1,%ecx
leal 1(%edx),%edx
- jnz .L017little
-.L016ret:
+ jnz .L020little
+.L019ret:
ret
.align 16
-.L015lot:
+.L018lot:
testl $3,%edx
- jz .L018aligned
+ jz .L021aligned
movb %al,(%edx)
leal -1(%ecx),%ecx
leal 1(%edx),%edx
- jmp .L015lot
-.L018aligned:
+ jmp .L018lot
+.L021aligned:
movl %eax,(%edx)
leal -4(%ecx),%ecx
testl $-4,%ecx
leal 4(%edx),%edx
- jnz .L018aligned
+ jnz .L021aligned
cmpl $0,%ecx
- jne .L017little
+ jne .L020little
ret
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
.globl OPENSSL_ia32_rdrand
@@ -321,14 +330,14 @@ OPENSSL_cleanse:
OPENSSL_ia32_rdrand:
.L_OPENSSL_ia32_rdrand_begin:
movl $8,%ecx
-.L019loop:
+.L022loop:
.byte 15,199,240
- jc .L020break
- loop .L019loop
-.L020break:
+ jc .L023break
+ loop .L022loop
+.L023break:
cmpl $0,%eax
cmovel %ecx,%eax
ret
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
.hidden OPENSSL_ia32cap_P
-#endif
+#endif
« no previous file with comments | « third_party/boringssl/linux-x86/crypto/bn/x86-mont.S ('k') | third_party/boringssl/linux-x86/crypto/md5/md5-586.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698