aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2013-09-10 13:55:38 +0000
committerJames Greenhalgh <james.greenhalgh@arm.com>2013-09-10 13:55:38 +0000
commit315e6924f2a969867b08d5cfde47632721d36ef5 (patch)
tree483e4e1dbb2255bcda013124a911e1299d375a4c
parentc99d8b787c57279853ff3e8c21036331b79b748b (diff)
[AArch64] Prevent generic pipeline description from dominating other pipeline descriptions.
gcc/ * config/aarch64/aarch64.md (generic_sched): New. * config/aarch64/aarch64-generic.md (load): Make conditional on generic_sched attribute. (nonload): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@202448 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/aarch64/aarch64-generic.md6
-rw-r--r--gcc/config/aarch64/aarch64.md8
3 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5979c51ed8e..707ece6f6ea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2013-09-10 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.md (generic_sched): New.
+ * config/aarch64/aarch64-generic.md (load): Make conditional
+ on generic_sched attribute.
+ (nonload): Likewise.
+
2013-09-10 Jan Hubicka <jh@suse.cz>
* lto-cgraph.c: Include ipa-utils.h.
diff --git a/gcc/config/aarch64/aarch64-generic.md b/gcc/config/aarch64/aarch64-generic.md
index cbb75600389..12faac84348 100644
--- a/gcc/config/aarch64/aarch64-generic.md
+++ b/gcc/config/aarch64/aarch64-generic.md
@@ -30,9 +30,11 @@
(const_string "no")))
(define_insn_reservation "load" 2
- (eq_attr "is_load" "yes")
+ (and (eq_attr "generic_sched" "yes")
+ (eq_attr "is_load" "yes"))
"core")
(define_insn_reservation "nonload" 1
- (eq_attr "is_load" "no")
+ (and (eq_attr "generic_sched" "yes")
+ (eq_attr "is_load" "no"))
"core")
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 0cd7da7a399..797c9f422c4 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -308,6 +308,14 @@
;; Processor types.
(include "aarch64-tune.md")
+;; True if the generic scheduling description should be used.
+
+(define_attr "generic_sched" "yes,no"
+ (const (if_then_else
+ (eq_attr "tune" "large,small,cortexa53")
+ (const_string "no")
+ (const_string "yes"))))
+
;; Scheduling
(include "aarch64-generic.md")
(include "large.md")