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

--- Comment #2 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:e09007308c96a036a4a4e6fd4d6c09442b4c4420

commit r14-5881-ge09007308c96a036a4a4e6fd4d6c09442b4c4420
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Mon Nov 27 14:44:02 2023 +0000

    aarch64: Remove redundant zeroing/merging in SVE intrinsics [PR106326]

    Many predicated SVE intrinsics provide three forms of predication:
    zeroing, merging, and any/dont-care.  All three are equivalent when
    the predicate is all-true, so this patch drops the zeroing and
    merging in that case.

    gcc/
            PR target/106326
            * config/aarch64/aarch64-sve-builtins.h (is_ptrue): Declare.
            * config/aarch64/aarch64-sve-builtins.cc (is_ptrue): New function.
            (gimple_folder::redirect_pred_x): Likewise.
            (gimple_folder::fold): Use it.

    gcc/testsuite/
            PR target/106326
            * gcc.target/aarch64/sve/acle/general/pr106326_1.c: New test.

Reply via email to