This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 2/4 v2][AArch64] Add support for FCCMP
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Evandro Menezes <e dot menezes at samsung dot com>
- Cc: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>, James Greenhalgh <James dot Greenhalgh at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, nd <nd at arm dot com>
- Date: Tue, 5 Jan 2016 14:05:01 -0800
- Subject: Re: [PATCH 2/4 v2][AArch64] Add support for FCCMP
- Authentication-results: sourceware.org; auth=none
- References: <AM3PR08MB00888A3A9B83DA6250A5ED9183EE0 at AM3PR08MB0088 dot eurprd08 dot prod dot outlook dot com> <568C3D19 dot 908 at samsung dot com>
On Tue, Jan 5, 2016 at 2:00 PM, Evandro Menezes <e.menezes@samsung.com> wrote:
> Hi, Wilco.
>
> On 12/15/2015 04:32 AM, Wilco Dijkstra wrote:
>>>
>>> -----Original Message-----
>>> From: Wilco Dijkstra [mailto:Wilco.Dijkstra@arm.com]
>>> Sent: 17 November 2015 18:36
>>> To: gcc-patches@gcc.gnu.org
>>> Subject: [PATCH 2/4 v2][AArch64] Add support for FCCMP
>>>
>>> (v2 version removes 4 enums)
>>>
>>> This patch adds support for FCCMP. This is trivial with the new CCMP
>>> representation - remove the restriction of FP in ccmp.c and add
>>> FCCMP patterns. Add a test to ensure FCCMP/FCCMPE are emitted as
>>> expected.
>>>
>>> OK for commit?
>>>
>>> ChangeLog:
>>> 2015-11-18 Wilco Dijkstra <wdijkstr@arm.com>
>>>
>>> * gcc/ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
>>> * gcc/config/aarch64/aarch64.md (fccmp<mode>): New pattern.
>>> (fccmpe<mode>): Likewise.
>>> (fcmp): Rename to fcmp and globalize pattern.
>>> (fcmpe): Likewise.
>>> * gcc/config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP
>>> support.
>>> (aarch64_gen_ccmp_next): Add FP support.
>>>
>>> gcc/testsuite/
>>> * gcc.target/aarch64/ccmp_1.c: New testcase.
>
>
> Add support for the FCCMP insn types
>
> 2016-01-04 Evandro Menezes <e.menezes@samsung.com>
>
> gcc/
> * config/aarch64/aarch64.md (fccmp): Change insn type.
> (fccmpe): Likewise.
> * config/aarch64/thunderx.md (thunderx_fcmp): Add
> "fccmp{s,d}" types.
> * config/arm/types.md (fccmps): Add new insn type.
> (fccmpd): Likewise.
> * config/arm/arm1020e.md (v10_ffarith): Add "fccmp{s,d}" types.
> * config/arm/cortex-a17-neon.md (cortex_a17_vfp_cmp): Likewise.
> * config/arm/cortex-a5.md (cortex_a5_fpalu): Likewise.
> * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
> * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
> * config/arm/cortex-a7.md (cortex_a7_fpalu): Likewise.
> * config/arm/cortex-a8-neon.md (cortex_a8_vfp_farith):
> Likewise.
> * config/arm/cortex-a9.md (cortex_a9_fcmp): Likewise.
> * config/arm/cortex-m7.md (cortex_m7_fpalu): Likewise.
> * config/arm/marvell-pj4.md (pj4_vfp_cpy): Likewise.
> * config/arm/vfp11.md (vfp_ffarith): Likewise.
> * config/arm/xgene1.md (xgene1_fcmp): Likewise.
> * config/arm/cortex-a15-neon.md (cortex_a15_vfp_cmps): Add
> "fccmps"
> type.
> (cortex_a15_vfp_cmpd): Add "fccmpd" type.
> * config/arm/cortex-m4-fpu.md (cortex_m4_fcmps): Add
> "fccmps" type.
> * config/arm/cortex-r4f.md (cortex_r4_ffariths): Likewise.
> (cortex_r4_fcmpd): Add "fccmpd" type.
> * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn
> reservation.
>
> Here's what I had in mind when I inquired about distinguishing FCMP from
> FCCMP. As you can see in the patch, Exynos is the only target that cares
> about it, but I wonder if ThunderX or Xgene would too.
For ThunderX, FCCMP and FCMP have both the same latency and executed
on the same pipeline so ThunderX does not care about the difference
between those two.
Thanks,
Andrew
>
> What do you think?
>
> Thank you,
>
> --
> Evandro Menezes
>