This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [AArch64] Map fcvt intrinsics to builtin name directly.
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: James Greenhalgh <james dot greenhalgh at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Date: Mon, 29 Apr 2013 10:51:21 +0100
- Subject: Re: [AArch64] Map fcvt intrinsics to builtin name directly.
- References: <1366981942-21584-1-git-send-email-james dot greenhalgh at arm dot com>
On 26 April 2013 14:12, James Greenhalgh <james.greenhalgh@arm.com> wrote:
>
> Hi,
>
> This patch uses the new builtin-mapping infrastructure
> to map the fcvt family of builtins directly to their
> GCC standard pattern name.
>
> Regression tested on aarch64-none-elf with no regressions.
>
> Thanks,
> James
>
> ---
> gcc/
>
> 2013-04-26 James Greenhalgh <james.greenhalgh@arm.com>
>
> * config/aarch64/aarch64-builtins.c
> (aarch64_builtin_vectorized_function): Use new names for
> fcvt builtins.
> * config/aarch64/aarch64-simd-builtins.def (fcvtzs): Split as...
> (lbtruncv2sf, lbtruncv4sf, lbtruncv2df): ...This.
> (fcvtzu): Split as...
> (lbtruncuv2sf, lbtruncuv4sf, lbtruncuv2df): ...This.
> (fcvtas): Split as...
> (lroundv2sf, lroundv4sf, lroundv2df, lroundsf, lrounddf): ...This.
> (fcvtau): Split as...
> (lrounduv2sf, lrounduv4sf, lrounduv2df, lroundusf, lroundudf): ...This.
> (fcvtps): Split as...
> (lceilv2sf, lceilv4sf, lceilv2df): ...This.
> (fcvtpu): Split as...
> (lceiluv2sf, lceiluv4sf, lceiluv2df, lceilusf, lceiludf): ...This.
> (fcvtms): Split as...
> (lfloorv2sf, lfloorv4sf, lfloorv2df): ...This.
> (fcvtmu): Split as...
> (lflooruv2sf, lflooruv4sf, lflooruv2df, lfloorusf, lfloorudf): ...This.
> (lfrintnv2sf, lfrintnv4sf, lfrintnv2df, lfrintnsf, lfrintndf): New.
> (lfrintnuv2sf, lfrintnuv4sf, lfrintnuv2df): Likewise.
> (lfrintnusf, lfrintnudf): Likewise.
> * config/aarch64/aarch64-simd.md
> (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Convert to
> define_insn.
> (aarch64_fcvt<frint_suffix><su><mode>): Remove.
> * config/aarch64/iterators.md (FCVT): Include UNSPEC_FRINTN.
> (fcvt_pattern): Likewise.
OK
/Marcus