aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2015-06-30 11:05:11 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-06-30 11:05:11 +0000
commitce7623ba183fe4554d73b353214439ae73834b4d (patch)
treeabe7c4b4f9ce8dcd4418fab8bb6e68ff0bdf7f0d
parent8a36714a1b9855a1a0d99fe162947258c7ecd674 (diff)
downloadgcc-ce7623ba183fe4554d73b353214439ae73834b4d.zip
gcc-ce7623ba183fe4554d73b353214439ae73834b4d.tar.gz
gcc-ce7623ba183fe4554d73b353214439ae73834b4d.tar.bz2
leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not specified.
* config/sparc/leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not specified. (leon3_load): Rename into... (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 is specified. From-SVN: r225173
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/sparc/leon.md8
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f2e14e..6a36140 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/leon.md (leon_load): Enable for all LEON variants if
+ -mfix-ut699 is not specified.
+ (leon3_load): Rename into...
+ (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
+ is specified.
+
2015-06-30 Marek Polacek <polacek@redhat.com>
* fold-const.c (fold_binary_loc): Move ~X | X folding ...
diff --git a/gcc/config/sparc/leon.md b/gcc/config/sparc/leon.md
index aca92fc..c579e39 100644
--- a/gcc/config/sparc/leon.md
+++ b/gcc/config/sparc/leon.md
@@ -24,12 +24,14 @@
(define_cpu_unit "leon_memory" "leon")
(define_insn_reservation "leon_load" 1
- (and (eq_attr "cpu" "leon") (eq_attr "type" "load,sload"))
+ (and (eq_attr "cpu" "leon,leon3,leon3v7")
+ (and (eq_attr "fix_ut699" "false") (eq_attr "type" "load,sload")))
"leon_memory")
;; Use a double reservation to work around the load pipeline hazard on UT699.
-(define_insn_reservation "leon3_load" 1
- (and (eq_attr "cpu" "leon3,leon3v7") (eq_attr "type" "load,sload"))
+(define_insn_reservation "ut699_load" 1
+ (and (eq_attr "cpu" "leon,leon3,leon3v7")
+ (and (eq_attr "fix_ut699" "true") (eq_attr "type" "load,sload")))
"leon_memory*2")
(define_insn_reservation "leon_store" 2