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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:adefadda3e87f693f20f0b2b34bced00aa525207

commit r16-341-gadefadda3e87f693f20f0b2b34bced00aa525207
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Thu May 1 00:14:27 2025 -0700

    get_known_nonzero_bits_1 should use wi::bit_and_not [PR118659]

    While looking into bitwise optimizations, I noticed that
    get_known_nonzero_bits_1 does `bm.value () & ~bm.mask ()` which
    is ok except it creates a temporary wide_int. Instead if we
    use wi::bit_and_not, we can avoid the temporary and on some
    targets use the andn/bic instruction.

    Bootstrapped and tested on x86_64-linux-gnu.

    gcc/ChangeLog:

            PR tree-optimization/118659
            * tree-ssanames.cc (get_known_nonzero_bits_1): Use
            wi::bit_and_not instead of `a & ~b`.

    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
  • [Bug tree-optimization/118659] ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to