1;; Scheduling description for SPARC Cypress. 2;; Copyright (C) 2002-2015 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 3, 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 COPYING3. If not see 18;; <http://www.gnu.org/licenses/>. 19 20;; The Cypress is a pretty simple single-issue processor. 21 22(define_automaton "cypress_0,cypress_1") 23 24(define_cpu_unit "cyp_memory, cyp_fpalu" "cypress_0") 25(define_cpu_unit "cyp_fpmds" "cypress_1") 26 27(define_insn_reservation "cyp_load" 2 28 (and (eq_attr "cpu" "cypress") 29 (eq_attr "type" "load,sload,fpload")) 30 "cyp_memory, nothing") 31 32(define_insn_reservation "cyp_fp_alu" 5 33 (and (eq_attr "cpu" "cypress") 34 (eq_attr "type" "fp,fpmove")) 35 "cyp_fpalu, nothing*3") 36 37(define_insn_reservation "cyp_fp_mult" 7 38 (and (eq_attr "cpu" "cypress") 39 (eq_attr "type" "fpmul")) 40 "cyp_fpmds, nothing*5") 41 42(define_insn_reservation "cyp_fp_div" 37 43 (and (eq_attr "cpu" "cypress") 44 (eq_attr "type" "fpdivs,fpdivd")) 45 "cyp_fpmds, nothing*35") 46 47(define_insn_reservation "cyp_fp_sqrt" 63 48 (and (eq_attr "cpu" "cypress") 49 (eq_attr "type" "fpsqrts,fpsqrtd")) 50 "cyp_fpmds, nothing*61") 51