4100.md revision 256281
155714Skris;; VR4100 and VR4120 pipeline description.
255714Skris;;   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
355714Skris;;
455714Skris;; This file is part of GCC.
555714Skris
655714Skris;; GCC is free software; you can redistribute it and/or modify it
755714Skris;; under the terms of the GNU General Public License as published
8280297Sjkim;; by the Free Software Foundation; either version 2, or (at your
955714Skris;; option) any later version.
1055714Skris
1155714Skris;; GCC is distributed in the hope that it will be useful, but WITHOUT
1255714Skris;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
1355714Skris;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
1455714Skris;; License for more details.
15280297Sjkim
1655714Skris;; You should have received a copy of the GNU General Public License
1755714Skris;; along with GCC; see the file COPYING.  If not, write to the
1855714Skris;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
1955714Skris;; MA 02110-1301, USA.
2055714Skris
2155714Skris
22280297Sjkim;; This file overrides parts of generic.md.  It is derived from the
2355714Skris;; old define_function_unit description.
2455714Skris
2555714Skris(define_insn_reservation "r4100_load" 2
2655714Skris  (and (eq_attr "cpu" "r4100,r4120")
2755714Skris       (eq_attr "type" "load,fpload,fpidxload,xfer"))
2855714Skris  "alu")
2955714Skris
3055714Skris(define_insn_reservation "r4100_imul_si" 1
3155714Skris  (and (eq_attr "cpu" "r4100,r4120")
3255714Skris       (and (eq_attr "type" "imul,imul3,imadd")
3355714Skris	    (eq_attr "mode" "SI")))
3455714Skris  "imuldiv")
3555714Skris
3655714Skris(define_insn_reservation "r4100_imul_di" 4
37280297Sjkim  (and (eq_attr "cpu" "r4100,r4120")
3855714Skris       (and (eq_attr "type" "imul,imul3,imadd")
3955714Skris	    (eq_attr "mode" "DI")))
40280297Sjkim  "imuldiv*4")
4155714Skris
4255714Skris(define_insn_reservation "r4100_idiv_si" 35
4355714Skris  (and (eq_attr "cpu" "r4100,r4120")
4455714Skris       (and (eq_attr "type" "idiv")
4555714Skris	    (eq_attr "mode" "SI")))
4655714Skris  "imuldiv*35")
4755714Skris
4855714Skris(define_insn_reservation "r4100_idiv_di" 67
4955714Skris  (and (eq_attr "cpu" "r4100,r4120")
5055714Skris       (and (eq_attr "type" "idiv")
5155714Skris	    (eq_attr "mode" "DI")))
52280297Sjkim  "imuldiv*67")
5355714Skris