generic.md revision 169689
190075Sobrien;; Generic DFA-based pipeline description for MIPS targets 290075Sobrien;; Copyright (C) 2004, 2005 Free Software Foundation, Inc. 390075Sobrien;; 490075Sobrien;; This file is part of GCC. 590075Sobrien 690075Sobrien;; GCC is free software; you can redistribute it and/or modify it 790075Sobrien;; under the terms of the GNU General Public License as published 890075Sobrien;; by the Free Software Foundation; either version 2, or (at your 990075Sobrien;; option) any later version. 1090075Sobrien 1190075Sobrien;; GCC is distributed in the hope that it will be useful, but WITHOUT 1290075Sobrien;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 1390075Sobrien;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 1490075Sobrien;; License for more details. 1590075Sobrien 1690075Sobrien;; You should have received a copy of the GNU General Public License 1790075Sobrien;; along with GCC; see the file COPYING. If not, write to the 1890075Sobrien;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, 1990075Sobrien;; MA 02110-1301, USA. 2090075Sobrien 2190075Sobrien 2290075Sobrien;; This file is derived from the old define_function_unit description. 2390075Sobrien;; Each reservation can be overridden on a processor-by-processor basis. 2490075Sobrien 2590075Sobrien(define_insn_reservation "generic_alu" 1 2690075Sobrien (eq_attr "type" "unknown,prefetch,prefetchx,condmove,const,arith, 2790075Sobrien shift,slt,clz,trap,multi,nop") 2890075Sobrien "alu") 2990075Sobrien 3090075Sobrien(define_insn_reservation "generic_load" 3 3190075Sobrien (eq_attr "type" "load,fpload,fpidxload") 3290075Sobrien "alu") 3390075Sobrien 3490075Sobrien(define_insn_reservation "generic_store" 1 3590075Sobrien (eq_attr "type" "store,fpstore,fpidxstore") 3690075Sobrien "alu") 3790075Sobrien 3890075Sobrien(define_insn_reservation "generic_xfer" 2 3990075Sobrien (eq_attr "type" "xfer") 4090075Sobrien "alu") 4190075Sobrien 4290075Sobrien(define_insn_reservation "generic_branch" 1 4390075Sobrien (eq_attr "type" "branch,jump,call") 4490075Sobrien "alu") 4590075Sobrien 4690075Sobrien(define_insn_reservation "generic_hilo" 1 4790075Sobrien (eq_attr "type" "mfhilo,mthilo") 4890075Sobrien "imuldiv*3") 4990075Sobrien 5090075Sobrien(define_insn_reservation "generic_imul" 17 5190075Sobrien (eq_attr "type" "imul,imul3,imadd") 5290075Sobrien "imuldiv*17") 5390075Sobrien 5490075Sobrien(define_insn_reservation "generic_idiv" 38 5590075Sobrien (eq_attr "type" "idiv") 5690075Sobrien "imuldiv*38") 5790075Sobrien 5890075Sobrien(define_insn_reservation "generic_fcvt" 1 5990075Sobrien (eq_attr "type" "fcvt") 6090075Sobrien "alu") 6190075Sobrien 6290075Sobrien(define_insn_reservation "generic_fmove" 2 6390075Sobrien (eq_attr "type" "fabs,fneg,fmove") 6490075Sobrien "alu") 6590075Sobrien 6690075Sobrien(define_insn_reservation "generic_fcmp" 3 6790075Sobrien (eq_attr "type" "fcmp") 6890075Sobrien "alu") 6990075Sobrien 7090075Sobrien(define_insn_reservation "generic_fadd" 4 7190075Sobrien (eq_attr "type" "fadd") 7290075Sobrien "alu") 7390075Sobrien 7490075Sobrien(define_insn_reservation "generic_fmul_single" 7 7590075Sobrien (and (eq_attr "type" "fmul,fmadd") 7690075Sobrien (eq_attr "mode" "SF")) 7790075Sobrien "alu") 7890075Sobrien 7990075Sobrien(define_insn_reservation "generic_fmul_double" 8 8090075Sobrien (and (eq_attr "type" "fmul,fmadd") 81169689Skan (eq_attr "mode" "DF")) 8290075Sobrien "alu") 8390075Sobrien 8490075Sobrien(define_insn_reservation "generic_fdiv_single" 23 8590075Sobrien (and (eq_attr "type" "fdiv,frdiv") 8690075Sobrien (eq_attr "mode" "SF")) 8790075Sobrien "alu") 8890075Sobrien 8990075Sobrien(define_insn_reservation "generic_fdiv_double" 36 9090075Sobrien (and (eq_attr "type" "fdiv,frdiv") 9190075Sobrien (eq_attr "mode" "DF")) 9290075Sobrien "alu") 9390075Sobrien 9490075Sobrien(define_insn_reservation "generic_fsqrt_single" 54 9590075Sobrien (and (eq_attr "type" "fsqrt,frsqrt") 9690075Sobrien (eq_attr "mode" "SF")) 9790075Sobrien "alu") 9890075Sobrien 9990075Sobrien(define_insn_reservation "generic_fsqrt_double" 112 10090075Sobrien (and (eq_attr "type" "fsqrt,frsqrt") 10190075Sobrien (eq_attr "mode" "DF")) 10290075Sobrien "alu") 10390075Sobrien 10490075Sobrien(define_insn_reservation "generic_frecip_fsqrt_step" 5 10590075Sobrien (eq_attr "type" "frdiv1,frdiv2,frsqrt1,frsqrt2") 10690075Sobrien "alu") 10790075Sobrien