Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / config / score / score-generic.md
blobf3341c5a3764e70e2d7b1dd97cb4fda222826407
1 ;;  Machine description for Sunplus S+CORE
2 ;;  Sunplus S+CORE Pipeline Description
3 ;;  Copyright (C) 2005, 2007
4 ;;  Free Software Foundation, Inc.
5 ;;  Contributed by Sunnorth.
7 ;; This file is part of GCC.
9 ;; GCC is free software; you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation; either version 3, or (at your option)
12 ;; any later version.
14 ;; GCC is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 ;; GNU General Public License for more details.
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with GCC; see the file COPYING3.  If not see
21 ;; <http://www.gnu.org/licenses/>.
23 (define_automaton "score")
25 (define_cpu_unit "core" "score")
27 (define_insn_reservation "memory" 3
28                          (eq_attr "type" "load")
29                          "core")
31 (define_insn_reservation "mul" 3
32                          (eq_attr "type" "mul,div")
33                          "core")
35 (define_insn_reservation "fce" 1
36                          (eq_attr "type" "fce")
37                          "core")
39 (define_insn_reservation "tsr" 1
40                          (eq_attr "type" "tsr,fsr")
41                          "core")
43 (define_insn_reservation "up_c" 1
44                          (eq_attr "up_c" "yes")
45                          "core")