| From 15539aa48d91bd9d14a7b465201198c96f3dfca8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 5 Apr 2024 20:26:08 -0400 |
| Subject: crypto: x86/nh-avx2 - add missing vzeroupper |
| |
| From: Eric Biggers <ebiggers@google.com> |
| |
| [ Upstream commit 4ad096cca942959871d8ff73826d30f81f856f6e ] |
| |
| Since nh_avx2() uses ymm registers, execute vzeroupper before returning |
| from it. This is necessary to avoid reducing the performance of SSE |
| code. |
| |
| Fixes: 0f961f9f670e ("crypto: x86/nhpoly1305 - add AVX2 accelerated NHPoly1305") |
| Signed-off-by: Eric Biggers <ebiggers@google.com> |
| Acked-by: Tim Chen <tim.c.chen@linux.intel.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/x86/crypto/nh-avx2-x86_64.S | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/arch/x86/crypto/nh-avx2-x86_64.S b/arch/x86/crypto/nh-avx2-x86_64.S |
| index ef73a3ab87263..791386d9a83aa 100644 |
| --- a/arch/x86/crypto/nh-avx2-x86_64.S |
| +++ b/arch/x86/crypto/nh-avx2-x86_64.S |
| @@ -154,5 +154,6 @@ SYM_TYPED_FUNC_START(nh_avx2) |
| vpaddq T1, T0, T0 |
| vpaddq T4, T0, T0 |
| vmovdqu T0, (HASH) |
| + vzeroupper |
| RET |
| SYM_FUNC_END(nh_avx2) |
| -- |
| 2.43.0 |
| |