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
This commit is contained in:
Eric Botcazou 2015-06-30 11:05:11 +00:00 committed by Eric Botcazou
parent 8a36714a1b
commit ce7623ba18
2 changed files with 13 additions and 3 deletions

View File

@ -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 ...

View File

@ -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