From ee40a73d4445c1c371bb519f921d72ef4b34a2cb Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 1 Jun 2017 16:20:34 +0000 Subject: [PATCH] deps: update openssl asm and asm_obsolete files Regenerate asm files with Makefile and CC=gcc and ASM=nasm where gcc version was 5.4.0 and nasm version was 2.11.08. Also asm files in asm_obsolete dir to support old compiler and assembler are regenerated without CC and ASM envs. Fixes: https://github.com/nodejs/node/issues/13161 PR-URL: https://github.com/nodejs/node/pull/13233 Backport-PR-URL: https://github.com/nodejs/node/pull/13695 Reviewed-By: Shigeki Ohtsu Reviewed-By: Sam Roberts Reviewed-By: Michael Dawson --- .../asm/arm-void-gas/aes/bsaes-armv7.S | 2 +- .../asm/x64-elf-gas/aes/aesni-sha1-x86_64.s | 1 + .../asm/x64-elf-gas/aes/aesni-sha256-x86_64.s | 1 + deps/openssl/asm/x64-elf-gas/x86_64cpuid.s | 17 ++++---- .../x64-macosx-gas/aes/aesni-sha1-x86_64.s | 1 + .../x64-macosx-gas/aes/aesni-sha256-x86_64.s | 1 + deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s | 17 ++++---- .../x64-win32-masm/aes/aesni-sha1-x86_64.asm | 1 + .../aes/aesni-sha256-x86_64.asm | 1 + .../asm/x64-win32-masm/x86_64cpuid.asm | 17 ++++---- deps/openssl/asm/x86-elf-gas/x86cpuid.s | 43 +++++++++---------- deps/openssl/asm/x86-macosx-gas/x86cpuid.s | 43 +++++++++---------- deps/openssl/asm/x86-win32-masm/x86cpuid.asm | 43 +++++++++---------- .../arm-void-gas/aes/bsaes-armv7.S | 2 +- .../x64-elf-gas/aes/aesni-sha1-x86_64.s | 1 + .../asm_obsolete/x64-elf-gas/x86_64cpuid.s | 17 ++++---- .../x64-macosx-gas/aes/aesni-sha1-x86_64.s | 1 + .../asm_obsolete/x64-macosx-gas/x86_64cpuid.s | 17 ++++---- .../x64-win32-masm/aes/aesni-sha1-x86_64.asm | 1 + .../x64-win32-masm/x86_64cpuid.asm | 17 ++++---- .../asm_obsolete/x86-elf-gas/x86cpuid.s | 43 +++++++++---------- .../asm_obsolete/x86-macosx-gas/x86cpuid.s | 43 +++++++++---------- .../asm_obsolete/x86-win32-masm/x86cpuid.asm | 43 +++++++++---------- 23 files changed, 191 insertions(+), 182 deletions(-) diff --git a/deps/openssl/asm/arm-void-gas/aes/bsaes-armv7.S b/deps/openssl/asm/arm-void-gas/aes/bsaes-armv7.S index 449e7a442e87ce..b21ed7078b194a 100644 --- a/deps/openssl/asm/arm-void-gas/aes/bsaes-armv7.S +++ b/deps/openssl/asm/arm-void-gas/aes/bsaes-armv7.S @@ -1298,7 +1298,7 @@ bsaes_cbc_encrypt: vmov q4,q15 @ just in case ensure that IV vmov q5,q0 @ and input are preserved bl AES_decrypt - vld1.8 {q0}, [r9,:64] @ load result + vld1.8 {q0}, [r9] @ load result veor q0, q0, q4 @ ^= IV vmov q15, q5 @ q5 holds input vst1.8 {q0}, [r10] @ write output diff --git a/deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s b/deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s index 88042248685372..c7c53e8771e132 100644 --- a/deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/asm/x64-elf-gas/aes/aesni-sha1-x86_64.s @@ -2692,6 +2692,7 @@ aesni_cbc_sha1_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm2 movups 16(%rcx),%xmm0 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s b/deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s index 139ebe3615c46c..70eed05b00c136 100644 --- a/deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/asm/x64-elf-gas/aes/aesni-sha256-x86_64.s @@ -4012,6 +4012,7 @@ aesni_cbc_sha256_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm6 movups 16(%rcx),%xmm4 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm/x64-elf-gas/x86_64cpuid.s b/deps/openssl/asm/x64-elf-gas/x86_64cpuid.s index 0e81a290e3ec09..06d11dc9c8e95e 100644 --- a/deps/openssl/asm/x64-elf-gas/x86_64cpuid.s +++ b/deps/openssl/asm/x64-elf-gas/x86_64cpuid.s @@ -107,14 +107,6 @@ OPENSSL_ia32_cpuid: shrl $14,%r10d andl $0xfff,%r10d - cmpl $7,%r11d - jb .Lnocacheinfo - - movl $7,%eax - xorl %ecx,%ecx - cpuid - movl %ebx,8(%rdi) - .Lnocacheinfo: movl $1,%eax cpuid @@ -144,6 +136,15 @@ OPENSSL_ia32_cpuid: orl %ecx,%r9d movl %edx,%r10d + + cmpl $7,%r11d + jb .Lno_extended_info + movl $7,%eax + xorl %ecx,%ecx + cpuid + movl %ebx,8(%rdi) +.Lno_extended_info: + btl $27,%r9d jnc .Lclear_avx xorl %ecx,%ecx diff --git a/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s b/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s index c7606aec49a95b..cdce52cd0a2358 100644 --- a/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s @@ -2692,6 +2692,7 @@ aesni_cbc_sha1_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm2 movups 16(%rcx),%xmm0 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s b/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s index 89faf46249a9b9..40e75bfedb6d3a 100644 --- a/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/asm/x64-macosx-gas/aes/aesni-sha256-x86_64.s @@ -4012,6 +4012,7 @@ aesni_cbc_sha256_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm6 movups 16(%rcx),%xmm4 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s b/deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s index ef623d5967716c..909270ecae312b 100644 --- a/deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s +++ b/deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s @@ -108,14 +108,6 @@ L$intel: shrl $14,%r10d andl $0xfff,%r10d - cmpl $7,%r11d - jb L$nocacheinfo - - movl $7,%eax - xorl %ecx,%ecx - cpuid - movl %ebx,8(%rdi) - L$nocacheinfo: movl $1,%eax cpuid @@ -145,6 +137,15 @@ L$generic: orl %ecx,%r9d movl %edx,%r10d + + cmpl $7,%r11d + jb L$no_extended_info + movl $7,%eax + xorl %ecx,%ecx + cpuid + movl %ebx,8(%rdi) +L$no_extended_info: + btl $27,%r9d jnc L$clear_avx xorl %ecx,%ecx diff --git a/deps/openssl/asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm b/deps/openssl/asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm index 7403dc3ee6bac1..5a2c8e0eb52b0b 100644 --- a/deps/openssl/asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm +++ b/deps/openssl/asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm @@ -2793,6 +2793,7 @@ $L$prologue_shaext:: mov r11d,DWORD PTR[240+rcx] sub rsi,rdi movups xmm15,XMMWORD PTR[rcx] + movups xmm2,XMMWORD PTR[r8] movups xmm0,XMMWORD PTR[16+rcx] lea rcx,QWORD PTR[112+rcx] diff --git a/deps/openssl/asm/x64-win32-masm/aes/aesni-sha256-x86_64.asm b/deps/openssl/asm/x64-win32-masm/aes/aesni-sha256-x86_64.asm index 602ee5b2655442..b6fc1862a893d7 100644 --- a/deps/openssl/asm/x64-win32-masm/aes/aesni-sha256-x86_64.asm +++ b/deps/openssl/asm/x64-win32-masm/aes/aesni-sha256-x86_64.asm @@ -4146,6 +4146,7 @@ $L$prologue_shaext:: mov r11d,DWORD PTR[240+rcx] sub rsi,rdi movups xmm15,XMMWORD PTR[rcx] + movups xmm6,XMMWORD PTR[r8] movups xmm4,XMMWORD PTR[16+rcx] lea rcx,QWORD PTR[112+rcx] diff --git a/deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm b/deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm index c767b91f9a7cd1..6cb8077b9da0a5 100644 --- a/deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm +++ b/deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm @@ -118,14 +118,6 @@ $L$intel:: shr r10d,14 and r10d,0fffh - cmp r11d,7 - jb $L$nocacheinfo - - mov eax,7 - xor ecx,ecx - cpuid - mov DWORD PTR[8+rdi],ebx - $L$nocacheinfo:: mov eax,1 cpuid @@ -155,6 +147,15 @@ $L$generic:: or r9d,ecx mov r10d,edx + + cmp r11d,7 + jb $L$no_extended_info + mov eax,7 + xor ecx,ecx + cpuid + mov DWORD PTR[8+rdi],ebx +$L$no_extended_info:: + bt r9d,27 jnc $L$clear_avx xor ecx,ecx diff --git a/deps/openssl/asm/x86-elf-gas/x86cpuid.s b/deps/openssl/asm/x86-elf-gas/x86cpuid.s index 80a4d1a5183adf..08369b42391d75 100644 --- a/deps/openssl/asm/x86-elf-gas/x86cpuid.s +++ b/deps/openssl/asm/x86-elf-gas/x86cpuid.s @@ -20,10 +20,10 @@ OPENSSL_ia32_cpuid: popl %eax xorl %eax,%ecx xorl %eax,%eax - btl $21,%ecx - jnc .L000nocpuid movl 20(%esp),%esi movl %eax,8(%esi) + btl $21,%ecx + jnc .L000nocpuid .byte 0x0f,0xa2 movl %eax,%edi xorl %eax,%eax @@ -74,40 +74,32 @@ OPENSSL_ia32_cpuid: andl $4026531839,%edx jmp .L002generic .L001intel: - cmpl $7,%edi - jb .L003cacheinfo - movl 20(%esp),%esi - movl $7,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - movl %ebx,8(%esi) -.L003cacheinfo: cmpl $4,%edi - movl $-1,%edi - jb .L004nocacheinfo + movl $-1,%esi + jb .L003nocacheinfo movl $4,%eax movl $0,%ecx .byte 0x0f,0xa2 - movl %eax,%edi - shrl $14,%edi - andl $4095,%edi -.L004nocacheinfo: + movl %eax,%esi + shrl $14,%esi + andl $4095,%esi +.L003nocacheinfo: movl $1,%eax xorl %ecx,%ecx .byte 0x0f,0xa2 andl $3220176895,%edx cmpl $0,%ebp - jne .L005notintel + jne .L004notintel orl $1073741824,%edx andb $15,%ah cmpb $15,%ah - jne .L005notintel + jne .L004notintel orl $1048576,%edx -.L005notintel: +.L004notintel: btl $28,%edx jnc .L002generic andl $4026531839,%edx - cmpl $0,%edi + cmpl $0,%esi je .L002generic orl $268435456,%edx shrl $16,%ebx @@ -119,7 +111,15 @@ OPENSSL_ia32_cpuid: andl $4294965247,%ecx movl %edx,%esi orl %ecx,%ebp - btl $27,%ecx + cmpl $7,%edi + movl 20(%esp),%edi + jb .L005no_extended_info + movl $7,%eax + xorl %ecx,%ecx + .byte 0x0f,0xa2 + movl %ebx,8(%edi) +.L005no_extended_info: + btl $27,%ebp jnc .L006clear_avx xorl %ecx,%ecx .byte 15,1,208 @@ -133,7 +133,6 @@ OPENSSL_ia32_cpuid: andl $4278190079,%esi .L006clear_avx: andl $4026525695,%ebp - movl 20(%esp),%edi andl $4294967263,8(%edi) .L007done: movl %esi,%eax diff --git a/deps/openssl/asm/x86-macosx-gas/x86cpuid.s b/deps/openssl/asm/x86-macosx-gas/x86cpuid.s index 3db70b61139e72..c3e9fd6dbaf05b 100644 --- a/deps/openssl/asm/x86-macosx-gas/x86cpuid.s +++ b/deps/openssl/asm/x86-macosx-gas/x86cpuid.s @@ -19,10 +19,10 @@ L_OPENSSL_ia32_cpuid_begin: popl %eax xorl %eax,%ecx xorl %eax,%eax - btl $21,%ecx - jnc L000nocpuid movl 20(%esp),%esi movl %eax,8(%esi) + btl $21,%ecx + jnc L000nocpuid .byte 0x0f,0xa2 movl %eax,%edi xorl %eax,%eax @@ -73,40 +73,32 @@ L_OPENSSL_ia32_cpuid_begin: andl $4026531839,%edx jmp L002generic L001intel: - cmpl $7,%edi - jb L003cacheinfo - movl 20(%esp),%esi - movl $7,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - movl %ebx,8(%esi) -L003cacheinfo: cmpl $4,%edi - movl $-1,%edi - jb L004nocacheinfo + movl $-1,%esi + jb L003nocacheinfo movl $4,%eax movl $0,%ecx .byte 0x0f,0xa2 - movl %eax,%edi - shrl $14,%edi - andl $4095,%edi -L004nocacheinfo: + movl %eax,%esi + shrl $14,%esi + andl $4095,%esi +L003nocacheinfo: movl $1,%eax xorl %ecx,%ecx .byte 0x0f,0xa2 andl $3220176895,%edx cmpl $0,%ebp - jne L005notintel + jne L004notintel orl $1073741824,%edx andb $15,%ah cmpb $15,%ah - jne L005notintel + jne L004notintel orl $1048576,%edx -L005notintel: +L004notintel: btl $28,%edx jnc L002generic andl $4026531839,%edx - cmpl $0,%edi + cmpl $0,%esi je L002generic orl $268435456,%edx shrl $16,%ebx @@ -118,7 +110,15 @@ L002generic: andl $4294965247,%ecx movl %edx,%esi orl %ecx,%ebp - btl $27,%ecx + cmpl $7,%edi + movl 20(%esp),%edi + jb L005no_extended_info + movl $7,%eax + xorl %ecx,%ecx + .byte 0x0f,0xa2 + movl %ebx,8(%edi) +L005no_extended_info: + btl $27,%ebp jnc L006clear_avx xorl %ecx,%ecx .byte 15,1,208 @@ -132,7 +132,6 @@ L008clear_xmm: andl $4278190079,%esi L006clear_avx: andl $4026525695,%ebp - movl 20(%esp),%edi andl $4294967263,8(%edi) L007done: movl %esi,%eax diff --git a/deps/openssl/asm/x86-win32-masm/x86cpuid.asm b/deps/openssl/asm/x86-win32-masm/x86cpuid.asm index b4462fc2aa72bd..d53b6a44d895a3 100644 --- a/deps/openssl/asm/x86-win32-masm/x86cpuid.asm +++ b/deps/openssl/asm/x86-win32-masm/x86cpuid.asm @@ -35,10 +35,10 @@ $L_OPENSSL_ia32_cpuid_begin:: pop eax xor ecx,eax xor eax,eax - bt ecx,21 - jnc $L000nocpuid mov esi,DWORD PTR 20[esp] mov DWORD PTR 8[esi],eax + bt ecx,21 + jnc $L000nocpuid cpuid mov edi,eax xor eax,eax @@ -89,40 +89,32 @@ $L_OPENSSL_ia32_cpuid_begin:: and edx,4026531839 jmp $L002generic $L001intel: - cmp edi,7 - jb $L003cacheinfo - mov esi,DWORD PTR 20[esp] - mov eax,7 - xor ecx,ecx - cpuid - mov DWORD PTR 8[esi],ebx -$L003cacheinfo: cmp edi,4 - mov edi,-1 - jb $L004nocacheinfo + mov esi,-1 + jb $L003nocacheinfo mov eax,4 mov ecx,0 cpuid - mov edi,eax - shr edi,14 - and edi,4095 -$L004nocacheinfo: + mov esi,eax + shr esi,14 + and esi,4095 +$L003nocacheinfo: mov eax,1 xor ecx,ecx cpuid and edx,3220176895 cmp ebp,0 - jne $L005notintel + jne $L004notintel or edx,1073741824 and ah,15 cmp ah,15 - jne $L005notintel + jne $L004notintel or edx,1048576 -$L005notintel: +$L004notintel: bt edx,28 jnc $L002generic and edx,4026531839 - cmp edi,0 + cmp esi,0 je $L002generic or edx,268435456 shr ebx,16 @@ -134,7 +126,15 @@ $L002generic: and ecx,4294965247 mov esi,edx or ebp,ecx - bt ecx,27 + cmp edi,7 + mov edi,DWORD PTR 20[esp] + jb $L005no_extended_info + mov eax,7 + xor ecx,ecx + cpuid + mov DWORD PTR 8[edi],ebx +$L005no_extended_info: + bt ebp,27 jnc $L006clear_avx xor ecx,ecx DB 15,1,208 @@ -148,7 +148,6 @@ $L008clear_xmm: and esi,4278190079 $L006clear_avx: and ebp,4026525695 - mov edi,DWORD PTR 20[esp] and DWORD PTR 8[edi],4294967263 $L007done: mov eax,esi diff --git a/deps/openssl/asm_obsolete/arm-void-gas/aes/bsaes-armv7.S b/deps/openssl/asm_obsolete/arm-void-gas/aes/bsaes-armv7.S index 449e7a442e87ce..b21ed7078b194a 100644 --- a/deps/openssl/asm_obsolete/arm-void-gas/aes/bsaes-armv7.S +++ b/deps/openssl/asm_obsolete/arm-void-gas/aes/bsaes-armv7.S @@ -1298,7 +1298,7 @@ bsaes_cbc_encrypt: vmov q4,q15 @ just in case ensure that IV vmov q5,q0 @ and input are preserved bl AES_decrypt - vld1.8 {q0}, [r9,:64] @ load result + vld1.8 {q0}, [r9] @ load result veor q0, q0, q4 @ ^= IV vmov q15, q5 @ q5 holds input vst1.8 {q0}, [r10] @ write output diff --git a/deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s b/deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s index d4ed2047c6db9c..84c5dced020b22 100644 --- a/deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s @@ -1389,6 +1389,7 @@ aesni_cbc_sha1_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm2 movups 16(%rcx),%xmm0 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s b/deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s index 0e81a290e3ec09..06d11dc9c8e95e 100644 --- a/deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s +++ b/deps/openssl/asm_obsolete/x64-elf-gas/x86_64cpuid.s @@ -107,14 +107,6 @@ OPENSSL_ia32_cpuid: shrl $14,%r10d andl $0xfff,%r10d - cmpl $7,%r11d - jb .Lnocacheinfo - - movl $7,%eax - xorl %ecx,%ecx - cpuid - movl %ebx,8(%rdi) - .Lnocacheinfo: movl $1,%eax cpuid @@ -144,6 +136,15 @@ OPENSSL_ia32_cpuid: orl %ecx,%r9d movl %edx,%r10d + + cmpl $7,%r11d + jb .Lno_extended_info + movl $7,%eax + xorl %ecx,%ecx + cpuid + movl %ebx,8(%rdi) +.Lno_extended_info: + btl $27,%r9d jnc .Lclear_avx xorl %ecx,%ecx diff --git a/deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s b/deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s index 015db5faa7facd..8cd95238b020d7 100644 --- a/deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s @@ -1389,6 +1389,7 @@ aesni_cbc_sha1_enc_shaext: movl 240(%rcx),%r11d subq %rdi,%rsi movups (%rcx),%xmm15 + movups (%r8),%xmm2 movups 16(%rcx),%xmm0 leaq 112(%rcx),%rcx diff --git a/deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s b/deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s index ef623d5967716c..909270ecae312b 100644 --- a/deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s +++ b/deps/openssl/asm_obsolete/x64-macosx-gas/x86_64cpuid.s @@ -108,14 +108,6 @@ L$intel: shrl $14,%r10d andl $0xfff,%r10d - cmpl $7,%r11d - jb L$nocacheinfo - - movl $7,%eax - xorl %ecx,%ecx - cpuid - movl %ebx,8(%rdi) - L$nocacheinfo: movl $1,%eax cpuid @@ -145,6 +137,15 @@ L$generic: orl %ecx,%r9d movl %edx,%r10d + + cmpl $7,%r11d + jb L$no_extended_info + movl $7,%eax + xorl %ecx,%ecx + cpuid + movl %ebx,8(%rdi) +L$no_extended_info: + btl $27,%r9d jnc L$clear_avx xorl %ecx,%ecx diff --git a/deps/openssl/asm_obsolete/x64-win32-masm/aes/aesni-sha1-x86_64.asm b/deps/openssl/asm_obsolete/x64-win32-masm/aes/aesni-sha1-x86_64.asm index bfc5fa17b4aa70..dbad8c5e233db6 100644 --- a/deps/openssl/asm_obsolete/x64-win32-masm/aes/aesni-sha1-x86_64.asm +++ b/deps/openssl/asm_obsolete/x64-win32-masm/aes/aesni-sha1-x86_64.asm @@ -1454,6 +1454,7 @@ $L$prologue_shaext:: mov r11d,DWORD PTR[240+rcx] sub rsi,rdi movups xmm15,XMMWORD PTR[rcx] + movups xmm2,XMMWORD PTR[r8] movups xmm0,XMMWORD PTR[16+rcx] lea rcx,QWORD PTR[112+rcx] diff --git a/deps/openssl/asm_obsolete/x64-win32-masm/x86_64cpuid.asm b/deps/openssl/asm_obsolete/x64-win32-masm/x86_64cpuid.asm index c767b91f9a7cd1..6cb8077b9da0a5 100644 --- a/deps/openssl/asm_obsolete/x64-win32-masm/x86_64cpuid.asm +++ b/deps/openssl/asm_obsolete/x64-win32-masm/x86_64cpuid.asm @@ -118,14 +118,6 @@ $L$intel:: shr r10d,14 and r10d,0fffh - cmp r11d,7 - jb $L$nocacheinfo - - mov eax,7 - xor ecx,ecx - cpuid - mov DWORD PTR[8+rdi],ebx - $L$nocacheinfo:: mov eax,1 cpuid @@ -155,6 +147,15 @@ $L$generic:: or r9d,ecx mov r10d,edx + + cmp r11d,7 + jb $L$no_extended_info + mov eax,7 + xor ecx,ecx + cpuid + mov DWORD PTR[8+rdi],ebx +$L$no_extended_info:: + bt r9d,27 jnc $L$clear_avx xor ecx,ecx diff --git a/deps/openssl/asm_obsolete/x86-elf-gas/x86cpuid.s b/deps/openssl/asm_obsolete/x86-elf-gas/x86cpuid.s index 80a4d1a5183adf..08369b42391d75 100644 --- a/deps/openssl/asm_obsolete/x86-elf-gas/x86cpuid.s +++ b/deps/openssl/asm_obsolete/x86-elf-gas/x86cpuid.s @@ -20,10 +20,10 @@ OPENSSL_ia32_cpuid: popl %eax xorl %eax,%ecx xorl %eax,%eax - btl $21,%ecx - jnc .L000nocpuid movl 20(%esp),%esi movl %eax,8(%esi) + btl $21,%ecx + jnc .L000nocpuid .byte 0x0f,0xa2 movl %eax,%edi xorl %eax,%eax @@ -74,40 +74,32 @@ OPENSSL_ia32_cpuid: andl $4026531839,%edx jmp .L002generic .L001intel: - cmpl $7,%edi - jb .L003cacheinfo - movl 20(%esp),%esi - movl $7,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - movl %ebx,8(%esi) -.L003cacheinfo: cmpl $4,%edi - movl $-1,%edi - jb .L004nocacheinfo + movl $-1,%esi + jb .L003nocacheinfo movl $4,%eax movl $0,%ecx .byte 0x0f,0xa2 - movl %eax,%edi - shrl $14,%edi - andl $4095,%edi -.L004nocacheinfo: + movl %eax,%esi + shrl $14,%esi + andl $4095,%esi +.L003nocacheinfo: movl $1,%eax xorl %ecx,%ecx .byte 0x0f,0xa2 andl $3220176895,%edx cmpl $0,%ebp - jne .L005notintel + jne .L004notintel orl $1073741824,%edx andb $15,%ah cmpb $15,%ah - jne .L005notintel + jne .L004notintel orl $1048576,%edx -.L005notintel: +.L004notintel: btl $28,%edx jnc .L002generic andl $4026531839,%edx - cmpl $0,%edi + cmpl $0,%esi je .L002generic orl $268435456,%edx shrl $16,%ebx @@ -119,7 +111,15 @@ OPENSSL_ia32_cpuid: andl $4294965247,%ecx movl %edx,%esi orl %ecx,%ebp - btl $27,%ecx + cmpl $7,%edi + movl 20(%esp),%edi + jb .L005no_extended_info + movl $7,%eax + xorl %ecx,%ecx + .byte 0x0f,0xa2 + movl %ebx,8(%edi) +.L005no_extended_info: + btl $27,%ebp jnc .L006clear_avx xorl %ecx,%ecx .byte 15,1,208 @@ -133,7 +133,6 @@ OPENSSL_ia32_cpuid: andl $4278190079,%esi .L006clear_avx: andl $4026525695,%ebp - movl 20(%esp),%edi andl $4294967263,8(%edi) .L007done: movl %esi,%eax diff --git a/deps/openssl/asm_obsolete/x86-macosx-gas/x86cpuid.s b/deps/openssl/asm_obsolete/x86-macosx-gas/x86cpuid.s index 3db70b61139e72..c3e9fd6dbaf05b 100644 --- a/deps/openssl/asm_obsolete/x86-macosx-gas/x86cpuid.s +++ b/deps/openssl/asm_obsolete/x86-macosx-gas/x86cpuid.s @@ -19,10 +19,10 @@ L_OPENSSL_ia32_cpuid_begin: popl %eax xorl %eax,%ecx xorl %eax,%eax - btl $21,%ecx - jnc L000nocpuid movl 20(%esp),%esi movl %eax,8(%esi) + btl $21,%ecx + jnc L000nocpuid .byte 0x0f,0xa2 movl %eax,%edi xorl %eax,%eax @@ -73,40 +73,32 @@ L_OPENSSL_ia32_cpuid_begin: andl $4026531839,%edx jmp L002generic L001intel: - cmpl $7,%edi - jb L003cacheinfo - movl 20(%esp),%esi - movl $7,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - movl %ebx,8(%esi) -L003cacheinfo: cmpl $4,%edi - movl $-1,%edi - jb L004nocacheinfo + movl $-1,%esi + jb L003nocacheinfo movl $4,%eax movl $0,%ecx .byte 0x0f,0xa2 - movl %eax,%edi - shrl $14,%edi - andl $4095,%edi -L004nocacheinfo: + movl %eax,%esi + shrl $14,%esi + andl $4095,%esi +L003nocacheinfo: movl $1,%eax xorl %ecx,%ecx .byte 0x0f,0xa2 andl $3220176895,%edx cmpl $0,%ebp - jne L005notintel + jne L004notintel orl $1073741824,%edx andb $15,%ah cmpb $15,%ah - jne L005notintel + jne L004notintel orl $1048576,%edx -L005notintel: +L004notintel: btl $28,%edx jnc L002generic andl $4026531839,%edx - cmpl $0,%edi + cmpl $0,%esi je L002generic orl $268435456,%edx shrl $16,%ebx @@ -118,7 +110,15 @@ L002generic: andl $4294965247,%ecx movl %edx,%esi orl %ecx,%ebp - btl $27,%ecx + cmpl $7,%edi + movl 20(%esp),%edi + jb L005no_extended_info + movl $7,%eax + xorl %ecx,%ecx + .byte 0x0f,0xa2 + movl %ebx,8(%edi) +L005no_extended_info: + btl $27,%ebp jnc L006clear_avx xorl %ecx,%ecx .byte 15,1,208 @@ -132,7 +132,6 @@ L008clear_xmm: andl $4278190079,%esi L006clear_avx: andl $4026525695,%ebp - movl 20(%esp),%edi andl $4294967263,8(%edi) L007done: movl %esi,%eax diff --git a/deps/openssl/asm_obsolete/x86-win32-masm/x86cpuid.asm b/deps/openssl/asm_obsolete/x86-win32-masm/x86cpuid.asm index b4462fc2aa72bd..d53b6a44d895a3 100644 --- a/deps/openssl/asm_obsolete/x86-win32-masm/x86cpuid.asm +++ b/deps/openssl/asm_obsolete/x86-win32-masm/x86cpuid.asm @@ -35,10 +35,10 @@ $L_OPENSSL_ia32_cpuid_begin:: pop eax xor ecx,eax xor eax,eax - bt ecx,21 - jnc $L000nocpuid mov esi,DWORD PTR 20[esp] mov DWORD PTR 8[esi],eax + bt ecx,21 + jnc $L000nocpuid cpuid mov edi,eax xor eax,eax @@ -89,40 +89,32 @@ $L_OPENSSL_ia32_cpuid_begin:: and edx,4026531839 jmp $L002generic $L001intel: - cmp edi,7 - jb $L003cacheinfo - mov esi,DWORD PTR 20[esp] - mov eax,7 - xor ecx,ecx - cpuid - mov DWORD PTR 8[esi],ebx -$L003cacheinfo: cmp edi,4 - mov edi,-1 - jb $L004nocacheinfo + mov esi,-1 + jb $L003nocacheinfo mov eax,4 mov ecx,0 cpuid - mov edi,eax - shr edi,14 - and edi,4095 -$L004nocacheinfo: + mov esi,eax + shr esi,14 + and esi,4095 +$L003nocacheinfo: mov eax,1 xor ecx,ecx cpuid and edx,3220176895 cmp ebp,0 - jne $L005notintel + jne $L004notintel or edx,1073741824 and ah,15 cmp ah,15 - jne $L005notintel + jne $L004notintel or edx,1048576 -$L005notintel: +$L004notintel: bt edx,28 jnc $L002generic and edx,4026531839 - cmp edi,0 + cmp esi,0 je $L002generic or edx,268435456 shr ebx,16 @@ -134,7 +126,15 @@ $L002generic: and ecx,4294965247 mov esi,edx or ebp,ecx - bt ecx,27 + cmp edi,7 + mov edi,DWORD PTR 20[esp] + jb $L005no_extended_info + mov eax,7 + xor ecx,ecx + cpuid + mov DWORD PTR 8[edi],ebx +$L005no_extended_info: + bt ebp,27 jnc $L006clear_avx xor ecx,ecx DB 15,1,208 @@ -148,7 +148,6 @@ $L008clear_xmm: and esi,4278190079 $L006clear_avx: and ebp,4026525695 - mov edi,DWORD PTR 20[esp] and DWORD PTR 8[edi],4294967263 $L007done: mov eax,esi