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: [PATCH 2/4 v2][AArch64] Add support for FCCMP


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
>


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