crypto: x86/nh-avx2 - add missing vzeroupper
authorEric Biggers <ebiggers@google.com>
Sat, 6 Apr 2024 00:26:08 +0000 (20:26 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 12 Apr 2024 07:07:52 +0000 (15:07 +0800)
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>
arch/x86/crypto/nh-avx2-x86_64.S

index ef73a3ab87263e4637e5fcbbe92a11632c83fe42..791386d9a83aa16e7911df277b6a30310d64a0b6 100644 (file)
@@ -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)