1117395Skan;; Scheduling description for SPARC Cypress.
2117395Skan;;   Copyright (C) 2002 Free Software Foundation, Inc.
3117395Skan;;
4132718Skan;; This file is part of GCC.
5117395Skan;;
6132718Skan;; GCC is free software; you can redistribute it and/or modify
7117395Skan;; it under the terms of the GNU General Public License as published by
8117395Skan;; the Free Software Foundation; either version 2, or (at your option)
9117395Skan;; any later version.
10117395Skan;;
11132718Skan;; GCC is distributed in the hope that it will be useful,
12117395Skan;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13117395Skan;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14117395Skan;; GNU General Public License for more details.
15117395Skan;;
16117395Skan;; You should have received a copy of the GNU General Public License
17132718Skan;; along with GCC; see the file COPYING.  If not, write to
18169689Skan;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
19169689Skan;; Boston, MA 02110-1301, USA.
20117395Skan
21117395Skan;; The Cypress is a pretty simple single-issue processor.
22117395Skan
23117395Skan(define_automaton "cypress_0,cypress_1")
24117395Skan
25117395Skan(define_cpu_unit "cyp_memory, cyp_fpalu" "cypress_0")
26117395Skan(define_cpu_unit "cyp_fpmds" "cypress_1")
27117395Skan
28117395Skan(define_insn_reservation "cyp_load" 2
29117395Skan  (and (eq_attr "cpu" "cypress")
30117395Skan    (eq_attr "type" "load,sload,fpload"))
31117395Skan  "cyp_memory, nothing")
32117395Skan
33117395Skan(define_insn_reservation "cyp_fp_alu" 5
34117395Skan  (and (eq_attr "cpu" "cypress")
35117395Skan    (eq_attr "type" "fp,fpmove"))
36117395Skan  "cyp_fpalu, nothing*3")
37117395Skan
38117395Skan(define_insn_reservation "cyp_fp_mult" 7
39117395Skan  (and (eq_attr "cpu" "cypress")
40117395Skan    (eq_attr "type" "fpmul"))
41117395Skan  "cyp_fpmds, nothing*5")
42117395Skan
43117395Skan(define_insn_reservation "cyp_fp_div" 37
44117395Skan  (and (eq_attr "cpu" "cypress")
45117395Skan    (eq_attr "type" "fpdivs,fpdivd"))
46117395Skan  "cyp_fpmds, nothing*35")
47117395Skan
48117395Skan(define_insn_reservation "cyp_fp_sqrt" 63
49117395Skan  (and (eq_attr "cpu" "cypress")
50117395Skan    (eq_attr "type" "fpsqrts,fpsqrtd"))
51117395Skan  "cyp_fpmds, nothing*61")
52