diff options
Diffstat (limited to 'gcc/config/rs6000/e6500.md')
-rw-r--r-- | gcc/config/rs6000/e6500.md | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/rs6000/e6500.md b/gcc/config/rs6000/e6500.md index 609d5641a37..15dfc9ca4c0 100644 --- a/gcc/config/rs6000/e6500.md +++ b/gcc/config/rs6000/e6500.md @@ -60,13 +60,17 @@ ;; SFX. (define_insn_reservation "e6500_sfx" 1 (and (ior (eq_attr "type" "integer,insert,cntlz,exts") + (and (eq_attr "type" "add") + (eq_attr "dot" "no")) (and (eq_attr "type" "shift") (eq_attr "var_shift" "no"))) (eq_attr "cpu" "ppce6500")) "e6500_decode,e6500_sfx") (define_insn_reservation "e6500_sfx2" 2 - (and (eq_attr "type" "cmp,compare,fast_compare,trap") + (and (ior (eq_attr "type" "cmp,compare,fast_compare,trap") + (and (eq_attr "type" "add") + (eq_attr "dot" "yes"))) (eq_attr "cpu" "ppce6500")) "e6500_decode,e6500_sfx") |