diff options
author | Parménides GV <parmegv@sdf.org> | 2015-06-16 11:28:05 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-06-16 11:28:05 +0200 |
commit | 66c79953db6876ec17a7ebf50dc4fd07d24fae37 (patch) | |
tree | 67075abe6ea28f7fc7213f654b86464b13507058 /app/openssl/crypto/x86_64cpuid.S | |
parent | 1f41fec6765e49838141ad29151713c7ac3dd17c (diff) | |
parent | e533cf6939e3ea4233aa8a82812f8ce5fcb565ca (diff) |
Merge branch 'develop'0.9.4
Diffstat (limited to 'app/openssl/crypto/x86_64cpuid.S')
-rw-r--r-- | app/openssl/crypto/x86_64cpuid.S | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/app/openssl/crypto/x86_64cpuid.S b/app/openssl/crypto/x86_64cpuid.S deleted file mode 100644 index 562b03ab..00000000 --- a/app/openssl/crypto/x86_64cpuid.S +++ /dev/null @@ -1,234 +0,0 @@ - -.hidden OPENSSL_cpuid_setup -.section .init - call OPENSSL_cpuid_setup - -.hidden OPENSSL_ia32cap_P -.comm OPENSSL_ia32cap_P,8,4 - -.text - -.globl OPENSSL_atomic_add -.type OPENSSL_atomic_add,@function -.align 16 -OPENSSL_atomic_add: - movl (%rdi),%eax -.Lspin: leaq (%rsi,%rax,1),%r8 -.byte 0xf0 - cmpxchgl %r8d,(%rdi) - jne .Lspin - movl %r8d,%eax -.byte 0x48,0x98 - .byte 0xf3,0xc3 -.size OPENSSL_atomic_add,.-OPENSSL_atomic_add - -.globl OPENSSL_rdtsc -.type OPENSSL_rdtsc,@function -.align 16 -OPENSSL_rdtsc: - rdtsc - shlq $32,%rdx - orq %rdx,%rax - .byte 0xf3,0xc3 -.size OPENSSL_rdtsc,.-OPENSSL_rdtsc - -.globl OPENSSL_ia32_cpuid -.type OPENSSL_ia32_cpuid,@function -.align 16 -OPENSSL_ia32_cpuid: - movq %rbx,%r8 - - xorl %eax,%eax - cpuid - movl %eax,%r11d - - xorl %eax,%eax - cmpl $1970169159,%ebx - setne %al - movl %eax,%r9d - cmpl $1231384169,%edx - setne %al - orl %eax,%r9d - cmpl $1818588270,%ecx - setne %al - orl %eax,%r9d - jz .Lintel - - cmpl $1752462657,%ebx - setne %al - movl %eax,%r10d - cmpl $1769238117,%edx - setne %al - orl %eax,%r10d - cmpl $1145913699,%ecx - setne %al - orl %eax,%r10d - jnz .Lintel - - - movl $2147483648,%eax - cpuid - cmpl $2147483649,%eax - jb .Lintel - movl %eax,%r10d - movl $2147483649,%eax - cpuid - orl %ecx,%r9d - andl $2049,%r9d - - cmpl $2147483656,%r10d - jb .Lintel - - movl $2147483656,%eax - cpuid - movzbq %cl,%r10 - incq %r10 - - movl $1,%eax - cpuid - btl $28,%edx - jnc .Lgeneric - shrl $16,%ebx - cmpb %r10b,%bl - ja .Lgeneric - andl $4026531839,%edx - jmp .Lgeneric - -.Lintel: - cmpl $4,%r11d - movl $-1,%r10d - jb .Lnocacheinfo - - movl $4,%eax - movl $0,%ecx - cpuid - movl %eax,%r10d - shrl $14,%r10d - andl $4095,%r10d - -.Lnocacheinfo: - movl $1,%eax - cpuid - andl $3220176895,%edx - cmpl $0,%r9d - jne .Lnotintel - orl $1073741824,%edx - andb $15,%ah - cmpb $15,%ah - jne .Lnotintel - orl $1048576,%edx -.Lnotintel: - btl $28,%edx - jnc .Lgeneric - andl $4026531839,%edx - cmpl $0,%r10d - je .Lgeneric - - orl $268435456,%edx - shrl $16,%ebx - cmpb $1,%bl - ja .Lgeneric - andl $4026531839,%edx -.Lgeneric: - andl $2048,%r9d - andl $4294965247,%ecx - orl %ecx,%r9d - - movl %edx,%r10d - btl $27,%r9d - jnc .Lclear_avx - xorl %ecx,%ecx -.byte 0x0f,0x01,0xd0 - andl $6,%eax - cmpl $6,%eax - je .Ldone -.Lclear_avx: - movl $4026525695,%eax - andl %eax,%r9d -.Ldone: - shlq $32,%r9 - movl %r10d,%eax - movq %r8,%rbx - orq %r9,%rax - .byte 0xf3,0xc3 -.size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid - -.globl OPENSSL_cleanse -.type OPENSSL_cleanse,@function -.align 16 -OPENSSL_cleanse: - xorq %rax,%rax - cmpq $15,%rsi - jae .Lot - cmpq $0,%rsi - je .Lret -.Little: - movb %al,(%rdi) - subq $1,%rsi - leaq 1(%rdi),%rdi - jnz .Little -.Lret: - .byte 0xf3,0xc3 -.align 16 -.Lot: - testq $7,%rdi - jz .Laligned - movb %al,(%rdi) - leaq -1(%rsi),%rsi - leaq 1(%rdi),%rdi - jmp .Lot -.Laligned: - movq %rax,(%rdi) - leaq -8(%rsi),%rsi - testq $-8,%rsi - leaq 8(%rdi),%rdi - jnz .Laligned - cmpq $0,%rsi - jne .Little - .byte 0xf3,0xc3 -.size OPENSSL_cleanse,.-OPENSSL_cleanse -.globl OPENSSL_wipe_cpu -.type OPENSSL_wipe_cpu,@function -.align 16 -OPENSSL_wipe_cpu: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - pxor %xmm10,%xmm10 - pxor %xmm11,%xmm11 - pxor %xmm12,%xmm12 - pxor %xmm13,%xmm13 - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - xorq %rcx,%rcx - xorq %rdx,%rdx - xorq %rsi,%rsi - xorq %rdi,%rdi - xorq %r8,%r8 - xorq %r9,%r9 - xorq %r10,%r10 - xorq %r11,%r11 - leaq 8(%rsp),%rax - .byte 0xf3,0xc3 -.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu -.globl OPENSSL_ia32_rdrand -.type OPENSSL_ia32_rdrand,@function -.align 16 -OPENSSL_ia32_rdrand: - movl $8,%ecx -.Loop_rdrand: -.byte 72,15,199,240 - jc .Lbreak_rdrand - loop .Loop_rdrand -.Lbreak_rdrand: - cmpq $0,%rax - cmoveq %rcx,%rax - .byte 0xf3,0xc3 -.size OPENSSL_ia32_rdrand,.-OPENSSL_ia32_rdrand |