[PATCH v2 0/1] x86_64: Prefer EVEX512 code-path on AMD Zen5 CPUs

Sajan Karumanchi sajan.karumanchi@gmail.com
Tue Mar 24 19:17:06 GMT 2026


Hi H.J.Lu,

This is version 2 of the patch to optimize string and memory functions for
AMD Zen5 processors by preferring 512-bit EVEX implementations.

Changes since v1:

1. Simplified AVX-512 feature detection in cpu-features.c:
2. Added tunable support in cpu-tunables.c:
   - Users can now enable/disable Prefer_EVEX512 flag at runtime
   - Syntax: GLIBC_TUNABLES=glibc.cpu.x86_cpu_features.preferred=Prefer_EVEX512
3. More consistent with existing naming conventions in glibc codebase
   with minimal changes for maintainability.

No functional changes to the optimization logic itself - the performance
improvements and affected functions remain the same as v1.

Thank you for your review and consideration.

Best regards,
Sajan Karumanchi
AMD


Sajan Karumanchi (1):
  x86_64: Prefer EVEX512 code-path on AMD Zen5 CPUs

 sysdeps/x86/cpu-features.c                        |  8 ++++++++
 sysdeps/x86/cpu-tunables.c                        |  6 ++++++
 .../cpu-features-preferred_feature_index_1.def    |  1 +
 sysdeps/x86_64/multiarch/ifunc-avx2.h             | 15 ++++++++++++---
 sysdeps/x86_64/multiarch/ifunc-evex.h             | 11 ++++++++++-
 sysdeps/x86_64/multiarch/memchr.c                 |  1 +
 sysdeps/x86_64/multiarch/strchr.c                 |  8 +++++++-
 sysdeps/x86_64/multiarch/strchrnul.c              |  1 +
 sysdeps/x86_64/multiarch/strlen.c                 |  1 +
 sysdeps/x86_64/multiarch/strnlen.c                |  1 +
 sysdeps/x86_64/multiarch/strrchr.c                |  1 +
 11 files changed, 49 insertions(+), 5 deletions(-)

-- 
2.34.1


More information about the Libc-alpha mailing list