generic.md revision 169689
192108Sphk;; Generic DFA-based pipeline description for MIPS targets
292108Sphk;;   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
392108Sphk;;
492108Sphk;; This file is part of GCC.
592108Sphk
692108Sphk;; GCC is free software; you can redistribute it and/or modify it
792108Sphk;; under the terms of the GNU General Public License as published
892108Sphk;; by the Free Software Foundation; either version 2, or (at your
992108Sphk;; option) any later version.
1092108Sphk
1192108Sphk;; GCC is distributed in the hope that it will be useful, but WITHOUT
1292108Sphk;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
1392108Sphk;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
1492108Sphk;; License for more details.
1592108Sphk
1692108Sphk;; You should have received a copy of the GNU General Public License
1792108Sphk;; along with GCC; see the file COPYING.  If not, write to the
1892108Sphk;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
1992108Sphk;; MA 02110-1301, USA.
2092108Sphk
2192108Sphk
2292108Sphk;; This file is derived from the old define_function_unit description.
2392108Sphk;; Each reservation can be overridden on a processor-by-processor basis.
2492108Sphk
2592108Sphk(define_insn_reservation "generic_alu" 1
2692108Sphk  (eq_attr "type" "unknown,prefetch,prefetchx,condmove,const,arith,
2792108Sphk		   shift,slt,clz,trap,multi,nop")
2892108Sphk  "alu")
2992108Sphk
3092108Sphk(define_insn_reservation "generic_load" 3
3192108Sphk  (eq_attr "type" "load,fpload,fpidxload")
3292108Sphk  "alu")
3392108Sphk
3492108Sphk(define_insn_reservation "generic_store" 1
3592108Sphk  (eq_attr "type" "store,fpstore,fpidxstore")
3692108Sphk  "alu")
3792108Sphk
3895276Sphk(define_insn_reservation "generic_xfer" 2
3995276Sphk  (eq_attr "type" "xfer")
4095276Sphk  "alu")
4192108Sphk
4292108Sphk(define_insn_reservation "generic_branch" 1
4392108Sphk  (eq_attr "type" "branch,jump,call")
4492108Sphk  "alu")
4595323Sphk
4695323Sphk(define_insn_reservation "generic_hilo" 1
4792108Sphk  (eq_attr "type" "mfhilo,mthilo")
4895362Sphk  "imuldiv*3")
4992108Sphk
5092108Sphk(define_insn_reservation "generic_imul" 17
5192108Sphk  (eq_attr "type" "imul,imul3,imadd")
5292108Sphk  "imuldiv*17")
5392514Sphk
5492108Sphk(define_insn_reservation "generic_idiv" 38
5592108Sphk  (eq_attr "type" "idiv")
5693248Sphk  "imuldiv*38")
5792108Sphk
5892108Sphk(define_insn_reservation "generic_fcvt" 1
5992108Sphk  (eq_attr "type" "fcvt")
6092108Sphk  "alu")
6192108Sphk
6292108Sphk(define_insn_reservation "generic_fmove" 2
6392108Sphk  (eq_attr "type" "fabs,fneg,fmove")
64106518Sphk  "alu")
6592108Sphk
66106518Sphk(define_insn_reservation "generic_fcmp" 3
6793248Sphk  (eq_attr "type" "fcmp")
6893250Sphk  "alu")
6992108Sphk
7092108Sphk(define_insn_reservation "generic_fadd" 4
7192108Sphk  (eq_attr "type" "fadd")
7292108Sphk  "alu")
7392108Sphk
7493250Sphk(define_insn_reservation "generic_fmul_single" 7
7592108Sphk  (and (eq_attr "type" "fmul,fmadd")
7692108Sphk       (eq_attr "mode" "SF"))
7792108Sphk  "alu")
78107953Sphk
7992108Sphk(define_insn_reservation "generic_fmul_double" 8
8092108Sphk  (and (eq_attr "type" "fmul,fmadd")
8192108Sphk       (eq_attr "mode" "DF"))
8293248Sphk  "alu")
8393248Sphk
8493248Sphk(define_insn_reservation "generic_fdiv_single" 23
8593248Sphk  (and (eq_attr "type" "fdiv,frdiv")
86106518Sphk       (eq_attr "mode" "SF"))
8792108Sphk  "alu")
8893248Sphk
89107953Sphk(define_insn_reservation "generic_fdiv_double" 36
9092108Sphk  (and (eq_attr "type" "fdiv,frdiv")
91106518Sphk       (eq_attr "mode" "DF"))
9293776Sphk  "alu")
9393776Sphk
9498066Sphk(define_insn_reservation "generic_fsqrt_single" 54
9593776Sphk  (and (eq_attr "type" "fsqrt,frsqrt")
9693248Sphk       (eq_attr "mode" "SF"))
9792108Sphk  "alu")
9892108Sphk
9995310Sphk(define_insn_reservation "generic_fsqrt_double" 112
10092108Sphk  (and (eq_attr "type" "fsqrt,frsqrt")
10192108Sphk       (eq_attr "mode" "DF"))
10298066Sphk  "alu")
10393776Sphk
10492108Sphk(define_insn_reservation "generic_frecip_fsqrt_step" 5
10593248Sphk  (eq_attr "type" "frdiv1,frdiv2,frsqrt1,frsqrt2")
10692108Sphk  "alu")
10792108Sphk