Message ID | 20240406002610.37202-4-ebiggers@kernel.org |
---|---|
State | New |
Headers | show |
Series | crypto: x86 - add missing vzeroupper instructions | expand |
On Fri, 2024-04-05 at 20:26 -0400, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > Since sha512_transform_rorx() uses ymm registers, execute vzeroupper > before returning from it. This is necessary to avoid reducing the > performance of SSE code. > > Fixes: e01d69cb0195 ("crypto: sha512 - Optimized SHA512 x86_64 assembly routine using AVX instructions.") > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- > arch/x86/crypto/sha512-avx2-asm.S | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/crypto/sha512-avx2-asm.S b/arch/x86/crypto/sha512-avx2-asm.S > index f08496cd6870..24973f42c43f 100644 > --- a/arch/x86/crypto/sha512-avx2-asm.S > +++ b/arch/x86/crypto/sha512-avx2-asm.S > @@ -678,10 +678,11 @@ SYM_TYPED_FUNC_START(sha512_transform_rorx) > pop %r14 > pop %r13 > pop %r12 > pop %rbx > > + vzeroupper > RET > SYM_FUNC_END(sha512_transform_rorx) > > ######################################################################## > ### Binary Data Acked-by: Tim Chen <tim.c.chen@linux.intel.com>
diff --git a/arch/x86/crypto/sha512-avx2-asm.S b/arch/x86/crypto/sha512-avx2-asm.S index f08496cd6870..24973f42c43f 100644 --- a/arch/x86/crypto/sha512-avx2-asm.S +++ b/arch/x86/crypto/sha512-avx2-asm.S @@ -678,10 +678,11 @@ SYM_TYPED_FUNC_START(sha512_transform_rorx) pop %r14 pop %r13 pop %r12 pop %rbx + vzeroupper RET SYM_FUNC_END(sha512_transform_rorx) ######################################################################## ### Binary Data