OSDN Git Service

2009-07-10 David Daney <ddaney@caviumnetworks.com>
[pf3gnuchains/gcc-fork.git] / gcc / config / mips / 6000.md
1 ;; R6000 pipeline description.
2 ;;   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
3 ;;
4 ;; This file is part of GCC.
5
6 ;; GCC is free software; you can redistribute it and/or modify it
7 ;; under the terms of the GNU General Public License as published
8 ;; by the Free Software Foundation; either version 3, or (at your
9 ;; option) any later version.
10
11 ;; GCC is distributed in the hope that it will be useful, but WITHOUT
12 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 ;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
14 ;; License for more details.
15
16 ;; You should have received a copy of the GNU General Public License
17 ;; along with GCC; see the file COPYING3.  If not see
18 ;; <http://www.gnu.org/licenses/>.
19
20
21 ;; This file overrides parts of generic.md.  It is derived from the
22 ;; old define_function_unit description.
23
24 (define_insn_reservation "r6k_fcmp" 2
25   (and (eq_attr "cpu" "r6000")
26        (eq_attr "type" "fcmp"))
27   "alu")
28
29 (define_insn_reservation "r6k_fadd" 3
30   (and (eq_attr "cpu" "r6000")
31        (eq_attr "type" "fadd"))
32   "alu")
33
34 (define_insn_reservation "r6k_fmul_single" 5
35   (and (eq_attr "cpu" "r6000")
36        (and (eq_attr "type" "fmul,fmadd")
37             (eq_attr "mode" "SF")))
38   "alu")
39
40 (define_insn_reservation "r6k_fmul_double" 6
41   (and (eq_attr "cpu" "r6000")
42        (and (eq_attr "type" "fmul,fmadd")
43             (eq_attr "mode" "DF")))
44   "alu")
45
46 (define_insn_reservation "r6k_fdiv_single" 15
47   (and (eq_attr "cpu" "r6000")
48        (and (eq_attr "type" "fdiv,frdiv")
49             (eq_attr "mode" "SF")))
50   "alu")
51
52 (define_insn_reservation "r6k_fdiv_double" 16
53   (and (eq_attr "cpu" "r6000")
54        (and (eq_attr "type" "fdiv,frdiv")
55             (eq_attr "mode" "DF")))
56   "alu")