diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2019-04-05 17:38:39 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2019-04-05 17:58:21 +0300 |
commit | 74ef3ecbf94e704975e238a99c0e0480cebf46ac (patch) | |
tree | ad075c220b62dfd878534f1a6d5cb96fe5ed39a6 /cipher/sha512-avx2-bmi2-amd64.S | |
parent | f3d4bd90662faaedd37ce0dae1f9e7f91748e91e (diff) | |
download | libgcrypt-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.S | 9 |
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 |