[openssl/openssl] 62fe04: Add AVX-512/VAES optimized AES-CBC decryption

"'Madan mohan Manokar' via openssl-commits" <[email protected]> Fri, 31 Jul 2026 09:35:39 -0700
Newsgroups gmane.comp.encryption.openssl.cvs
Message-ID <openssl/openssl/push/refs/heads/master/[email protected]>
  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: 62fe048fbe324faaf8e11ea9ce3c76be8a085ae7
      https://github.com/openssl/openssl/commit/62fe048fbe324faaf8e11ea9ce3c76be8a085ae7
  Author: Madan mohan Manokar <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    A crypto/aes/aes_cbc_vaes_intrinsic.c
    M crypto/aes/build.info
    M include/crypto/aes_platform.h
    M providers/implementations/ciphers/cipher_aes_hw_aesni.c
    M test/evp_extra_test.c

  Log Message:
  -----------
  Add AVX-512/VAES optimized AES-CBC decryption

Implement an AVX-512 VAES-based bulk path for AES-CBC decryption that
processes multiple blocks in parallel, improving decryption performance
for large inputs (1024 bytes or more) by 3.5x to 3.8x.

- Add the VAES CBC decrypt intrinsic implementation
  (crypto/aes/aes_cbc_vaes_intrinsic.c) and wire it into the AES-NI
  provider cipher path.
- Centralize the VAES_CBC_ELIGIBLE eligibility guard in
  include/crypto/aes_platform.h to keep the header and implementation in
  sync, and drop the redundant AES_BLOCK_SIZE define.
- Guard the intrinsics with refined gcc, clang, and msvc compiler-version
  checks, ensuring clean builds in no-asm, no-deprecated, and Windows
  (shared/minimal) configurations.
- Add an EVP-level AES-CBC decrypt test exercising the VAES bulk path
  across AES-128/192/256 and a range of input lengths.

Reviewed-by: Simo Sorce <[email protected]>
Reviewed-by: Andrew Dinh <[email protected]>
MergeDate: Fri Jul 31 16:33:35 2026
(Merged from https://github.com/openssl/openssl/pull/30902)


  Commit: d6a255a4704ea53c7a3aba8fa3d315a0bbf440bc
      https://github.com/openssl/openssl/commit/d6a255a4704ea53c7a3aba8fa3d315a0bbf440bc
  Author: Madan mohan Manokar <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M CHANGES.md

  Log Message:
  -----------
  Add CHANGES.md entry for AES-CBC AVX-512/VAES decryption

Document the AVX-512 and VAES optimizations for AES-CBC decryption,
which improve decryption performance for large inputs (1024 bytes or
more) by 3.5x to 3.8x.

Reviewed-by: Simo Sorce <[email protected]>
Reviewed-by: Andrew Dinh <[email protected]>
MergeDate: Fri Jul 31 16:33:42 2026
(Merged from https://github.com/openssl/openssl/pull/30902)


Compare: https://github.com/openssl/openssl/compare/2da90c2f053d...d6a255a4704e

To unsubscribe from these emails, change your notification settings at https://github.com/openssl/openssl/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups "openssl-commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-commits/openssl/openssl/push/refs/heads/master/2da90c-d6a255%40github.com.