1;; Scheduling description for SPARC Cypress. 2;; Copyright (C) 2002 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 7;; it under the terms of the GNU General Public License as published by 8;; the Free Software Foundation; either version 2, or (at your option) 9;; any later version. 10;; 11;; GCC is distributed in the hope that it will be useful, 12;; but WITHOUT ANY WARRANTY; without even the implied warranty of 13;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14;; GNU General Public 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 18;; the Free Software Foundation, 51 Franklin Street, Fifth Floor, 19;; Boston, MA 02110-1301, USA. 20 21;; The Cypress is a pretty simple single-issue processor. 22 23(define_automaton "cypress_0,cypress_1") 24 25(define_cpu_unit "cyp_memory, cyp_fpalu" "cypress_0") 26(define_cpu_unit "cyp_fpmds" "cypress_1") 27 28(define_insn_reservation "cyp_load" 2 29 (and (eq_attr "cpu" "cypress") 30 (eq_attr "type" "load,sload,fpload")) 31 "cyp_memory, nothing") 32 33(define_insn_reservation "cyp_fp_alu" 5 34 (and (eq_attr "cpu" "cypress") 35 (eq_attr "type" "fp,fpmove")) 36 "cyp_fpalu, nothing*3") 37 38(define_insn_reservation "cyp_fp_mult" 7 39 (and (eq_attr "cpu" "cypress") 40 (eq_attr "type" "fpmul")) 41 "cyp_fpmds, nothing*5") 42 43(define_insn_reservation "cyp_fp_div" 37 44 (and (eq_attr "cpu" "cypress") 45 (eq_attr "type" "fpdivs,fpdivd")) 46 "cyp_fpmds, nothing*35") 47 48(define_insn_reservation "cyp_fp_sqrt" 63 49 (and (eq_attr "cpu" "cypress") 50 (eq_attr "type" "fpsqrts,fpsqrtd")) 51 "cyp_fpmds, nothing*61") 52