sparc.md (cpu attr): Add all cpu variants.
authorDoug Evans <dje@gnu.org>
Tue, 20 Feb 1996 00:17:54 +0000 (00:17 +0000)
committerDoug Evans <dje@gnu.org>
Tue, 20 Feb 1996 00:17:54 +0000 (00:17 +0000)
* sparc/sparc.md (cpu attr): Add all cpu variants.
(negtf2,negdf2,abstf2,absdf2): Use isa attr, not arch attr in
determining insn lengths.

From-SVN: r11321

gcc/config/sparc/sparc.md

index 5f41d95..cb662e7 100644 (file)
 ;; constraint letter is 'e'.  To avoid any confusion, 'e' is used instead of
 ;; 'f' for all DF/TFmode values, including those that are specific to the v8.
 
+;; Attribute for cpu type.
+;; These must match those in sparc.h.
+(define_attr "cpu" "common,cypress,v8,supersparc,sparclite,sparclet,v9,ultrasparc"
+  (const (symbol_ref "sparc_cpu")))
+
 ;; Attribute for the instruction set.
 ;; At present we only need to distinguish v9/!v9, but for clarity we
 ;; test TARGET_V8 too.
   (cond [(symbol_ref "TARGET_ARCH64") (const_string "arch64bit")]
        (const_string "arch32bit"))))
 
-;; CPU type.  This is only used for instruction scheduling.
-(define_attr "cpu" "cypress,supersparc"
- (const
-  (cond [(symbol_ref "TARGET_SUPERSPARC") (const_string "supersparc")]
-       (const_string "cypress"))))
-
 ;; Insn type.  Used to default other attribute values.
 
 ;; type "unary" insns have one input operand (1) and one output operand (0)
   [(set_attr "type" "fp")
    (set_attr_alternative "length"
      [(const_int 1)
-      (if_then_else (eq_attr "arch" "arch32bit") (const_int 4) (const_int 1))])])
+      (if_then_else (eq_attr "isa" "v9") (const_int 1) (const_int 4))])])
 
 (define_insn "negdf2"
   [(set (match_operand:DF 0 "register_operand" "=e,e")
   [(set_attr "type" "fp")
    (set_attr_alternative "length"
      [(const_int 1)
-      (if_then_else (eq_attr "arch" "arch32bit") (const_int 2) (const_int 1))])])
+      (if_then_else (eq_attr "isa" "v9") (const_int 1) (const_int 2))])])
 
 (define_insn "negsf2"
   [(set (match_operand:SF 0 "register_operand" "=f")
   [(set_attr "type" "fp")
    (set_attr_alternative "length"
      [(const_int 1)
-      (if_then_else (eq_attr "arch" "arch32bit") (const_int 4) (const_int 1))])])
+      (if_then_else (eq_attr "isa" "v9") (const_int 1) (const_int 4))])])
 
 (define_insn "absdf2"
   [(set (match_operand:DF 0 "register_operand" "=e,e")
   [(set_attr "type" "fp")
    (set_attr_alternative "length"
      [(const_int 1)
-      (if_then_else (eq_attr "arch" "arch32bit") (const_int 2) (const_int 1))])])
+      (if_then_else (eq_attr "isa" "v9") (const_int 1) (const_int 2))])])
 
 (define_insn "abssf2"
   [(set (match_operand:SF 0 "register_operand" "=f")