From 807ed7883a12423270450776f015a7c2348c0913 Mon Sep 17 00:00:00 2001 From: Sam Roberts Date: Thu, 22 Nov 2018 11:47:07 -0800 Subject: deps: update archs files for OpenSSL-1.1.1a `cd deps/openssl/config; make` updates all archs dependant files. PR-URL: https://github.com/nodejs/node/pull/25381 Reviewed-By: Daniel Bevenius Reviewed-By: Shigeki Ohtsu --- .../solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s | 74 ++++++++++++---------- 1 file changed, 40 insertions(+), 34 deletions(-) (limited to 'deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s') diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s index 7e1f5e2740..fd17eaaba4 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s @@ -36,10 +36,12 @@ OPENSSL_rdtsc: .type OPENSSL_ia32_cpuid,@function .align 16 OPENSSL_ia32_cpuid: +.cfi_startproc movq %rbx,%r8 +.cfi_register %rbx,%r8 xorl %eax,%eax - movl %eax,8(%rdi) + movq %rax,8(%rdi) cpuid movl %eax,%r11d @@ -110,6 +112,7 @@ OPENSSL_ia32_cpuid: .Lnocacheinfo: movl $1,%eax cpuid + movd %eax,%xmm0 andl $0xbfefffff,%edx cmpl $0,%r9d jne .Lnotintel @@ -157,26 +160,45 @@ OPENSSL_ia32_cpuid: jc .Lnotknights andl $0xfff7ffff,%ebx .Lnotknights: + movd %xmm0,%eax + andl $0x0fff0ff0,%eax + cmpl $0x00050650,%eax + jne .Lnotskylakex + andl $0xfffeffff,%ebx + +.Lnotskylakex: movl %ebx,8(%rdi) + movl %ecx,12(%rdi) .Lno_extended_info: btl $27,%r9d jnc .Lclear_avx xorl %ecx,%ecx .byte 0x0f,0x01,0xd0 + andl $0xe6,%eax + cmpl $0xe6,%eax + je .Ldone + andl $0x3fdeffff,8(%rdi) + + + + andl $6,%eax cmpl $6,%eax je .Ldone .Lclear_avx: movl $0xefffe7ff,%eax andl %eax,%r9d - andl $0xffffffdf,8(%rdi) + movl $0x3fdeffdf,%eax + andl %eax,8(%rdi) .Ldone: shlq $32,%r9 movl %r10d,%eax movq %r8,%rbx +.cfi_restore %rbx orq %r9,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid .globl OPENSSL_cleanse @@ -222,6 +244,18 @@ CRYPTO_memcmp: xorq %r10,%r10 cmpq $0,%rdx je .Lno_data + cmpq $16,%rdx + jne .Loop_cmp + movq (%rdi),%r10 + movq 8(%rdi),%r11 + movq $1,%rdx + xorq (%rsi),%r10 + xorq 8(%rsi),%r11 + orq %r11,%r10 + cmovnzq %rdx,%rax + .byte 0xf3,0xc3 + +.align 16 .Loop_cmp: movb (%rdi),%r10b leaq 1(%rdi),%rdi @@ -345,21 +379,6 @@ OPENSSL_instrument_bus2: subq %rcx,%rax .byte 0xf3,0xc3 .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 -.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 - .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 @@ -393,28 +412,14 @@ OPENSSL_ia32_rdrand_bytes: movb %r10b,(%rdi) leaq 1(%rdi),%rdi incq %rax - shrq $8,%r8 + shrq $8,%r10 decq %rsi jnz .Ltail_rdrand_bytes .Ldone_rdrand_bytes: + xorq %r10,%r10 .byte 0xf3,0xc3 .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes -.globl OPENSSL_ia32_rdseed -.type OPENSSL_ia32_rdseed,@function -.align 16 -OPENSSL_ia32_rdseed: - movl $8,%ecx -.Loop_rdseed: -.byte 72,15,199,248 - jc .Lbreak_rdseed - loop .Loop_rdseed -.Lbreak_rdseed: - cmpq $0,%rax - cmoveq %rcx,%rax - .byte 0xf3,0xc3 -.size OPENSSL_ia32_rdseed,.-OPENSSL_ia32_rdseed - .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 @@ -448,10 +453,11 @@ OPENSSL_ia32_rdseed_bytes: movb %r10b,(%rdi) leaq 1(%rdi),%rdi incq %rax - shrq $8,%r8 + shrq $8,%r10 decq %rsi jnz .Ltail_rdseed_bytes .Ldone_rdseed_bytes: + xorq %r10,%r10 .byte 0xf3,0xc3 .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes -- cgit v1.2.3