From c9b1c957b1de8d3f3754b4069ad17bae9d182943 Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Tue, 10 Sep 2013 13:55:38 +0000 Subject: [PATCH] [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. From-SVN: r202448 --- gcc/ChangeLog | 7 +++++++ gcc/config/aarch64/aarch64-generic.md | 6 ++++-- gcc/config/aarch64/aarch64.md | 8 ++++++++ 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 + + * 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 * 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") -- 2.11.4.GIT