summaryrefslogtreecommitdiff
path: root/cipher/sha512-avx2-bmi2-amd64.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2013-12-13 16:14:05 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2013-12-13 16:14:05 +0200
commit04615cc6803cdede25fa92e3ff697e252a23cd7a (patch)
tree854c4e4e71836322ad8d0f7ec29571b7e23c486b /cipher/sha512-avx2-bmi2-amd64.S
parent764643a3d5634bcbc47790bd8505f6a1a5280d9c (diff)
downloadlibgcrypt-04615cc6803cdede25fa92e3ff697e252a23cd7a.tar.gz
Add missing register clearing in to SHA-256 and SHA-512 assembly
* cipher/sha256-ssse3-amd64.S: Clear used XMM/YMM registers at return. * cipher/sha512-avx-amd64.S: Ditto. * cipher/sha512-avx2-bmi2-amd64.S: Ditto. * cipher/sha512-ssse3-amd64.S: Ditto. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/sha512-avx2-bmi2-amd64.S')
-rw-r--r--cipher/sha512-avx2-bmi2-amd64.S14
1 files changed, 14 insertions, 0 deletions
diff --git a/cipher/sha512-avx2-bmi2-amd64.S b/cipher/sha512-avx2-bmi2-amd64.S
index 878c41b5..9ece4fda 100644
--- a/cipher/sha512-avx2-bmi2-amd64.S
+++ b/cipher/sha512-avx2-bmi2-amd64.S
@@ -604,6 +604,8 @@ _gcry_sha512_transform_amd64_avx2:
cmp rdx, 0
je .Lnowork
+ vzeroupper
+
/* Allocate Stack Space */
mov rax, rsp
sub rsp, frame_size
@@ -717,6 +719,18 @@ _gcry_sha512_transform_amd64_avx2:
/* Restore Stack Pointer */
mov rsp, [rsp + frame_RSPSAVE]
+ vzeroupper
+ pxor xmm0, xmm0
+ pxor xmm1, xmm1
+ pxor xmm2, xmm2
+ pxor xmm3, xmm3
+ pxor xmm4, xmm4
+ pxor xmm5, xmm5
+ pxor xmm6, xmm6
+ pxor xmm7, xmm7
+ pxor xmm8, xmm8
+ pxor xmm9, xmm9
+
mov rax, frame_size
.Lnowork:
ret