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

--- Comment #4 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:a2e4fe5a53cf75cd055f64e745ebd51253e42254

commit r15-697-ga2e4fe5a53cf75cd055f64e745ebd51253e42254
Author: Pengxuan Zheng <quic_pzh...@quicinc.com>
Date:   Mon May 13 10:47:10 2024 -0700

    aarch64: Fold vget_low_* intrinsics to BIT_FIELD_REF [PR102171]

    This patch folds vget_low_* intrinsics to BIT_FILED_REF to open up more
    optimization opportunities for gimple optimizers.

    While we are here, we also remove the vget_low_* definitions from
arm_neon.h and
    use the new intrinsics framework.

            PR target/102171

    gcc/ChangeLog:

            * config/aarch64/aarch64-builtins.cc
(AARCH64_SIMD_VGET_LOW_BUILTINS):
            New macro to create definitions for all vget_low intrinsics.
            (VGET_LOW_BUILTIN): Likewise.
            (enum aarch64_builtins): Add vget_low function codes.
            (aarch64_general_fold_builtin): Fold vget_low calls.
            * config/aarch64/aarch64-simd-builtins.def: Delete vget_low
builtins.
            * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Delete.
            (aarch64_vget_lo_halfv8bf): Likewise.
            * config/aarch64/arm_neon.h (__attribute__): Delete.
            (vget_low_f16): Likewise.
            (vget_low_f32): Likewise.
            (vget_low_f64): Likewise.
            (vget_low_p8): Likewise.
            (vget_low_p16): Likewise.
            (vget_low_p64): Likewise.
            (vget_low_s8): Likewise.
            (vget_low_s16): Likewise.
            (vget_low_s32): Likewise.
            (vget_low_s64): Likewise.
            (vget_low_u8): Likewise.
            (vget_low_u16): Likewise.
            (vget_low_u32): Likewise.
            (vget_low_u64): Likewise.
            (vget_low_bf16): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.target/aarch64/pr113573.c: Replace
__builtin_aarch64_get_lowv8hi
            with vget_low_s16.
            * gcc.target/aarch64/vget_low_2.c: New test.
            * gcc.target/aarch64/vget_low_2_be.c: New test.

    Signed-off-by: Pengxuan Zheng <quic_pzh...@quicinc.com>

Reply via email to