summaryrefslogtreecommitdiff
path: root/cipher/sha512-avx2-bmi2-amd64.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2019-04-05 17:38:39 +0300
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2019-04-05 17:58:21 +0300
commit74ef3ecbf94e704975e238a99c0e0480cebf46ac (patch)
treead075c220b62dfd878534f1a6d5cb96fe5ed39a6 /cipher/sha512-avx2-bmi2-amd64.S
parentf3d4bd90662faaedd37ce0dae1f9e7f91748e91e (diff)
downloadlibgcrypt-74ef3ecbf94e704975e238a99c0e0480cebf46ac.tar.gz
Burn stack in transform functions for SHA2 AMD64 implementations
* cipher/sha256-avx-amd64.S: Burn stack inside transform functions. * cipher/sha256-avx2-bmi2-amd64.S: Ditto. * cipher/sha256-ssse3-amd64.S: Ditto. * cipher/sha512-avx-amd64.S: Ditto. * cipher/sha512-avx2-bmi2-amd64.S: Ditto. * cipher/sha512-ssse3-amd64.S: Ditto. -- This change reduces per call overhead for SHA256 & SHA512. 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.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/cipher/sha512-avx2-bmi2-amd64.S b/cipher/sha512-avx2-bmi2-amd64.S
index 05bef64c..914f920a 100644
--- a/cipher/sha512-avx2-bmi2-amd64.S
+++ b/cipher/sha512-avx2-bmi2-amd64.S
@@ -714,6 +714,7 @@ _gcry_sha512_transform_amd64_avx2:
jne .Loop0
.Ldone_hash:
+ vzeroall
/* Restore GPRs */
mov rbp, [rsp + frame_GPRSAVE + 8 * 0]
@@ -723,12 +724,12 @@ _gcry_sha512_transform_amd64_avx2:
mov r14, [rsp + frame_GPRSAVE + 8 * 4]
mov r15, [rsp + frame_GPRSAVE + 8 * 5]
+ /* Burn stack */
+ vmovdqa [rsp + frame_XFER], XFER
+ xor eax, eax
+
/* Restore Stack Pointer */
mov rsp, [rsp + frame_RSPSAVE]
-
- vzeroall
-
- mov eax, frame_size + 31
.Lnowork:
ret