diff options
Diffstat (limited to 'gcc/config/rs6000/titan.md')
| -rw-r--r-- | gcc/config/rs6000/titan.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/rs6000/titan.md b/gcc/config/rs6000/titan.md index 7443d7c..cb284ff 100644 --- a/gcc/config/rs6000/titan.md +++ b/gcc/config/rs6000/titan.md @@ -34,7 +34,9 @@ ;; instructions. It provides its own, dedicated result-bus, so we ;; don't need the titan_fxu_wb reservation to complete. (define_insn_reservation "titan_fxu_adder" 1 - (and (eq_attr "type" "cmp,fast_compare,trap") + (and (ior (eq_attr "type" "cmp,fast_compare,trap") + (and (eq_attr "type" "add") + (eq_attr "dot" "yes"))) (eq_attr "cpu" "titan")) "titan_issue,titan_fxu_sh") @@ -72,7 +74,9 @@ "titan_issue,titan_fxu_sh") (define_insn_reservation "titan_fxu_alu" 1 - (and (eq_attr "type" "integer,exts") + (and (ior (eq_attr "type" "integer,exts") + (and (eq_attr "type" "add") + (eq_attr "dot" "no"))) (eq_attr "cpu" "titan")) "titan_issue,titan_fxu_sh,nothing,titan_fxu_wb") |
