aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/e5500.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/e5500.md')
-rw-r--r--gcc/config/rs6000/e5500.md6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/rs6000/e5500.md b/gcc/config/rs6000/e5500.md
index edd0ef5..6ca86d7 100644
--- a/gcc/config/rs6000/e5500.md
+++ b/gcc/config/rs6000/e5500.md
@@ -57,13 +57,17 @@
;; SFX.
(define_insn_reservation "e5500_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" "ppce5500"))
"e5500_decode,e5500_sfx")
(define_insn_reservation "e5500_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" "ppce5500"))
"e5500_decode,e5500_sfx")