[AArch64] Prevent generic pipeline description from dominating other pipeline descrip...
authorJames Greenhalgh <james.greenhalgh@arm.com>
Tue, 10 Sep 2013 13:55:38 +0000 (13:55 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Tue, 10 Sep 2013 13:55:38 +0000 (13:55 +0000)
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
gcc/config/aarch64/aarch64-generic.md
gcc/config/aarch64/aarch64.md

index 5979c51ed8e4857ecf5a1e3e3b1d15d14768f6dd..707ece6f6ea78db059eab676f7fd1b13828697d0 100644 (file)
@@ -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.
index cbb75600389efe69f16dd30837ad02b2b254232e..12faac84348c72c44c1c144d268ea9751a0665ac 100644 (file)
        (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")
index 0cd7da7a3991dc1b1ffd72b06ad38f4f6898e328..797c9f422c43cb17e79aec56f1a1feebeddef94b 100644 (file)
 ;; 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")