summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/601.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/601.md')
-rw-r--r--gcc/config/rs6000/601.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/rs6000/601.md b/gcc/config/rs6000/601.md
index 85892c88006..f6eca7dc2e0 100644
--- a/gcc/config/rs6000/601.md
+++ b/gcc/config/rs6000/601.md
@@ -45,8 +45,9 @@
"iu_ppc601+fpu_ppc601")
(define_insn_reservation "ppc601-integer" 1
- (and (eq_attr "type" "integer,insert,shift,\
- trap,var_shift_rotate,cntlz,exts,isel")
+ (and (ior (eq_attr "type" "integer,insert,trap,cntlz,exts,isel")
+ (and (eq_attr "type" "shift")
+ (eq_attr "dot" "no")))
(eq_attr "cpu" "ppc601"))
"iu_ppc601")
@@ -73,8 +74,9 @@
; compare executes on integer unit, but feeds insns which
; execute on the branch unit.
(define_insn_reservation "ppc601-compare" 3
- (and (eq_attr "type" "cmp,compare,delayed_compare,\
- var_delayed_compare")
+ (and (ior (eq_attr "type" "cmp,compare")
+ (and (eq_attr "type" "shift")
+ (eq_attr "dot" "yes")))
(eq_attr "cpu" "ppc601"))
"iu_ppc601,nothing,bpu_ppc601")