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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>:

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

commit r15-4174-gc94adf02d31028a25bb7b20ec77aade9d502430b
Author: Soumya AR <soum...@nvidia.com>
Date:   Tue Oct 8 14:37:24 2024 +0100

    aarch64: Expand CTZ to RBIT + CLZ for SVE [PR109498]

    Currently, we vectorize CTZ for SVE by using the following operation:
    .CTZ (X) = (PREC - 1) - .CLZ (X & -X)

    Instead, this patch expands CTZ to RBIT + CLZ for SVE, as suggested in
PR109498.

    The patch was bootstrapped and regtested on aarch64-linux-gnu, no
regression.
    OK for mainline?

    Signed-off-by: Soumya AR <soum...@nvidia.com>

    gcc/ChangeLog:
            PR target/109498
            * config/aarch64/aarch64-sve.md (ctz<mode>2): Added pattern to
expand
            CTZ to RBIT + CLZ for SVE.

    gcc/testsuite/ChangeLog:
            PR target/109498
            * gcc.target/aarch64/sve/ctz.c: New test.

Reply via email to