This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64] Implement vector float->double widening and double->float narrowing.


On 26 April 2013 14:25, James Greenhalgh <james.greenhalgh@arm.com> wrote:
>
> Hi,
>
> gcc.dg/vect/vect-float-truncate-1.c and
> gcc.dg/vect/vect-float-extend-1.c
>
> Were failing because widening and narrowing of floats to doubles was
> not wired up.
>
> This patch fixes that by implementing the standard names:
>
> vec_pack_trunc_v2df
> Taking two vectors of V2DFmode and returning one vector of V4SF mode.
>
> `vec_unpacks_float_hi_v4sf', `vec_unpacks_float_lo_v4sf'
> Taking one vector of V4SF mode and splitting it to two vectors of V2DF mode.
>
> Patch regression tested on aarch64-none-elf with no regressions,
> and shown to fix the bug.
>
> Thanks,
> James
> ---
> gcc/
>
> 2013-04-26  James Greenhalgh  <james.greenhalgh@arm.com>
>
>         * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi_): New.
>         (float_truncate_hi_): Likewise.
>         (float_extend_lo_): Likewise.
>         (float_truncate_lo_): Likewise.
>         * config/aarch64/aarch64-simd.md (vec_unpacks_lo_v4sf): New.
>         (aarch64_float_extend_lo_v2df): Likewise.
>         (vec_unpacks_hi_v4sf): Likewise.
>         (aarch64_float_truncate_lo_v2sf): Likewise.
>         (aarch64_float_truncate_hi_v4sf): Likewise.
>         (vec_pack_trunc_v2df): Likewise.
>         (vec_pack_trunc_df): Likewise.

OK
/Marcus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]