OK
/Marcus

On 30 April 2013 16:42, James Greenhalgh <james.greenha...@arm.com> wrote:
>
> Hi,
>
> This patch refactors the reduc_<su>plus RTL patterns in the
> AArch64 back-end. We do this to provide a more uniform
> interface for arm_neon.h builtins. Because of this we can rewrite
> the intrinsics in arm_neon.h to use these standard pattern names,
> and allow the signed varients to fold to tree where appropriate.
>
> Patch regression tested on aarch64-none-elf with no regressions.
>
> Thanks,
> James
>
> ---
> gcc/
>
> 2013-04-30  James Greenhalgh  <james.greenha...@arm.com>
>
>         * config/aarch64/aarch64-builtins.c
>         (aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
>         * config/aarch64/aarch64-simd-builtins.def
>         (reduc_splus_): Add new modes.
>         (reduc_uplus_): New.
>         * config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
>         (reduc_uplus_v4sf): Likewise.
>         (reduc_splus_v4sf): Likewise.
>         (aarch64_addv<mode>): Likewise.
>         (reduc_uplus_<mode>): Likewise.
>         (reduc_splus_<mode>): Likewise.
>         (aarch64_addvv2di): Likewise.
>         (reduc_uplus_v2di): Likewise.
>         (reduc_splus_v2di): Likewise.
>         (aarch64_addvv2si): Likewise.
>         (reduc_uplus_v2si): Likewise.
>         (reduc_splus_v2si): Likewise.
>         (reduc_<sur>plus_<mode>): New.
>         (reduc_<sur>plus_v2di): Likewise.
>         (reduc_<sur>plus_v2si): Likewise.
>         (reduc_<sur>plus_v4sf): Likewise.
>         (aarch64_addpv4sf): Likewise.
>         * config/aarch64/arm_neon.h
>         (vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
>         * config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
>         add UNSPEC_SADDV, UNSPEC_UADDV.
>         (SUADDV): New.
>         (sur): Add UNSPEC_SADDV, UNSPEC_UADDV.
>
> gcc/testsuite/
>
> 2013-04-30  James Greenhalgh  <james.greenha...@arm.com>
>
>         * gcc.target/aarch64/vect-vaddv.c: New.

Reply via email to