diff options
Diffstat (limited to 'gcc/config/rs6000/power5.md')
-rw-r--r-- | gcc/config/rs6000/power5.md | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/rs6000/power5.md b/gcc/config/rs6000/power5.md index 4ebb6cf28d3..5df009e4520 100644 --- a/gcc/config/rs6000/power5.md +++ b/gcc/config/rs6000/power5.md @@ -167,7 +167,7 @@ ; Integer latency is 2 cycles (define_insn_reservation "power5-integer" 2 (and (ior (eq_attr "type" "integer,trap,cntlz,exts,isel,popcnt") - (and (eq_attr "type" "shift") + (and (eq_attr "type" "add,shift") (eq_attr "dot" "no")) (and (eq_attr "type" "insert") (eq_attr "size" "64"))) @@ -203,7 +203,9 @@ "du1_power5+du2_power5,iu1_power5,nothing,iu2_power5") (define_insn_reservation "power5-cmp" 3 - (and (eq_attr "type" "cmp,fast_compare") + (and (ior (eq_attr "type" "cmp,fast_compare") + (and (eq_attr "type" "add") + (eq_attr "dot" "yes"))) (eq_attr "cpu" "power5")) "iq_power5") |