aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/sb1.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/mips/sb1.md')
-rw-r--r--gcc/config/mips/sb1.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/config/mips/sb1.md b/gcc/config/mips/sb1.md
index 620de13..c831a47 100644
--- a/gcc/config/mips/sb1.md
+++ b/gcc/config/mips/sb1.md
@@ -435,6 +435,40 @@
(eq_attr "sb1_fp_pipes" "one"))))
"sb1_fp1")
+;; ??? Can deliver at most 1 result per every 3 cycles because of issue
+;; restrictions.
+
+(define_insn_reservation "ir_sb1_recipsf_2pipes" 12
+ (and (eq_attr "cpu" "sb1")
+ (and (eq_attr "type" "frdiv")
+ (and (eq_attr "mode" "SF")
+ (eq_attr "sb1_fp_pipes" "two"))))
+ "sb1_fp1 | sb1_fp0")
+
+(define_insn_reservation "ir_sb1_recipsf_1pipe" 12
+ (and (eq_attr "cpu" "sb1")
+ (and (eq_attr "type" "frdiv")
+ (and (eq_attr "mode" "SF")
+ (eq_attr "sb1_fp_pipes" "one"))))
+ "sb1_fp1")
+
+;; ??? Can deliver at most 1 result per every 5 cycles because of issue
+;; restrictions.
+
+(define_insn_reservation "ir_sb1_recipdf_2pipes" 20
+ (and (eq_attr "cpu" "sb1")
+ (and (eq_attr "type" "frdiv")
+ (and (eq_attr "mode" "DF")
+ (eq_attr "sb1_fp_pipes" "two"))))
+ "sb1_fp1 | sb1_fp0")
+
+(define_insn_reservation "ir_sb1_recipdf_1pipe" 20
+ (and (eq_attr "cpu" "sb1")
+ (and (eq_attr "type" "frdiv")
+ (and (eq_attr "mode" "DF")
+ (eq_attr "sb1_fp_pipes" "one"))))
+ "sb1_fp1")
+
;; ??? Can deliver at most 1 result per every 7 cycles because of issue
;; restrictions.