mbox series

[0/3] crypto: x86/crc32c - jump table elimination and other cleanups

Message ID 20241014042447.50197-1-ebiggers@kernel.org (mailing list archive)
Headers show
Series crypto: x86/crc32c - jump table elimination and other cleanups | expand

Message

Eric Biggers Oct. 14, 2024, 4:24 a.m. UTC
This series cleans up the x86_64 assembly implementation of CRC32C to
reduce code size, improve performance, and eliminate the use of the
outdated and problematic jump table idiom.

Eric Biggers (3):
  crypto: x86/crc32c - simplify code for handling fewer than 200 bytes
  crypto: x86/crc32c - access 32-bit arguments as 32-bit
  crypto: x86/crc32c - eliminate jump table and excessive unrolling

 arch/x86/crypto/crc32c-intel_glue.c       |   2 +-
 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 354 ++++++++--------------
 2 files changed, 126 insertions(+), 230 deletions(-)


base-commit: cfea70e835b9180029257d8b772c9e99c3305a9a

Comments

Ard Biesheuvel Oct. 15, 2024, 10:55 a.m. UTC | #1
On Mon, 14 Oct 2024 at 06:25, Eric Biggers <ebiggers@kernel.org> wrote:
>
> This series cleans up the x86_64 assembly implementation of CRC32C to
> reduce code size, improve performance, and eliminate the use of the
> outdated and problematic jump table idiom.
>
> Eric Biggers (3):
>   crypto: x86/crc32c - simplify code for handling fewer than 200 bytes
>   crypto: x86/crc32c - access 32-bit arguments as 32-bit
>   crypto: x86/crc32c - eliminate jump table and excessive unrolling
>

Nice cleanup

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Herbert Xu Oct. 26, 2024, 6:53 a.m. UTC | #2
Eric Biggers <ebiggers@kernel.org> wrote:
> This series cleans up the x86_64 assembly implementation of CRC32C to
> reduce code size, improve performance, and eliminate the use of the
> outdated and problematic jump table idiom.
> 
> Eric Biggers (3):
>  crypto: x86/crc32c - simplify code for handling fewer than 200 bytes
>  crypto: x86/crc32c - access 32-bit arguments as 32-bit
>  crypto: x86/crc32c - eliminate jump table and excessive unrolling
> 
> arch/x86/crypto/crc32c-intel_glue.c       |   2 +-
> arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 354 ++++++++--------------
> 2 files changed, 126 insertions(+), 230 deletions(-)
> 
> 
> base-commit: cfea70e835b9180029257d8b772c9e99c3305a9a

All applied.  Thanks.