3000.md revision 256281
1;; R3000 and TX39 pipeline description. 2;; Copyright (C) 2004, 2005 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 2, 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 COPYING. If not, write to the 18;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, 19;; MA 02110-1301, USA. 20 21 22;; This file overrides parts of generic.md. It is derived from the 23;; old define_function_unit description. 24 25(define_insn_reservation "r3k_load" 2 26 (and (eq_attr "cpu" "r3000,r3900") 27 (eq_attr "type" "load,fpload,fpidxload")) 28 "alu") 29 30(define_insn_reservation "r3k_imul" 12 31 (and (eq_attr "cpu" "r3000,r3900") 32 (eq_attr "type" "imul,imul3,imadd")) 33 "imuldiv*12") 34 35(define_insn_reservation "r3k_idiv" 35 36 (and (eq_attr "cpu" "r3000,r3900") 37 (eq_attr "type" "idiv")) 38 "imuldiv*35") 39 40(define_insn_reservation "r3k_fmove" 1 41 (and (eq_attr "cpu" "r3000,r3900") 42 (eq_attr "type" "fabs,fneg,fmove")) 43 "alu") 44 45(define_insn_reservation "r3k_fadd" 2 46 (and (eq_attr "cpu" "r3000,r3900") 47 (eq_attr "type" "fcmp,fadd")) 48 "alu") 49 50(define_insn_reservation "r3k_fmul_single" 4 51 (and (eq_attr "cpu" "r3000,r3900") 52 (and (eq_attr "type" "fmul,fmadd") 53 (eq_attr "mode" "SF"))) 54 "alu") 55 56(define_insn_reservation "r3k_fmul_double" 5 57 (and (eq_attr "cpu" "r3000,r3900") 58 (and (eq_attr "type" "fmul,fmadd") 59 (eq_attr "mode" "DF"))) 60 "alu") 61 62(define_insn_reservation "r3k_fdiv_single" 12 63 (and (eq_attr "cpu" "r3000,r3900") 64 (and (eq_attr "type" "fdiv,frdiv") 65 (eq_attr "mode" "SF"))) 66 "alu") 67 68(define_insn_reservation "r3k_fdiv_double" 19 69 (and (eq_attr "cpu" "r3000,r3900") 70 (and (eq_attr "type" "fdiv,frdiv") 71 (eq_attr "mode" "DF"))) 72 "alu") 73