cypress.md revision 1.1.1.3 1 1.1 mrg ;; Scheduling description for SPARC Cypress.
2 1.1.1.3 mrg ;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
3 1.1 mrg ;;
4 1.1 mrg ;; This file is part of GCC.
5 1.1 mrg ;;
6 1.1 mrg ;; GCC is free software; you can redistribute it and/or modify
7 1.1 mrg ;; it under the terms of the GNU General Public License as published by
8 1.1 mrg ;; the Free Software Foundation; either version 3, or (at your option)
9 1.1 mrg ;; any later version.
10 1.1 mrg ;;
11 1.1 mrg ;; GCC is distributed in the hope that it will be useful,
12 1.1 mrg ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 1.1 mrg ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 1.1 mrg ;; GNU General Public License for more details.
15 1.1 mrg ;;
16 1.1 mrg ;; You should have received a copy of the GNU General Public License
17 1.1 mrg ;; along with GCC; see the file COPYING3. If not see
18 1.1 mrg ;; <http://www.gnu.org/licenses/>.
19 1.1 mrg
20 1.1 mrg ;; The Cypress is a pretty simple single-issue processor.
21 1.1 mrg
22 1.1 mrg (define_automaton "cypress_0,cypress_1")
23 1.1 mrg
24 1.1 mrg (define_cpu_unit "cyp_memory, cyp_fpalu" "cypress_0")
25 1.1 mrg (define_cpu_unit "cyp_fpmds" "cypress_1")
26 1.1 mrg
27 1.1 mrg (define_insn_reservation "cyp_load" 2
28 1.1 mrg (and (eq_attr "cpu" "cypress")
29 1.1 mrg (eq_attr "type" "load,sload,fpload"))
30 1.1 mrg "cyp_memory, nothing")
31 1.1 mrg
32 1.1 mrg (define_insn_reservation "cyp_fp_alu" 5
33 1.1 mrg (and (eq_attr "cpu" "cypress")
34 1.1 mrg (eq_attr "type" "fp,fpmove"))
35 1.1 mrg "cyp_fpalu, nothing*3")
36 1.1 mrg
37 1.1 mrg (define_insn_reservation "cyp_fp_mult" 7
38 1.1 mrg (and (eq_attr "cpu" "cypress")
39 1.1 mrg (eq_attr "type" "fpmul"))
40 1.1 mrg "cyp_fpmds, nothing*5")
41 1.1 mrg
42 1.1 mrg (define_insn_reservation "cyp_fp_div" 37
43 1.1 mrg (and (eq_attr "cpu" "cypress")
44 1.1 mrg (eq_attr "type" "fpdivs,fpdivd"))
45 1.1 mrg "cyp_fpmds, nothing*35")
46 1.1 mrg
47 1.1 mrg (define_insn_reservation "cyp_fp_sqrt" 63
48 1.1 mrg (and (eq_attr "cpu" "cypress")
49 1.1 mrg (eq_attr "type" "fpsqrts,fpsqrtd"))
50 1.1 mrg "cyp_fpmds, nothing*61")
51