OSDN Git Service

* config/mips/mips.md (dslot): Move after definition of "cpu"
authorgavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 May 1998 08:41:11 +0000 (08:41 +0000)
committergavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 May 1998 08:41:11 +0000 (08:41 +0000)
attribute.  Handle r3900 case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19697 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mips/mips.md

index d225d2e..ef57271 100644 (file)
@@ -1,3 +1,8 @@
+Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.md (dslot): Move after definition of "cpu"
+       attribute.  Handle r3900 case.
+
 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * system.h: Define the STRINGIFY macro here.
index 37b0519..4155dd1 100644 (file)
 ;; # instructions (4 bytes each)
 (define_attr "length" "" (const_int 1))
 
-;; whether or not an instruction has a mandatory delay slot
-(define_attr "dslot" "no,yes"
-  (if_then_else (ior (eq_attr "type" "branch,jump,call,xfer,hilo,fcmp")
-                    (and (eq_attr "type" "load")
-                         (and (eq (symbol_ref "mips_isa") (const_int 1))
-                                  (eq (symbol_ref "mips16") (const_int 0)))))
-               (const_string "yes")
-               (const_string "no")))
-
 ;; Attribute describing the processor.  This attribute must match exactly
 ;; with the processor_type enumeration in mips.h.
 
   "default,r3000,r3900,r6000,r4000,r4100,r4300,r4600,r4650,r5000,r8000"
   (const (symbol_ref "mips_cpu_attr")))
 
+;; Does the instruction have a mandatory delay slot?
+;;   The 3900, is (mostly) mips1, but does not have a manditory load delay
+;;   slot. 
+(define_attr "dslot" "no,yes"
+  (if_then_else (ior (eq_attr "type" "branch,jump,call,xfer,hilo,fcmp")
+                    (and (eq_attr "type" "load")
+                         (and (eq (symbol_ref "mips_isa") (const_int 1))
+                              (and (eq (symbol_ref "mips16") (const_int 0))
+                                    (eq_attr "cpu" "!r3900")))))
+               (const_string "yes")
+               (const_string "no")))
+
 ;; Attribute defining whether or not we can use the branch-likely instructions
 
 (define_attr "branch_likely" "no,yes"