diff options
Diffstat (limited to 'deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s')
-rw-r--r-- | deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s index af1ffdd59b..4137d5990a 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-gf2m.s @@ -3,7 +3,9 @@ .p2align 4 _mul_1x1: + subq $128+8,%rsp + movq $-1,%r9 leaq (%rax,%rax,1),%rsi shrq $3,%r9 @@ -193,16 +195,20 @@ _mul_1x1: xorq %rdi,%rdx addq $128+8,%rsp + .byte 0xf3,0xc3 L$end_mul_1x1: + .globl _bn_GF2m_mul_2x2 .p2align 4 _bn_GF2m_mul_2x2: - movq _OPENSSL_ia32cap_P(%rip),%rax - btq $33,%rax + + movq %rsp,%rax + movq _OPENSSL_ia32cap_P(%rip),%r10 + btq $33,%r10 jnc L$vanilla_mul_2x2 .byte 102,72,15,110,198 @@ -230,11 +236,17 @@ _bn_GF2m_mul_2x2: .p2align 4 L$vanilla_mul_2x2: leaq -136(%rsp),%rsp + movq %r14,80(%rsp) + movq %r13,88(%rsp) + movq %r12,96(%rsp) + movq %rbp,104(%rsp) + movq %rbx,112(%rsp) + L$body_mul_2x2: movq %rdi,32(%rsp) movq %rsi,40(%rsp) @@ -279,13 +291,21 @@ L$body_mul_2x2: movq %rax,8(%rbp) movq 80(%rsp),%r14 + movq 88(%rsp),%r13 + movq 96(%rsp),%r12 + movq 104(%rsp),%rbp + movq 112(%rsp),%rbx + leaq 136(%rsp),%rsp + +L$epilogue_mul_2x2: .byte 0xf3,0xc3 L$end_mul_2x2: + .byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .p2align 4 |