[Bug target/123792] aarch64: stdc_bit_ceil generates inefficient code

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 27 11:42:32 GMT 2026


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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Wilco Dijkstra <wilco@gcc.gnu.org>:

https://gcc.gnu.org/g:3cb7c85eebd985509eae977a45d081b9038ce6ec

commit r16-7064-g3cb7c85eebd985509eae977a45d081b9038ce6ec
Author: Wilco Dijkstra <wilco.dijkstra@arm.com>
Date:   Fri Jan 23 17:48:00 2026 +0000

    AArch64: Allow invert for shift counts [PR 123792]

    Optimize 1 << (31 - x) into 1 << ~x. This fixes part of PR 123792.

    gcc:
            PR target/123792
            * config/aarch64/aarch64.md (aarch64_<optab>_reg_minus<mode>3):
            Add support for invert in shift count.

    gcc/testsuite:
            PR target/123792
            * gcc.target/aarch64/pr123792.c: New test.


More information about the Gcc-bugs mailing list