diff options
Diffstat (limited to 'gcc/config/rs6000/e6500.md')
-rw-r--r-- | gcc/config/rs6000/e6500.md | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/rs6000/e6500.md b/gcc/config/rs6000/e6500.md index 52565d9727e..609d5641a37 100644 --- a/gcc/config/rs6000/e6500.md +++ b/gcc/config/rs6000/e6500.md @@ -59,8 +59,9 @@ ;; SFX. (define_insn_reservation "e6500_sfx" 1 - (and (eq_attr "type" "integer,insert,delayed_compare,\ - shift,cntlz,exts") + (and (ior (eq_attr "type" "integer,insert,cntlz,exts") + (and (eq_attr "type" "shift") + (eq_attr "var_shift" "no"))) (eq_attr "cpu" "ppce6500")) "e6500_decode,e6500_sfx") @@ -70,7 +71,8 @@ "e6500_decode,e6500_sfx") (define_insn_reservation "e6500_delayed" 2 - (and (eq_attr "type" "var_shift_rotate,var_delayed_compare") + (and (eq_attr "type" "shift") + (eq_attr "var_shift" "yes") (eq_attr "cpu" "ppce6500")) "e6500_decode,e6500_sfx*2") |