118334Speter;; R3000 and TX39 pipeline description. 252298Sobrien;; Copyright (C) 2004, 2005 Free Software Foundation, Inc. 318334Speter;; 418334Speter;; This file is part of GCC. 518334Speter 618334Speter;; GCC is free software; you can redistribute it and/or modify it 718334Speter;; under the terms of the GNU General Public License as published 818334Speter;; by the Free Software Foundation; either version 2, or (at your 918334Speter;; option) any later version. 1018334Speter 1118334Speter;; GCC is distributed in the hope that it will be useful, but WITHOUT 1218334Speter;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 1318334Speter;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 1418334Speter;; License for more details. 1518334Speter 1618334Speter;; You should have received a copy of the GNU General Public License 1718334Speter;; along with GCC; see the file COPYING. If not, write to the 1818334Speter;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, 1918334Speter;; MA 02110-1301, USA. 2018334Speter 2152298Sobrien 2252298Sobrien;; This file overrides parts of generic.md. It is derived from the 2318334Speter;; old define_function_unit description. 2418334Speter 2518334Speter(define_insn_reservation "r3k_load" 2 2618334Speter (and (eq_attr "cpu" "r3000,r3900") 2718334Speter (eq_attr "type" "load,fpload,fpidxload")) 2818334Speter "alu") 2918334Speter 3018334Speter(define_insn_reservation "r3k_imul" 12 3150448Sobrien (and (eq_attr "cpu" "r3000,r3900") 3250448Sobrien (eq_attr "type" "imul,imul3,imadd")) 3350448Sobrien "imuldiv*12") 3450448Sobrien 3518334Speter(define_insn_reservation "r3k_idiv" 35 3618334Speter (and (eq_attr "cpu" "r3000,r3900") 3718334Speter (eq_attr "type" "idiv")) 3818334Speter "imuldiv*35") 3918334Speter 4050448Sobrien(define_insn_reservation "r3k_fmove" 1 4118334Speter (and (eq_attr "cpu" "r3000,r3900") 4218334Speter (eq_attr "type" "fabs,fneg,fmove")) 4318334Speter "alu") 4452298Sobrien 4552298Sobrien(define_insn_reservation "r3k_fadd" 2 4618334Speter (and (eq_attr "cpu" "r3000,r3900") 4752298Sobrien (eq_attr "type" "fcmp,fadd")) 4852298Sobrien "alu") 4952298Sobrien 5052298Sobrien(define_insn_reservation "r3k_fmul_single" 4 5152298Sobrien (and (eq_attr "cpu" "r3000,r3900") 5250448Sobrien (and (eq_attr "type" "fmul,fmadd") 5350448Sobrien (eq_attr "mode" "SF"))) 5450448Sobrien "alu") 5550448Sobrien 5618334Speter(define_insn_reservation "r3k_fmul_double" 5 5718334Speter (and (eq_attr "cpu" "r3000,r3900") 5818334Speter (and (eq_attr "type" "fmul,fmadd") 5918334Speter (eq_attr "mode" "DF"))) 6018334Speter "alu") 6118334Speter 6218334Speter(define_insn_reservation "r3k_fdiv_single" 12 6318334Speter (and (eq_attr "cpu" "r3000,r3900") 6452298Sobrien (and (eq_attr "type" "fdiv,frdiv") 6552298Sobrien (eq_attr "mode" "SF"))) 6650448Sobrien "alu") 6750448Sobrien 6850448Sobrien(define_insn_reservation "r3k_fdiv_double" 19 6918334Speter (and (eq_attr "cpu" "r3000,r3900") 7050448Sobrien (and (eq_attr "type" "fdiv,frdiv") 7118334Speter (eq_attr "mode" "DF"))) 7250448Sobrien "alu") 7352298Sobrien