Move those parts of rios.md that apply to 601 to a new file 601.md, renaming everything from rios1* to ppc601*.
2012-07-26 Segher Boessenkool <seg...@kernel.crashing.org> gcc/ * config/rs6000/601.md: New file. * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for RIOS CPUs. * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise. * config/rs6000/driver-rs6000.c (detect_processor_aix, struct asm_names): Likewise. * config/rs6000/rios1.md: Delete file. * config/rs6000/rios2.md: Delete file. * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS CPUs. * config/rs6000/rs6000-opts.h (enum processor_type): Delete PROCESSOR_RIOS1 and PROCESSOR_RIOS2. * config/rs6000/rs6000-tables.opt: Regenerated. * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost): Delete. (rs6000_option_override_internal): Delete support for RIOS CPUs. (rs6000_conditional_register_usage): Adjust comment. (rs6000_issue_rate):Delete support for RIOS CPUs. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for RIOS CPUs. (PROCESSOR_POWER): Change to PROCESSOR_PPC601. (PROCESSOR_DEFAULT): Change to PROCESSOR_PPC603. * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1 and rios2. (include "rios1.md", include "rios2.md"): Delete. (include "601.md"): New. * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to PROCESSOR_PPC603. * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support for RIOS CPUs. * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and rios2.md . Add 601.md . --- gcc/config/rs6000/601.md | 136 +++++++++++++++++++++++++ gcc/config/rs6000/aix43.h | 8 +-- gcc/config/rs6000/aix51.h | 8 +-- gcc/config/rs6000/driver-rs6000.c | 16 +--- gcc/config/rs6000/rios1.md | 191 ----------------------------------- gcc/config/rs6000/rios2.md | 129 ----------------------- gcc/config/rs6000/rs6000-cpus.def | 10 +-- gcc/config/rs6000/rs6000-opts.h | 5 +- gcc/config/rs6000/rs6000-tables.opt | 17 +--- gcc/config/rs6000/rs6000.c | 56 +---------- gcc/config/rs6000/rs6000.h | 14 +-- gcc/config/rs6000/rs6000.md | 10 +-- gcc/config/rs6000/rs6000.opt | 5 +- gcc/config/rs6000/t-aix43 | 7 +- gcc/config/rs6000/t-rs6000 | 8 +- 15 files changed, 156 insertions(+), 464 deletions(-) create mode 100644 gcc/config/rs6000/601.md delete mode 100644 gcc/config/rs6000/rios1.md delete mode 100644 gcc/config/rs6000/rios2.md diff --git a/gcc/config/rs6000/601.md b/gcc/config/rs6000/601.md new file mode 100644 index 0000000..52644f2 --- /dev/null +++ b/gcc/config/rs6000/601.md @@ -0,0 +1,136 @@ +;; Scheduling description for PowerPC 601 processor. +;; Copyright (C) 2003-2012 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 3, 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 COPYING3. If not see +;; <http://www.gnu.org/licenses/>. + +(define_automaton "ppc601,ppc601fp") +(define_cpu_unit "iu_ppc601" "ppc601") +(define_cpu_unit "fpu_ppc601" "ppc601fp") +(define_cpu_unit "bpu_ppc601" "ppc601") + +;; PPC601 32-bit IU, FPU, BPU + +(define_insn_reservation "ppc601-load" 2 + (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,\ + load_l,store_c,sync") + (eq_attr "cpu" "ppc601")) + "iu_ppc601") + +(define_insn_reservation "ppc601-store" 2 + (and (eq_attr "type" "store,store_ux,store_u") + (eq_attr "cpu" "ppc601")) + "iu_ppc601") + +(define_insn_reservation "ppc601-fpload" 3 + (and (eq_attr "type" "fpload,fpload_ux,fpload_u") + (eq_attr "cpu" "ppc601")) + "iu_ppc601") + +(define_insn_reservation "ppc601-fpstore" 3 + (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u") + (eq_attr "cpu" "ppc601")) + "iu_ppc601+fpu_ppc601") + +(define_insn_reservation "ppc601-integer" 1 + (and (eq_attr "type" "integer,insert_word,insert_dword,shift,\ + trap,var_shift_rotate,cntlz,exts,isel") + (eq_attr "cpu" "ppc601")) + "iu_ppc601") + +(define_insn_reservation "ppc601-two" 1 + (and (eq_attr "type" "two") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,iu_ppc601") + +(define_insn_reservation "ppc601-three" 1 + (and (eq_attr "type" "three") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,iu_ppc601,iu_ppc601") + +(define_insn_reservation "ppc601-imul" 5 + (and (eq_attr "type" "imul,imul2,imul3,imul_compare") + (eq_attr "cpu" "ppc601")) + "iu_ppc601*5") + +(define_insn_reservation "ppc601-idiv" 36 + (and (eq_attr "type" "idiv") + (eq_attr "cpu" "ppc601")) + "iu_ppc601*36") + +; compare executes on integer unit, but feeds insns which +; execute on the branch unit. +(define_insn_reservation "ppc601-compare" 3 + (and (eq_attr "type" "cmp,compare,delayed_compare,\ + var_delayed_compare") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,nothing,bpu_ppc601") + +(define_insn_reservation "ppc601-fpcompare" 5 + (and (eq_attr "type" "fpcompare") + (eq_attr "cpu" "ppc601")) + "(fpu_ppc601+iu_ppc601*2),nothing*2,bpu_ppc601") + +(define_insn_reservation "ppc601-fp" 4 + (and (eq_attr "type" "fp") + (eq_attr "cpu" "ppc601")) + "fpu_ppc601") + +(define_insn_reservation "ppc601-dmul" 5 + (and (eq_attr "type" "dmul") + (eq_attr "cpu" "ppc601")) + "fpu_ppc601*2") + +(define_insn_reservation "ppc601-sdiv" 17 + (and (eq_attr "type" "sdiv") + (eq_attr "cpu" "ppc601")) + "fpu_ppc601*17") + +(define_insn_reservation "ppc601-ddiv" 31 + (and (eq_attr "type" "ddiv") + (eq_attr "cpu" "ppc601")) + "fpu_ppc601*31") + +(define_insn_reservation "ppc601-mfcr" 2 + (and (eq_attr "type" "mfcr") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,bpu_ppc601") + +(define_insn_reservation "ppc601-mtcr" 4 + (and (eq_attr "type" "mtcr") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,bpu_ppc601") + +(define_insn_reservation "ppc601-crlogical" 4 + (and (eq_attr "type" "cr_logical,delayed_cr") + (eq_attr "cpu" "ppc601")) + "bpu_ppc601") + +(define_insn_reservation "ppc601-mtjmpr" 4 + (and (eq_attr "type" "mtjmpr") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,bpu_ppc601") + +(define_insn_reservation "ppc601-mfjmpr" 2 + (and (eq_attr "type" "mfjmpr") + (eq_attr "cpu" "ppc601")) + "iu_ppc601,bpu_ppc601") + +(define_insn_reservation "ppc601-branch" 1 + (and (eq_attr "type" "jmpreg,branch,isync") + (eq_attr "cpu" "ppc601")) + "bpu_ppc601") + diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index 936176c..8f5786f 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -1,7 +1,6 @@ /* Definitions of target machine for GNU compiler, for IBM RS/6000 POWER running AIX version 4.3. - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, - 2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1998-2012 Free Software Foundation, Inc. Contributed by David Edelsohn (edels...@gnu.org). This file is part of GCC. @@ -67,11 +66,6 @@ do { \ %{mcpu=power3: -m620} \ %{mcpu=power4: -m620} \ %{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwr2} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ %{mcpu=rs64a: -mppc} \ %{mcpu=601: -m601} \ %{mcpu=602: -mppc} \ diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h index 90d504f..00373ff 100644 --- a/gcc/config/rs6000/aix51.h +++ b/gcc/config/rs6000/aix51.h @@ -1,7 +1,6 @@ /* Definitions of target machine for GNU compiler, for IBM RS/6000 POWER running AIX V5. - Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2001-2012 Free Software Foundation, Inc. Contributed by David Edelsohn (edels...@gnu.org). This file is part of GCC. @@ -61,11 +60,6 @@ do { \ %{mcpu=power3: -m620} \ %{mcpu=power4: -m620} \ %{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwr2} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ %{mcpu=rs64a: -mppc} \ %{mcpu=601: -m601} \ %{mcpu=602: -mppc} \ diff --git a/gcc/config/rs6000/driver-rs6000.c b/gcc/config/rs6000/driver-rs6000.c index 11e76ea..178bb42 100644 --- a/gcc/config/rs6000/driver-rs6000.c +++ b/gcc/config/rs6000/driver-rs6000.c @@ -1,5 +1,5 @@ /* Subroutines for the gcc driver. - Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2007-2012 Free Software Foundation, Inc. This file is part of GCC. @@ -295,15 +295,6 @@ detect_processor_aix (void) { switch (_system_configuration.implementation) { - case 0x0001: - return "rios1"; - - case 0x0002: - return "rsc"; - - case 0x0004: - return "rios2"; - case 0x0008: return "601"; @@ -392,11 +383,6 @@ static const struct asm_name asm_names[] = { { "power6x", "%(asm_cpu_power6) -maltivec" }, { "power7", "%(asm_cpu_power7)" }, { "powerpc", "-mppc" }, - { "rios", "-mpwr" }, - { "rios1", "-mpwr" }, - { "rios2", "-mpwrx" }, - { "rsc", "-mpwr" }, - { "rsc1", "-mpwr" }, { "rs64a", "-mppc64" }, { "401", "-mppc" }, { "403", "-m403" }, diff --git a/gcc/config/rs6000/rios1.md b/gcc/config/rs6000/rios1.md deleted file mode 100644 index 9ad9ce3..0000000 --- a/gcc/config/rs6000/rios1.md +++ /dev/null @@ -1,191 +0,0 @@ -;; Scheduling description for IBM POWER processor. -;; Copyright (C) 2003, 2004, 2007, 2009 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 3, 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 COPYING3. If not see -;; <http://www.gnu.org/licenses/>. - -(define_automaton "rios1,rios1fp") -(define_cpu_unit "iu_rios1" "rios1") -(define_cpu_unit "fpu_rios1" "rios1fp") -(define_cpu_unit "bpu_rios1" "rios1") - -;; RIOS1 32-bit IU, FPU, BPU - -(define_insn_reservation "rios1-load" 2 - (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,\ - load_l,store_c,sync") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1") - -(define_insn_reservation "rios1-store" 2 - (and (eq_attr "type" "store,store_ux,store_u") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1") - -(define_insn_reservation "rios1-fpload" 2 - (and (eq_attr "type" "fpload,fpload_ux,fpload_u") - (eq_attr "cpu" "rios1")) - "iu_rios1") - -(define_insn_reservation "ppc601-fpload" 3 - (and (eq_attr "type" "fpload,fpload_ux,fpload_u") - (eq_attr "cpu" "ppc601")) - "iu_rios1") - -(define_insn_reservation "rios1-fpstore" 3 - (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1+fpu_rios1") - -(define_insn_reservation "rios1-integer" 1 - (and (eq_attr "type" "integer,insert_word,insert_dword,shift,\ - trap,var_shift_rotate,cntlz,exts,isel") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1") - -(define_insn_reservation "rios1-two" 1 - (and (eq_attr "type" "two") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1,iu_rios1") - -(define_insn_reservation "rios1-three" 1 - (and (eq_attr "type" "three") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1,iu_rios1,iu_rios1") - -(define_insn_reservation "rios1-imul" 5 - (and (eq_attr "type" "imul,imul_compare") - (eq_attr "cpu" "rios1")) - "iu_rios1*5") - -(define_insn_reservation "rios1-imul2" 4 - (and (eq_attr "type" "imul2") - (eq_attr "cpu" "rios1")) - "iu_rios1*4") - -(define_insn_reservation "rios1-imul3" 3 - (and (eq_attr "type" "imul") - (eq_attr "cpu" "rios1")) - "iu_rios1*3") - -(define_insn_reservation "ppc601-imul" 5 - (and (eq_attr "type" "imul,imul2,imul3,imul_compare") - (eq_attr "cpu" "ppc601")) - "iu_rios1*5") - -(define_insn_reservation "rios1-idiv" 19 - (and (eq_attr "type" "idiv") - (eq_attr "cpu" "rios1")) - "iu_rios1*19") - -(define_insn_reservation "ppc601-idiv" 36 - (and (eq_attr "type" "idiv") - (eq_attr "cpu" "ppc601")) - "iu_rios1*36") - -; compare executes on integer unit, but feeds insns which -; execute on the branch unit. -(define_insn_reservation "rios1-compare" 4 - (and (eq_attr "type" "cmp,fast_compare,compare") - (eq_attr "cpu" "rios1")) - "iu_rios1,nothing*2,bpu_rios1") - -(define_insn_reservation "rios1-delayed_compare" 5 - (and (eq_attr "type" "delayed_compare,var_delayed_compare") - (eq_attr "cpu" "rios1")) - "iu_rios1,nothing*3,bpu_rios1") - -(define_insn_reservation "ppc601-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare,\ - var_delayed_compare") - (eq_attr "cpu" "ppc601")) - "iu_rios1,nothing,bpu_rios1") - -(define_insn_reservation "rios1-fpcompare" 9 - (and (eq_attr "type" "fpcompare") - (eq_attr "cpu" "rios1")) - "fpu_rios1,nothing*3,bpu_rios1") - -(define_insn_reservation "ppc601-fpcompare" 5 - (and (eq_attr "type" "fpcompare") - (eq_attr "cpu" "ppc601")) - "(fpu_rios1+iu_rios1*2),nothing*2,bpu_rios1") - -(define_insn_reservation "rios1-fp" 2 - (and (eq_attr "type" "fp,dmul") - (eq_attr "cpu" "rios1")) - "fpu_rios1") - -(define_insn_reservation "ppc601-fp" 4 - (and (eq_attr "type" "fp") - (eq_attr "cpu" "ppc601")) - "fpu_rios1") - -(define_insn_reservation "rios1-dmul" 5 - (and (eq_attr "type" "dmul") - (eq_attr "cpu" "ppc601")) - "fpu_rios1*2") - -(define_insn_reservation "rios1-sdiv" 19 - (and (eq_attr "type" "sdiv,ddiv") - (eq_attr "cpu" "rios1")) - "fpu_rios1*19") - -(define_insn_reservation "ppc601-sdiv" 17 - (and (eq_attr "type" "sdiv") - (eq_attr "cpu" "ppc601")) - "fpu_rios1*17") - -(define_insn_reservation "ppc601-ddiv" 31 - (and (eq_attr "type" "ddiv") - (eq_attr "cpu" "ppc601")) - "fpu_rios1*31") - -(define_insn_reservation "rios1-mfcr" 2 - (and (eq_attr "type" "mfcr") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1,bpu_rios1") - -(define_insn_reservation "rios1-mtcr" 4 - (and (eq_attr "type" "mtcr") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1,bpu_rios1") - -(define_insn_reservation "rios1-crlogical" 4 - (and (eq_attr "type" "cr_logical,delayed_cr") - (eq_attr "cpu" "rios1,ppc601")) - "bpu_rios1") - -(define_insn_reservation "rios1-mtjmpr" 5 - (and (eq_attr "type" "mtjmpr") - (eq_attr "cpu" "rios1")) - "iu_rios1,bpu_rios1") - -(define_insn_reservation "ppc601-mtjmpr" 4 - (and (eq_attr "type" "mtjmpr") - (eq_attr "cpu" "ppc601")) - "iu_rios1,bpu_rios1") - -(define_insn_reservation "rios1-mfjmpr" 2 - (and (eq_attr "type" "mfjmpr") - (eq_attr "cpu" "rios1,ppc601")) - "iu_rios1,bpu_rios1") - -(define_insn_reservation "rios1-branch" 1 - (and (eq_attr "type" "jmpreg,branch,isync") - (eq_attr "cpu" "rios1,ppc601")) - "bpu_rios1") - diff --git a/gcc/config/rs6000/rios2.md b/gcc/config/rs6000/rios2.md deleted file mode 100644 index 96633af..0000000 --- a/gcc/config/rs6000/rios2.md +++ /dev/null @@ -1,129 +0,0 @@ -;; Scheduling description for IBM Power2 processor. -;; Copyright (C) 2003, 2004, 2007, 2009 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 3, 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 COPYING3. If not see -;; <http://www.gnu.org/licenses/>. - -(define_automaton "rios2,rios2fp") -(define_cpu_unit "iu1_rios2,iu2_rios2" "rios2") -(define_cpu_unit "fpu1_rios2,fpu2_rios2" "rios2fp") -(define_cpu_unit "bpu_rios2" "rios2") - -;; RIOS2 32-bit 2xIU, 2xFPU, BPU -;; IU1 can perform all integer operations -;; IU2 can perform all integer operations except imul and idiv - -(define_insn_reservation "rios2-load" 2 - (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,\ - load_ux,load_u,fpload,fpload_ux,fpload_u,\ - load_l,store_c,sync") - (eq_attr "cpu" "rios2")) - "iu1_rios2|iu2_rios2") - -(define_insn_reservation "rios2-store" 2 - (and (eq_attr "type" "store,store_ux,store_u,fpstore,fpstore_ux,fpstore_u") - (eq_attr "cpu" "rios2")) - "iu1_rios2|iu2_rios2") - -(define_insn_reservation "rios2-integer" 1 - (and (eq_attr "type" "integer,insert_word,insert_dword,shift,trap,\ - var_shift_rotate,cntlz,exts,isel") - (eq_attr "cpu" "rios2")) - "iu1_rios2|iu2_rios2") - -(define_insn_reservation "rios2-two" 1 - (and (eq_attr "type" "two") - (eq_attr "cpu" "rios2")) - "iu1_rios2|iu2_rios2,iu1_rios2|iu2_rios2") - -(define_insn_reservation "rios2-three" 1 - (and (eq_attr "type" "three") - (eq_attr "cpu" "rios2")) - "iu1_rios2|iu2_rios2,iu1_rios2|iu2_rios2,iu1_rios2|iu2_rios2") - -(define_insn_reservation "rios2-imul" 2 - (and (eq_attr "type" "imul,imul2,imul3,imul_compare") - (eq_attr "cpu" "rios2")) - "iu1_rios2*2") - -(define_insn_reservation "rios2-idiv" 13 - (and (eq_attr "type" "idiv") - (eq_attr "cpu" "rios2")) - "iu1_rios2*13") - -; compare executes on integer unit, but feeds insns which -; execute on the branch unit. -(define_insn_reservation "rios2-compare" 3 - (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare,\ - var_delayed_compare") - (eq_attr "cpu" "rios2")) - "(iu1_rios2|iu2_rios2),nothing,bpu_rios2") - -(define_insn_reservation "rios2-fp" 2 - (and (eq_attr "type" "fp") - (eq_attr "cpu" "rios2")) - "fpu1_rios2|fpu2_rios2") - -(define_insn_reservation "rios2-fpcompare" 5 - (and (eq_attr "type" "fpcompare") - (eq_attr "cpu" "rios2")) - "(fpu1_rios2|fpu2_rios2),nothing*3,bpu_rios2") - -(define_insn_reservation "rios2-dmul" 2 - (and (eq_attr "type" "dmul") - (eq_attr "cpu" "rios2")) - "fpu1_rios2|fpu2_rios2") - -(define_insn_reservation "rios2-sdiv" 17 - (and (eq_attr "type" "sdiv,ddiv") - (eq_attr "cpu" "rios2")) - "(fpu1_rios2*17)|(fpu2_rios2*17)") - -(define_insn_reservation "rios2-ssqrt" 26 - (and (eq_attr "type" "ssqrt,dsqrt") - (eq_attr "cpu" "rios2")) - "(fpu1_rios2*26)|(fpu2_rios2*26)") - -(define_insn_reservation "rios2-mfcr" 2 - (and (eq_attr "type" "mfcr") - (eq_attr "cpu" "rios2")) - "iu1_rios2,bpu_rios2") - -(define_insn_reservation "rios2-mtcr" 3 - (and (eq_attr "type" "mtcr") - (eq_attr "cpu" "rios2")) - "iu1_rios2,bpu_rios2") - -(define_insn_reservation "rios2-crlogical" 3 - (and (eq_attr "type" "cr_logical,delayed_cr") - (eq_attr "cpu" "rios2")) - "bpu_rios2") - -(define_insn_reservation "rios2-mtjmpr" 5 - (and (eq_attr "type" "mtjmpr") - (eq_attr "cpu" "rios2")) - "iu1_rios2,bpu_rios2") - -(define_insn_reservation "rios2-mfjmpr" 2 - (and (eq_attr "type" "mfjmpr") - (eq_attr "cpu" "rios2")) - "iu1_rios2,bpu_rios2") - -(define_insn_reservation "rios2-branch" 1 - (and (eq_attr "type" "jmpreg,branch,isync") - (eq_attr "cpu" "rios2")) - "bpu_rios2") - diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def index 6f4e055..74c5803 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -1,7 +1,5 @@ /* IBM RS/6000 CPU names.. - Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1991-2012 Free Software Foundation, Inc. Contributed by Richard Kenner (ken...@vlsi1.ultra.nyu.edu) This file is part of GCC. @@ -133,11 +131,5 @@ RS6000_CPU ("power7", PROCESSOR_POWER7, /* Don't add MASK_ISEL by default */ RS6000_CPU ("powerpc", PROCESSOR_POWERPC, POWERPC_BASE_MASK) RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64, POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64) -RS6000_CPU ("rios", PROCESSOR_RIOS1, MASK_POWER | MASK_MULTIPLE | MASK_STRING) -RS6000_CPU ("rios1", PROCESSOR_RIOS1, MASK_POWER | MASK_MULTIPLE | MASK_STRING) -RS6000_CPU ("rios2", PROCESSOR_RIOS2, - MASK_POWER | MASK_POWER2 | MASK_MULTIPLE | MASK_STRING) -RS6000_CPU ("rsc", PROCESSOR_PPC601, MASK_POWER | MASK_MULTIPLE | MASK_STRING) -RS6000_CPU ("rsc1", PROCESSOR_PPC601, MASK_POWER | MASK_MULTIPLE | MASK_STRING) RS6000_CPU ("rs64", PROCESSOR_RS64A, POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64) diff --git a/gcc/config/rs6000/rs6000-opts.h b/gcc/config/rs6000/rs6000-opts.h index 604fe17..ea5f101 100644 --- a/gcc/config/rs6000/rs6000-opts.h +++ b/gcc/config/rs6000/rs6000-opts.h @@ -1,7 +1,6 @@ /* Definitions of target machine needed for option handling for GNU compiler, for IBM RS/6000. - Copyright (C) 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 2010-2012 Free Software Foundation, Inc. Contributed by Michael Meissner (meiss...@linux.vnet.ibm.com) This file is part of GCC. @@ -31,8 +30,6 @@ /* Processor type. Order must match cpu attribute in MD file. */ enum processor_type { - PROCESSOR_RIOS1, - PROCESSOR_RIOS2, PROCESSOR_RS64A, PROCESSOR_MPCCORE, PROCESSOR_PPC403, diff --git a/gcc/config/rs6000/rs6000-tables.opt b/gcc/config/rs6000/rs6000-tables.opt index ccf2b85..2cc5f7a 100644 --- a/gcc/config/rs6000/rs6000-tables.opt +++ b/gcc/config/rs6000/rs6000-tables.opt @@ -192,20 +192,5 @@ EnumValue Enum(rs6000_cpu_opt_value) String(powerpc64) Value(54) EnumValue -Enum(rs6000_cpu_opt_value) String(rios) Value(55) - -EnumValue -Enum(rs6000_cpu_opt_value) String(rios1) Value(56) - -EnumValue -Enum(rs6000_cpu_opt_value) String(rios2) Value(57) - -EnumValue -Enum(rs6000_cpu_opt_value) String(rsc) Value(58) - -EnumValue -Enum(rs6000_cpu_opt_value) String(rsc1) Value(59) - -EnumValue -Enum(rs6000_cpu_opt_value) String(rs64) Value(60) +Enum(rs6000_cpu_opt_value) String(rs64) Value(55) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index fe7c4d7..337a95d 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1,8 +1,5 @@ /* Subroutines used for code generation on IBM RS/6000. - Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, - 2012 - Free Software Foundation, Inc. + Copyright (C) 1991-2012 Free Software Foundation, Inc. Contributed by Richard Kenner (ken...@vlsi1.ultra.nyu.edu) This file is part of GCC. @@ -354,44 +351,6 @@ struct processor_costs size64_cost = { 0, }; -/* Instruction costs on RIOS1 processors. */ -static const -struct processor_costs rios1_cost = { - COSTS_N_INSNS (5), /* mulsi */ - COSTS_N_INSNS (4), /* mulsi_const */ - COSTS_N_INSNS (3), /* mulsi_const9 */ - COSTS_N_INSNS (5), /* muldi */ - COSTS_N_INSNS (19), /* divsi */ - COSTS_N_INSNS (19), /* divdi */ - COSTS_N_INSNS (2), /* fp */ - COSTS_N_INSNS (2), /* dmul */ - COSTS_N_INSNS (19), /* sdiv */ - COSTS_N_INSNS (19), /* ddiv */ - 128, /* cache line size */ - 64, /* l1 cache */ - 512, /* l2 cache */ - 0, /* streams */ -}; - -/* Instruction costs on RIOS2 processors. */ -static const -struct processor_costs rios2_cost = { - COSTS_N_INSNS (2), /* mulsi */ - COSTS_N_INSNS (2), /* mulsi_const */ - COSTS_N_INSNS (2), /* mulsi_const9 */ - COSTS_N_INSNS (2), /* muldi */ - COSTS_N_INSNS (13), /* divsi */ - COSTS_N_INSNS (13), /* divdi */ - COSTS_N_INSNS (2), /* fp */ - COSTS_N_INSNS (2), /* dmul */ - COSTS_N_INSNS (17), /* sdiv */ - COSTS_N_INSNS (17), /* ddiv */ - 256, /* cache line size */ - 256, /* l1 cache */ - 1024, /* l2 cache */ - 0, /* streams */ -}; - /* Instruction costs on RS64A processors. */ static const struct processor_costs rs64a_cost = { @@ -3001,14 +2960,6 @@ rs6000_option_override_internal (bool global_init_p) else switch (rs6000_cpu) { - case PROCESSOR_RIOS1: - rs6000_cost = &rios1_cost; - break; - - case PROCESSOR_RIOS2: - rs6000_cost = &rios2_cost; - break; - case PROCESSOR_RS64A: rs6000_cost = &rs64a_cost; break; @@ -6575,8 +6526,7 @@ rs6000_conditional_register_usage (void) fprintf (stderr, "rs6000_conditional_register_usage called\n"); /* Set MQ register fixed (already call_used) if not POWER - architecture (RIOS1, RIOS2, RSC, and PPC601) so that it will not - be allocated. */ + architecture (PPC601) so that it will not be allocated. */ if (! TARGET_POWER) fixed_regs[64] = 1; @@ -23162,7 +23112,6 @@ rs6000_issue_rate (void) return 1; switch (rs6000_cpu_attr) { - case CPU_RIOS1: /* ? */ case CPU_RS64A: case CPU_PPC601: /* ? */ case CPU_PPC7450: @@ -23182,7 +23131,6 @@ rs6000_issue_rate (void) case CPU_PPCE6500: case CPU_TITAN: return 2; - case CPU_RIOS2: case CPU_PPC476: case CPU_PPC604: case CPU_PPC604E: diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 2c8a7dd..fea4bac 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1,8 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM RS/6000. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1992-2012 Free Software Foundation, Inc. Contributed by Richard Kenner (ken...@vlsi1.ultra.nyu.edu) This file is part of GCC. @@ -124,11 +121,6 @@ %{mcpu=power7: %(asm_cpu_power7)} \ %{mcpu=a2: -ma2} \ %{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ %{mcpu=rs64a: -mppc64} \ %{mcpu=401: -mppc} \ %{mcpu=403: -m403} \ @@ -356,12 +348,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); /* Define generic processor types based upon current deployment. */ #define PROCESSOR_COMMON PROCESSOR_PPC601 -#define PROCESSOR_POWER PROCESSOR_RIOS1 +#define PROCESSOR_POWER PROCESSOR_PPC601 #define PROCESSOR_POWERPC PROCESSOR_PPC604 #define PROCESSOR_POWERPC64 PROCESSOR_RS64A /* Define the default processor. This is overridden by other tm.h files. */ -#define PROCESSOR_DEFAULT PROCESSOR_RIOS1 +#define PROCESSOR_DEFAULT PROCESSOR_PPC603 #define PROCESSOR_DEFAULT64 PROCESSOR_RS64A /* Specify the dialect of assembler to use. New mnemonics is dialect one diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 7f7f5ad..0dc4d34 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1,8 +1,5 @@ ;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler -;; Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -;; 2011, 2012 -;; Free Software Foundation, Inc. +;; Copyright (C) 1990-2012 Free Software Foundation, Inc. ;; Contributed by Richard Kenner (ken...@vlsi1.ultra.nyu.edu) ;; This file is part of GCC. @@ -167,7 +164,7 @@ (define_attr "length" "" ;; Processor type -- this attribute must exactly match the processor_type ;; enumeration in rs6000.h. -(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,ppce6500,power4,power5,power6,power7,cell,ppca2,titan" +(define_attr "cpu" "rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,ppce6500,power4,power5,power6,power7,cell,ppca2,titan" (const (symbol_ref "rs6000_cpu_attr"))) @@ -180,13 +177,12 @@ (define_attr "cell_micro" "not,conditional,always" (automata_option "ndfa") -(include "rios1.md") -(include "rios2.md") (include "rs64.md") (include "mpc.md") (include "40x.md") (include "440.md") (include "476.md") +(include "601.md") (include "603.md") (include "6xx.md") (include "7xx.md") diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index d428133..fd3a272 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -1,7 +1,6 @@ ; Options for the rs6000 port of the compiler ; -; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -; Foundation, Inc. +; Copyright (C) 2005-2012 Free Software Foundation, Inc. ; Contributed by Aldy Hernandez <a...@quesejoda.com>. ; ; This file is part of GCC. @@ -25,7 +24,7 @@ config/rs6000/rs6000-opts.h ;; Current processor TargetVariable -enum processor_type rs6000_cpu = PROCESSOR_RIOS1 +enum processor_type rs6000_cpu = PROCESSOR_PPC603 ;; Always emit branch hint bits. TargetVariable diff --git a/gcc/config/rs6000/t-aix43 b/gcc/config/rs6000/t-aix43 index 97ce70e..c857c44 100644 --- a/gcc/config/rs6000/t-aix43 +++ b/gcc/config/rs6000/t-aix43 @@ -1,5 +1,4 @@ -# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -# 2006, 2011 Free Software Foundation, Inc. +# Copyright (C) 1998-2012 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -31,10 +30,6 @@ MULTILIB_MATCHES = mcpu?power=mcpu?power \ mcpu?powerpc=mcpu?power3 \ mcpu?powerpc=mcpu?power4 \ mcpu?powerpc=mcpu?powerpc \ - mcpu?power=mcpu?rios1 \ - mcpu?power=mcpu?rios2 \ - mcpu?power=mcpu?rsc \ - mcpu?power=mcpu?rsc1 \ mcpu?powerpc=mcpu?rs64a \ mcpu?powerpc=mcpu?601 \ mcpu?powerpc=mcpu?602 \ diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000 index 100dccc..8acc339 100644 --- a/gcc/config/rs6000/t-rs6000 +++ b/gcc/config/rs6000/t-rs6000 @@ -1,7 +1,6 @@ # General rules that all rs6000/ targets must have. # -# Copyright (C) 1995, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2008, 2009, -# 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1995-2012 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -44,12 +43,11 @@ $(srcdir)/config/rs6000/rs6000-tables.opt: $(srcdir)/config/rs6000/genopt.sh \ # The rs6000 backend doesn't cause warnings in these files. insn-conditions.o-warn = -MD_INCLUDES = $(srcdir)/config/rs6000/rios1.md \ - $(srcdir)/config/rs6000/rios2.md \ - $(srcdir)/config/rs6000/rs64.md \ +MD_INCLUDES = $(srcdir)/config/rs6000/rs64.md \ $(srcdir)/config/rs6000/mpc.md \ $(srcdir)/config/rs6000/40x.md \ $(srcdir)/config/rs6000/440.md \ + $(srcdir)/config/rs6000/601.md \ $(srcdir)/config/rs6000/603.md \ $(srcdir)/config/rs6000/6xx.md \ $(srcdir)/config/rs6000/7xx.md \ -- 1.7.7.6