summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/e6500.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/e6500.md')
-rw-r--r--gcc/config/rs6000/e6500.md6
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")