https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128372

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Venkataramanan Kumar
<[email protected]>:

https://gcc.gnu.org/g:6783b7375fff65e917637e86688918e808682f14

commit r17-5901-g6783b7375fff65e917637e86688918e808682f14
Author: Sarvesh Chandra <[email protected]>
Date:   Thu Oct 29 18:21:53 2026 +0530

    i386: Add AVX512BMM bitreverse lowering [PR128372]

    Use vbitrevb for scalar bitreverse when AVX512BMM and AVX512VL are
    available, while retaining GFNI as the fallback without AVX512VL.

    The vector bitreverse optab has also been added; vectorizer support will be
    addressed separately.

    gcc/ChangeLog:
            PR target/128372
            * config/i386/i386-expand.cc (ix86_expand_bitreverse): Use vbitrevb
only
            when AVX512BMM and AVX512VL are available; retain GFNI otherwise.
            * config/i386/i386-protos.h (ix86_expand_gfni_bitreverse): Rename
to ...
            (ix86_expand_bitreverse): ... this.
            * config/i386/i386.md (bitreverse<mode>2): Require AVX512VL for
BMM.
            * config/i386/sse.md (bitreverse<mode>2): New expander for
VI1_AVX512VL.

    gcc/testsuite/ChangeLog:
            PR target/128372
            * gcc.target/i386/avx512bmm-bitreverse-1.c: Test BMM scalar
lowering.
            * gcc.target/i386/gfni-bitreverse-scalar.c: Test the GFNI-only
path.

    Co-authored-by: Venkataramanan Kumar <[email protected]>
    Signed-off-by: Sarvesh Chandra <[email protected]>

Reply via email to