From 4adcec7131cec4d05ca9917e2691483c3e1299f9 Mon Sep 17 00:00:00 2001 From: Evandro Menezes Date: Fri, 20 Nov 2015 16:15:57 +0000 Subject: [PATCH] [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. From-SVN: r230666 --- gcc/ChangeLog | 6 ++++++ gcc/config/aarch64/aarch64.md | 4 ++++ gcc/config/arm/arm.md | 3 +++ 3 files changed, 13 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a16d09c0a4e..33e4f41ca3f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-11-20 Evandro Menezes + + * config/aarch64/aarch64.md (predicated): Copy attribute from + "arm.md". + * config/arm/arm.md (predicated): Added description. + 2015-11-20 Kyrylo Tkachov * config/arm/arm.c (arm_option_override): Require TARGET_32BIT diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 1586256dd34..d46f837df7f 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 effe7eb799d..5782b357aa2 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. (define_attr "predicated" "yes,no" (const_string "no")) ; LENGTH of an instruction (in bytes) -- 2.30.2