diff options
Diffstat (limited to 'deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto')
9 files changed, 129 insertions, 1 deletions
diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s index 72dade4a50..ee148d19dc 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s @@ -155,6 +155,7 @@ L$enc_loop: .p2align 4 _x86_64_AES_encrypt_compact: + leaq 128(%r14),%r8 movl 0-128(%r8),%edi movl 32-128(%r8),%ebp @@ -325,6 +326,7 @@ L$enc_compact_done: xorl 12(%r15),%edx .byte 0xf3,0xc3 + .globl _AES_encrypt .p2align 4 @@ -568,6 +570,7 @@ L$dec_loop: .p2align 4 _x86_64_AES_decrypt_compact: + leaq 128(%r14),%r8 movl 0-128(%r8),%edi movl 32-128(%r8),%ebp @@ -790,6 +793,7 @@ L$dec_compact_done: xorl 12(%r15),%edx .byte 0xf3,0xc3 + .globl _AES_decrypt .p2align 4 @@ -914,6 +918,7 @@ L$enc_key_epilogue: .p2align 4 _x86_64_AES_set_encrypt_key: + movl %esi,%ecx movq %rdi,%rsi movq %rdx,%rdi @@ -1150,6 +1155,7 @@ L$badpointer: L$exit: .byte 0xf3,0xc3 + .globl _AES_set_decrypt_key .p2align 4 @@ -1366,6 +1372,8 @@ _AES_cbc_encrypt: je L$cbc_epilogue pushfq + + pushq %rbx pushq %rbp @@ -1388,6 +1396,7 @@ L$cbc_prologue: cmpq $0,%r9 cmoveq %r10,%r14 + movl _OPENSSL_ia32cap_P(%rip),%r10d cmpq $512,%rdx jb L$cbc_slow_prologue @@ -1624,6 +1633,7 @@ L$cbc_fast_cleanup: .p2align 4 L$cbc_slow_prologue: + leaq -88(%rsp),%rbp andq $-64,%rbp @@ -1635,7 +1645,9 @@ L$cbc_slow_prologue: xchgq %rsp,%rbp + movq %rbp,16(%rsp) + L$cbc_slow_body: @@ -1825,6 +1837,8 @@ L$cbc_exit: L$cbc_popfq: popfq + + L$cbc_epilogue: .byte 0xf3,0xc3 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s index 8d76a18b85..6792a530f2 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s @@ -4,6 +4,7 @@ .p2align 4 _aesni_encrypt: + movups (%rdi),%xmm2 movl 240(%rdx),%eax movups (%rdx),%xmm0 @@ -24,10 +25,12 @@ L$oop_enc1_1: .byte 0xf3,0xc3 + .globl _aesni_decrypt .p2align 4 _aesni_decrypt: + movups (%rdi),%xmm2 movl 240(%rdx),%eax movups (%rdx),%xmm0 @@ -48,8 +51,10 @@ L$oop_dec1_2: .byte 0xf3,0xc3 + .p2align 4 _aesni_encrypt2: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -77,8 +82,10 @@ L$enc_loop2: .byte 0xf3,0xc3 + .p2align 4 _aesni_decrypt2: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -106,8 +113,10 @@ L$dec_loop2: .byte 0xf3,0xc3 + .p2align 4 _aesni_encrypt3: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -140,8 +149,10 @@ L$enc_loop3: .byte 0xf3,0xc3 + .p2align 4 _aesni_decrypt3: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -174,8 +185,10 @@ L$dec_loop3: .byte 0xf3,0xc3 + .p2align 4 _aesni_encrypt4: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -214,8 +227,10 @@ L$enc_loop4: .byte 0xf3,0xc3 + .p2align 4 _aesni_decrypt4: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -254,8 +269,10 @@ L$dec_loop4: .byte 0xf3,0xc3 + .p2align 4 _aesni_encrypt6: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -308,8 +325,10 @@ L$enc_loop6_enter: .byte 0xf3,0xc3 + .p2align 4 _aesni_decrypt6: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -362,8 +381,10 @@ L$dec_loop6_enter: .byte 0xf3,0xc3 + .p2align 4 _aesni_encrypt8: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -426,8 +447,10 @@ L$enc_loop8_enter: .byte 0xf3,0xc3 + .p2align 4 _aesni_decrypt8: + movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -489,10 +512,12 @@ L$dec_loop8_enter: .byte 102,68,15,56,223,200 .byte 0xf3,0xc3 + .globl _aesni_ecb_encrypt .p2align 4 _aesni_ecb_encrypt: + andq $-16,%rdx jz L$ecb_ret @@ -831,6 +856,7 @@ L$ecb_ret: pxor %xmm1,%xmm1 .byte 0xf3,0xc3 + .globl _aesni_ccm64_encrypt_blocks .p2align 4 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s index 13920e2ace..2fefb75ac3 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s @@ -6,6 +6,7 @@ .p2align 6 _bsaes_encrypt8: + leaq L$BS0(%rip),%r11 movdqa (%rax),%xmm8 @@ -476,8 +477,10 @@ L$enc_done: + .p2align 6 _bsaes_decrypt8: + leaq L$BS0(%rip),%r11 movdqa (%rax),%xmm8 @@ -981,8 +984,10 @@ L$dec_done: .byte 0xf3,0xc3 + .p2align 4 _bsaes_key_convert: + leaq L$masks(%rip),%r11 movdqu (%rcx),%xmm7 leaq 16(%rcx),%rcx @@ -1063,6 +1068,7 @@ L$key_loop: .byte 0xf3,0xc3 + .globl _bsaes_cbc_encrypt .p2align 4 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/vpaes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/vpaes-x86_64.s index bcd4865659..79e834aefc 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/vpaes-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/vpaes-x86_64.s @@ -18,6 +18,7 @@ .p2align 4 _vpaes_encrypt_core: + movq %rdx,%r9 movq $16,%r11 movl 240(%rdx),%eax @@ -106,8 +107,10 @@ L$enc_entry: + .p2align 4 _vpaes_decrypt_core: + movq %rdx,%r9 movl 240(%rdx),%eax movdqa %xmm9,%xmm1 @@ -212,6 +215,7 @@ L$dec_entry: + .p2align 4 _vpaes_schedule_core: @@ -219,6 +223,7 @@ _vpaes_schedule_core: + call _vpaes_preheat movdqa L$k_rcon(%rip),%xmm8 movdqu (%rdi),%xmm0 @@ -397,8 +402,10 @@ L$schedule_mangle_last_dec: + .p2align 4 _vpaes_schedule_192_smear: + pshufd $0x80,%xmm6,%xmm1 pshufd $0xFE,%xmm7,%xmm0 pxor %xmm1,%xmm6 @@ -428,9 +435,11 @@ _vpaes_schedule_192_smear: + .p2align 4 _vpaes_schedule_round: + pxor %xmm1,%xmm1 .byte 102,65,15,58,15,200,15 .byte 102,69,15,58,15,192,15 @@ -495,8 +504,10 @@ _vpaes_schedule_low_round: + .p2align 4 _vpaes_schedule_transform: + movdqa %xmm9,%xmm1 pandn %xmm0,%xmm1 psrld $4,%xmm1 @@ -533,8 +544,10 @@ _vpaes_schedule_transform: + .p2align 4 _vpaes_schedule_mangle: + movdqa %xmm0,%xmm4 movdqa L$k_mc_forward(%rip),%xmm5 testq %rcx,%rcx @@ -604,10 +617,12 @@ L$schedule_mangle_both: + .globl _vpaes_set_encrypt_key .p2align 4 _vpaes_set_encrypt_key: + movl %esi,%eax shrl $5,%eax addl $5,%eax @@ -620,10 +635,12 @@ _vpaes_set_encrypt_key: .byte 0xf3,0xc3 + .globl _vpaes_set_decrypt_key .p2align 4 _vpaes_set_decrypt_key: + movl %esi,%eax shrl $5,%eax addl $5,%eax @@ -641,10 +658,12 @@ _vpaes_set_decrypt_key: .byte 0xf3,0xc3 + .globl _vpaes_encrypt .p2align 4 _vpaes_encrypt: + movdqu (%rdi),%xmm0 call _vpaes_preheat call _vpaes_encrypt_core @@ -652,20 +671,24 @@ _vpaes_encrypt: .byte 0xf3,0xc3 + .globl _vpaes_decrypt .p2align 4 _vpaes_decrypt: + movdqu (%rdi),%xmm0 call _vpaes_preheat call _vpaes_decrypt_core movdqu %xmm0,(%rsi) .byte 0xf3,0xc3 + .globl _vpaes_cbc_encrypt .p2align 4 _vpaes_cbc_encrypt: + xchgq %rcx,%rdx subq $16,%rcx jc L$cbc_abort @@ -709,8 +732,10 @@ L$cbc_abort: + .p2align 4 _vpaes_preheat: + leaq L$k_s0F(%rip),%r10 movdqa -32(%r10),%xmm10 movdqa -16(%r10),%xmm11 @@ -727,6 +752,7 @@ _vpaes_preheat: + .p2align 6 _vpaes_consts: L$k_inv: diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-avx2.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-avx2.s index 73aa8b7373..de597b1e76 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-avx2.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-avx2.s @@ -1212,6 +1212,7 @@ L$mul_1024_epilogue: .p2align 5 _rsaz_1024_red2norm_avx2: + subq $-128,%rsi xorq %rax,%rax movq -128(%rsi),%r8 @@ -1405,10 +1406,12 @@ _rsaz_1024_red2norm_avx2: .byte 0xf3,0xc3 + .globl _rsaz_1024_norm2red_avx2 .p2align 5 _rsaz_1024_norm2red_avx2: + subq $-128,%rdi movq (%rsi),%r8 movl $0x1fffffff,%eax @@ -1562,10 +1565,12 @@ _rsaz_1024_norm2red_avx2: movq %r8,184(%rdi) .byte 0xf3,0xc3 + .globl _rsaz_1024_scatter5_avx2 .p2align 5 _rsaz_1024_scatter5_avx2: + vzeroupper vmovdqu L$scatter_permd(%rip),%ymm5 shll $4,%edx @@ -1587,6 +1592,7 @@ L$oop_scatter_1024: .byte 0xf3,0xc3 + .globl _rsaz_1024_gather5_avx2 .p2align 5 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s index 9cb256094b..ee0ef1639a 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s @@ -2933,6 +2933,7 @@ __bn_sqrx8x_internal: + leaq 48+8(%rsp),%rdi leaq (%rsi,%r9,1),%rbp movq %r9,0+8(%rsp) @@ -3505,6 +3506,7 @@ L$sqrx8x_no_tail: jb L$sqrx8x_reduction_loop .byte 0xf3,0xc3 + .p2align 5 __bn_postx4x_internal: movq 0(%rbp),%r12 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h index e1f87e1cab..9e871abc29 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Thu Nov 22 19:33:15 2018 UTC" +#define DATE "built on: Tue Feb 26 19:46:30 2019 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index 302649aacc..ff7ae72344 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3919,6 +3919,7 @@ L$mul_epilogue: __ecp_nistz256_mul_montq: + movq %rax,%rbp mulq %r9 movq L$poly+8(%rip),%r14 @@ -4137,6 +4138,7 @@ __ecp_nistz256_mul_montq: + .globl _ecp_nistz256_sqr_mont .p2align 5 @@ -4199,6 +4201,7 @@ L$sqr_epilogue: .p2align 5 __ecp_nistz256_sqr_montq: + movq %rax,%r13 mulq %r14 movq %rax,%r9 @@ -4358,10 +4361,12 @@ __ecp_nistz256_sqr_montq: .byte 0xf3,0xc3 + .p2align 5 __ecp_nistz256_mul_montx: + mulxq %r9,%r8,%r9 mulxq %r10,%rcx,%r10 movq $32,%r14 @@ -4525,8 +4530,10 @@ __ecp_nistz256_mul_montx: + .p2align 5 __ecp_nistz256_sqr_montx: + mulxq %r14,%r9,%r10 mulxq %r15,%rcx,%r11 xorl %eax,%eax @@ -4657,6 +4664,7 @@ __ecp_nistz256_sqr_montx: + .globl _ecp_nistz256_from_mont .p2align 5 @@ -4787,6 +4795,7 @@ _ecp_nistz256_scatter_w5: .p2align 5 _ecp_nistz256_gather_w5: + movl _OPENSSL_ia32cap_P+8(%rip),%eax testl $32,%eax jnz L$avx2_gather_w5 @@ -4841,6 +4850,7 @@ L$select_loop_sse_w5: movdqu %xmm6,64(%rdi) movdqu %xmm7,80(%rdi) .byte 0xf3,0xc3 + L$SEH_end_ecp_nistz256_gather_w5: @@ -4869,6 +4879,7 @@ _ecp_nistz256_scatter_w7: .p2align 5 _ecp_nistz256_gather_w7: + movl _OPENSSL_ia32cap_P+8(%rip),%eax testl $32,%eax jnz L$avx2_gather_w7 @@ -4912,6 +4923,7 @@ L$select_loop_sse_w7: movdqu %xmm4,32(%rdi) movdqu %xmm5,48(%rdi) .byte 0xf3,0xc3 + L$SEH_end_ecp_nistz256_gather_w7: @@ -4919,6 +4931,7 @@ L$SEH_end_ecp_nistz256_gather_w7: .p2align 5 ecp_nistz256_avx2_gather_w5: + L$avx2_gather_w5: vzeroupper vmovdqa L$Two(%rip),%ymm0 @@ -4973,6 +4986,7 @@ L$select_loop_avx2_w5: vmovdqu %ymm4,64(%rdi) vzeroupper .byte 0xf3,0xc3 + L$SEH_end_ecp_nistz256_avx2_gather_w5: @@ -4982,6 +4996,7 @@ L$SEH_end_ecp_nistz256_avx2_gather_w5: .p2align 5 _ecp_nistz256_avx2_gather_w7: + L$avx2_gather_w7: vzeroupper vmovdqa L$Three(%rip),%ymm0 @@ -5051,11 +5066,13 @@ L$select_loop_avx2_w7: vmovdqu %ymm3,32(%rdi) vzeroupper .byte 0xf3,0xc3 + L$SEH_end_ecp_nistz256_avx2_gather_w7: .p2align 5 __ecp_nistz256_add_toq: + xorq %r11,%r11 addq 0(%rbx),%r12 adcq 8(%rbx),%r13 @@ -5086,8 +5103,10 @@ __ecp_nistz256_add_toq: + .p2align 5 __ecp_nistz256_sub_fromq: + subq 0(%rbx),%r12 sbbq 8(%rbx),%r13 movq %r12,%rax @@ -5117,8 +5136,10 @@ __ecp_nistz256_sub_fromq: + .p2align 5 __ecp_nistz256_subq: + subq %r12,%rax sbbq %r13,%rbp movq %rax,%r12 @@ -5144,8 +5165,10 @@ __ecp_nistz256_subq: + .p2align 5 __ecp_nistz256_mul_by_2q: + xorq %r11,%r11 addq %r12,%r12 adcq %r13,%r13 @@ -5174,6 +5197,7 @@ __ecp_nistz256_mul_by_2q: .byte 0xf3,0xc3 + .globl _ecp_nistz256_point_double .p2align 5 @@ -5593,8 +5617,10 @@ L$add_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 addq $416,%rsp + jmp L$point_double_shortcutq + .p2align 5 L$add_proceedq: movq 0+64(%rsp),%rax @@ -6149,6 +6175,7 @@ L$add_affineq_epilogue: .p2align 5 __ecp_nistz256_add_tox: + xorq %r11,%r11 adcq 0(%rbx),%r12 adcq 8(%rbx),%r13 @@ -6180,8 +6207,10 @@ __ecp_nistz256_add_tox: + .p2align 5 __ecp_nistz256_sub_fromx: + xorq %r11,%r11 sbbq 0(%rbx),%r12 sbbq 8(%rbx),%r13 @@ -6213,8 +6242,10 @@ __ecp_nistz256_sub_fromx: + .p2align 5 __ecp_nistz256_subx: + xorq %r11,%r11 sbbq %r12,%rax sbbq %r13,%rbp @@ -6242,8 +6273,10 @@ __ecp_nistz256_subx: + .p2align 5 __ecp_nistz256_mul_by_2x: + xorq %r11,%r11 adcq %r12,%r12 adcq %r13,%r13 @@ -6274,6 +6307,7 @@ __ecp_nistz256_mul_by_2x: .byte 0xf3,0xc3 + .p2align 5 ecp_nistz256_point_doublex: @@ -6684,8 +6718,10 @@ L$add_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 addq $416,%rsp + jmp L$point_double_shortcutx + .p2align 5 L$add_proceedx: movq 0+64(%rsp),%rdx diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/ghash-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/ghash-x86_64.s index d182d45cfb..3623d18b9a 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/ghash-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/ghash-x86_64.s @@ -693,6 +693,7 @@ L$ghash_epilogue: .p2align 4 _gcm_init_clmul: + L$_init_clmul: movdqu (%rsi),%xmm2 pshufd $78,%xmm2,%xmm2 @@ -845,10 +846,12 @@ L$_init_clmul: movdqu %xmm4,80(%rdi) .byte 0xf3,0xc3 + .globl _gcm_gmult_clmul .p2align 4 _gcm_gmult_clmul: + L$_gmult_clmul: movdqu (%rdi),%xmm0 movdqa L$bswap_mask(%rip),%xmm5 @@ -896,10 +899,12 @@ L$_gmult_clmul: movdqu %xmm0,(%rdi) .byte 0xf3,0xc3 + .globl _gcm_ghash_clmul .p2align 5 _gcm_ghash_clmul: + L$_ghash_clmul: movdqa L$bswap_mask(%rip),%xmm10 @@ -1279,10 +1284,12 @@ L$done: movdqu %xmm0,(%rdi) .byte 0xf3,0xc3 + .globl _gcm_init_avx .p2align 5 _gcm_init_avx: + vzeroupper vmovdqu (%rsi),%xmm2 @@ -1386,16 +1393,20 @@ L$init_start_avx: vzeroupper .byte 0xf3,0xc3 + .globl _gcm_gmult_avx .p2align 5 _gcm_gmult_avx: + jmp L$_gmult_clmul + .globl _gcm_ghash_avx .p2align 5 _gcm_ghash_avx: + vzeroupper vmovdqu (%rdi),%xmm10 @@ -1768,6 +1779,7 @@ L$tail_no_xor_avx: vzeroupper .byte 0xf3,0xc3 + .p2align 6 L$bswap_mask: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 |