This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 3a/4][AArch64] Add attribute for compatibility with ARM pipeline models
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Evandro Menezes <e dot menezes at samsung dot com>
- Cc: "'gcc-patches'" <gcc-patches at gcc dot gnu dot org>, "'Marcus Shawcroft'" <Marcus dot Shawcroft at arm dot com>, "'Kyrill Tkachov'" <kyrylo dot tkachov at arm dot com>, Andrew Pinski <pinskia at gmail dot com>
- Date: Fri, 20 Nov 2015 16:16:29 +0000
- Subject: Re: [PATCH 3a/4][AArch64] Add attribute for compatibility with ARM pipeline models
- Authentication-results: sourceware.org; auth=none
- References: <001b01d1110d$0008f890$001ae9b0$ at samsung dot com> <563A9040 dot 60805 at samsung dot com> <563BE6A5 dot 5090708 at samsung dot com> <564126EE dot 3050100 at samsung dot com> <56422E54 dot 6090404 at samsung dot com> <20151112145511 dot GB23419 at arm dot com> <5644B2C0 dot 3090302 at samsung dot com> <5644CD34 dot 2040601 at samsung dot com> <20151120122715 dot GA29264 at arm dot com> <564F4271 dot 4070704 at samsung dot com>
On Fri, Nov 20, 2015 at 09:55:29AM -0600, Evandro Menezes wrote:
> On 11/20/2015 06:27 AM, James Greenhalgh wrote:
> >On Thu, Nov 12, 2015 at 11:32:36AM -0600, Evandro Menezes wrote:
> >>On 11/12/2015 09:39 AM, Evandro Menezes wrote:
> >> 2015-11-12 Evandro Menezes <e.menezes@samsung.com>
> >>
> >> [AArch64] Add attribute for compatibility with ARM pipeline models
> >>
> >> gcc/
> >>
> >> * config/aarch64/aarch64.md (predicated): Copy attribute from
> >> "arm.md".
> >> * config/arm/arm.md (predicated): Added description.
> >>
> >>Please, commit if it's alright.
> >The AArch64 part of this is OK.
> >
> >> From 3fa6a2bca8f3d2992b4607cff0afcc2d9caa96f4 Mon Sep 17 00:00:00 2001
> >>From: Evandro Menezes <e.menezes@samsung.com>
> >>Date: Mon, 9 Nov 2015 17:11:16 -0600
> >>Subject: [PATCH 1/2] [AArch64] Add attribute for compatibility with ARM
> >> pipeline models
> >>
> >>gcc/
> >> * config/aarch64/aarch64.md (predicated): Copy attribute from "arm.md".
> >> * config/arm/arm.md (predicated): Added description.
> >>---
> >> gcc/config/aarch64/aarch64.md | 4 ++++
> >> gcc/config/arm/arm.md | 3 +++
> >> 2 files changed, 7 insertions(+)
> >>
> >>diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
> >>index 1586256..d46f837 100644
> >>--- a/gcc/config/aarch64/aarch64.md
> >>+++ b/gcc/config/aarch64/aarch64.md
> >>@@ -195,6 +195,10 @@
> >> ;; 1 :=: yes
> >> (define_attr "far_branch" "" (const_int 0))
> >>+;; Strictly for compatibility with AArch32 in pipeline models, since AArch64 has
> >>+;; no predicated insns.
> >>+(define_attr "predicated" "yes,no" (const_string "no"))
> >>+
> >> ;; -------------------------------------------------------------------
> >> ;; Pipeline descriptions and scheduling
> >> ;; -------------------------------------------------------------------
> >>diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
> >>index 73c3088..6bda491 100644
> >>--- a/gcc/config/arm/arm.md
> >>+++ b/gcc/config/arm/arm.md
> >>@@ -105,6 +105,9 @@
> >> (define_attr "fpu" "none,vfp"
> >> (const (symbol_ref "arm_fpu_attr")))
> >>+; Predicated means that the insn form is conditionally executed based on a
> >>+; predicate. We default to 'no' because no Thumb patterns match this rule
> >>+; and not all ARM insns do.
> >s/is conditionally executed/can be conditionally executed/ in the first
> >sentence. Otherwise, this looks OK to me but I can't approve the ARM part,
> >so you'll need to wait for a review from someone who can.
> >
> >> (define_attr "predicated" "yes,no" (const_string "no"))
> >> ; LENGTH of an instruction (in bytes)
> >>--
> >>2.1.0.243.g30d45f7
>
> Actually, that would then be the existing description for the
> "predicable" attribute. I think that this proposed description is
> correct for the "predicated" attribute.
Right, understood, that will teach me to pattern match up to pred and stop
reading the word.
This is fine, I've committed it on your behalf as r230666
Thanks,
James