aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc/config/i386/geode.md
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/i386/geode.md')
-rw-r--r--contrib/gcc/config/i386/geode.md153
1 files changed, 0 insertions, 153 deletions
diff --git a/contrib/gcc/config/i386/geode.md b/contrib/gcc/config/i386/geode.md
deleted file mode 100644
index 050216acdd59..000000000000
--- a/contrib/gcc/config/i386/geode.md
+++ /dev/null
@@ -1,153 +0,0 @@
-;; Geode Scheduling
-;; Copyright (C) 2006
-;; Free Software Foundation, Inc.
-;;
-;; This file is part of GCC.
-;;
-;; GCC is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-;;
-;; GCC is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with GCC; see the file COPYING. If not, write to
-;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
-;;
-;; The Geode architecture is one insn issue processor.
-;;
-;; This description is based on data from the following documents:
-;;
-;; "AMD Geode GX Processor Data Book"
-;; Advanced Micro Devices, Inc., Aug 2005.
-;;
-;; "AMD Geode LX Processor Data Book"
-;; Advanced Micro Devices, Inc., Jan 2006.
-;;
-;;
-;; CPU execution units of the Geode:
-;;
-;; issue describes the issue pipeline.
-;; alu describes the Integer unit
-;; fpu describes the FP unit
-;;
-;; The fp unit is out of order execution unit with register renaming.
-;; There is also memory management unit and execution pipeline for
-;; load/store operations. We ignore it and difference between insns
-;; using memory and registers.
-
-(define_automaton "geode")
-
-(define_cpu_unit "geode_issue,geode_alu,geode_fpu" "geode")
-
-(define_insn_reservation "alu" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "alu,alu1,negnot,icmp,lea,test,imov,imovx,icmov,incdec,setcc"))
- "geode_issue,geode_alu")
-
-(define_insn_reservation "shift" 2
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "ishift,ishift1,rotate,rotate1,cld"))
- "geode_issue,geode_alu*2")
-
-(define_insn_reservation "imul" 7
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "imul"))
- "geode_issue,geode_alu*7")
-
-(define_insn_reservation "idiv" 40
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "idiv"))
- "geode_issue,geode_alu*40")
-
-;; The branch unit.
-(define_insn_reservation "call" 2
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "call,callv"))
- "geode_issue,geode_alu*2")
-
-(define_insn_reservation "geode_branch" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "ibr"))
- "geode_issue,geode_alu")
-
-(define_insn_reservation "geode_pop_push" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "pop,push"))
- "geode_issue,geode_alu")
-
-(define_insn_reservation "geode_leave" 2
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "leave"))
- "geode_issue,geode_alu*2")
-
-(define_insn_reservation "geode_load_str" 4
- (and (eq_attr "cpu" "geode")
- (and (eq_attr "type" "str")
- (eq_attr "memory" "load,both")))
- "geode_issue,geode_alu*4")
-
-(define_insn_reservation "geode_store_str" 2
- (and (eq_attr "cpu" "geode")
- (and (eq_attr "type" "str")
- (eq_attr "memory" "store")))
- "geode_issue,geode_alu*2")
-
-;; Be optimistic
-(define_insn_reservation "geode_unknown" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "multi,other"))
- "geode_issue,geode_alu")
-
-;; FPU
-
-(define_insn_reservation "geode_fop" 6
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fop,fcmp"))
- "geode_issue,geode_fpu*6")
-
-(define_insn_reservation "geode_fsimple" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fmov,fcmov,fsgn,fxch"))
- "geode_issue,geode_fpu")
-
-(define_insn_reservation "geode_fist" 4
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fistp,fisttp"))
- "geode_issue,geode_fpu*4")
-
-(define_insn_reservation "geode_fmul" 10
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fmul"))
- "geode_issue,geode_fpu*10")
-
-(define_insn_reservation "geode_fdiv" 47
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fdiv"))
- "geode_issue,geode_fpu*47")
-
-;; We use minimal latency (fsin) here
-(define_insn_reservation "geode_fpspc" 54
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "fpspc"))
- "geode_issue,geode_fpu*54")
-
-(define_insn_reservation "geode_frndint" 12
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "frndint"))
- "geode_issue,geode_fpu*12")
-
-(define_insn_reservation "geode_mmxmov" 1
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "mmxmov"))
- "geode_issue,geode_fpu")
-
-(define_insn_reservation "geode_mmx" 2
- (and (eq_attr "cpu" "geode")
- (eq_attr "type" "mmx,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft"))
- "geode_issue,geode_fpu*2")