]>
Commit | Line | Data |
---|---|---|
56149abc | 1 | ;; Scheduling description for SPARClet. |
8d9254fc | 2 | ;; Copyright (C) 2002-2020 Free Software Foundation, Inc. |
a1d9bd0c | 3 | ;; |
4d8af13f | 4 | ;; This file is part of GCC. |
a1d9bd0c | 5 | ;; |
4d8af13f | 6 | ;; GCC is free software; you can redistribute it and/or modify |
a1d9bd0c | 7 | ;; it under the terms of the GNU General Public License as published by |
2f83c7d6 | 8 | ;; the Free Software Foundation; either version 3, or (at your option) |
a1d9bd0c DM |
9 | ;; any later version. |
10 | ;; | |
4d8af13f | 11 | ;; GCC is distributed in the hope that it will be useful, |
a1d9bd0c DM |
12 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;; GNU General Public License for more details. | |
15 | ;; | |
16 | ;; You should have received a copy of the GNU General Public License | |
2f83c7d6 NC |
17 | ;; along with GCC; see the file COPYING3. If not see |
18 | ;; <http://www.gnu.org/licenses/>. | |
a1d9bd0c | 19 | |
56149abc | 20 | ;; The SPARClet is a single-issue processor. |
a1d9bd0c DM |
21 | |
22 | (define_automaton "sparclet") | |
23 | ||
24 | (define_cpu_unit "sl_load0,sl_load1,sl_load2,sl_load3" "sparclet") | |
25 | (define_cpu_unit "sl_store,sl_imul" "sparclet") | |
26 | ||
27 | (define_reservation "sl_load_any" "(sl_load0 | sl_load1 | sl_load2 | sl_load3)") | |
28 | (define_reservation "sl_load_all" "(sl_load0 + sl_load1 + sl_load2 + sl_load3)") | |
29 | ||
30 | (define_insn_reservation "sl_ld" 3 | |
31 | (and (eq_attr "cpu" "tsc701") | |
32 | (eq_attr "type" "load,sload")) | |
33 | "sl_load_any, sl_load_any, sl_load_any") | |
34 | ||
35 | (define_insn_reservation "sl_st" 3 | |
36 | (and (eq_attr "cpu" "tsc701") | |
37 | (eq_attr "type" "store")) | |
38 | "(sl_store+sl_load_all)*3") | |
39 | ||
40 | (define_insn_reservation "sl_imul" 5 | |
41 | (and (eq_attr "cpu" "tsc701") | |
42 | (eq_attr "type" "imul")) | |
43 | "sl_imul*5") |