summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s')
-rw-r--r--deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s31
1 files changed, 28 insertions, 3 deletions
diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s
index 28cf0768ca..3aee22c3bc 100644
--- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s
+++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s
@@ -5,6 +5,7 @@
.p2align 4
_aesni_cbc_sha256_enc:
+
leaq _OPENSSL_ia32cap_P(%rip),%r11
movl $1,%eax
cmpq $0,%rdi
@@ -32,6 +33,7 @@ L$probe:
.byte 0xf3,0xc3
+
.p2align 6
K256:
@@ -2528,7 +2530,15 @@ L$oop_avx2:
vmovdqa %ymm4,0(%rsp)
xorl %r14d,%r14d
vmovdqa %ymm5,32(%rsp)
+
+ movq 120(%rsp),%rsi
+
leaq -64(%rsp),%rsp
+
+
+
+ movq %rsi,-8(%rsp)
+
movl %ebx,%esi
vmovdqa %ymm6,0(%rsp)
xorl %ecx,%esi
@@ -2542,6 +2552,12 @@ L$avx2_00_47:
vmovdqu (%r13),%xmm9
vpinsrq $0,%r13,%xmm15,%xmm15
leaq -64(%rsp),%rsp
+
+
+ pushq 64-8(%rsp)
+
+ leaq 8(%rsp),%rsp
+
vpalignr $4,%ymm0,%ymm1,%ymm4
addl 0+128(%rsp),%r11d
andl %r8d,%r12d
@@ -2816,6 +2832,12 @@ L$avx2_00_47:
movl %r9d,%r12d
vmovdqa %ymm6,32(%rsp)
leaq -64(%rsp),%rsp
+
+
+ pushq 64-8(%rsp)
+
+ leaq 8(%rsp),%rsp
+
vpalignr $4,%ymm2,%ymm3,%ymm4
addl 0+128(%rsp),%r11d
andl %r8d,%r12d
@@ -4029,10 +4051,12 @@ L$ower_avx2:
jbe L$oop_avx2
leaq (%rsp),%rbp
+
+
+
L$done_avx2:
- leaq (%rbp),%rsp
- movq 64+32(%rsp),%r8
- movq 120(%rsp),%rsi
+ movq 64+32(%rbp),%r8
+ movq 64+56(%rbp),%rsi
vmovdqu %xmm8,(%r8)
vzeroall
@@ -4057,6 +4081,7 @@ L$epilogue_avx2:
.p2align 5
aesni_cbc_sha256_enc_shaext:
+
movq 8(%rsp),%r10
leaq K256+128(%rip),%rax
movdqu (%r9),%xmm1