mirror of git://gcc.gnu.org/git/gcc.git
601.md: New file.
2012-07-27 Segher Boessenkool <segher@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 .
From-SVN: r189907
This commit is contained in:
parent
d580407bc4
commit
f3061fa418
|
|
@ -1,3 +1,38 @@
|
||||||
|
2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
|
||||||
|
|
||||||
|
* 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 .
|
||||||
|
|
||||||
2012-07-26 Richard Henderson <rth@redhat.com>
|
2012-07-26 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* doc/extend.texi (attribute): Document hot/cold for labels.
|
* doc/extend.texi (attribute): Document hot/cold for labels.
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
/* Definitions of target machine for GNU compiler,
|
/* Definitions of target machine for GNU compiler,
|
||||||
for IBM RS/6000 POWER running AIX version 4.3.
|
for IBM RS/6000 POWER running AIX version 4.3.
|
||||||
Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
Copyright (C) 1998-2012 Free Software Foundation, Inc.
|
||||||
2007, 2009, 2010, 2011 Free Software Foundation, Inc.
|
|
||||||
Contributed by David Edelsohn (edelsohn@gnu.org).
|
Contributed by David Edelsohn (edelsohn@gnu.org).
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
@ -67,11 +66,6 @@ do { \
|
||||||
%{mcpu=power3: -m620} \
|
%{mcpu=power3: -m620} \
|
||||||
%{mcpu=power4: -m620} \
|
%{mcpu=power4: -m620} \
|
||||||
%{mcpu=powerpc: -mppc} \
|
%{mcpu=powerpc: -mppc} \
|
||||||
%{mcpu=rios: -mpwr} \
|
|
||||||
%{mcpu=rios1: -mpwr} \
|
|
||||||
%{mcpu=rios2: -mpwr2} \
|
|
||||||
%{mcpu=rsc: -mpwr} \
|
|
||||||
%{mcpu=rsc1: -mpwr} \
|
|
||||||
%{mcpu=rs64a: -mppc} \
|
%{mcpu=rs64a: -mppc} \
|
||||||
%{mcpu=601: -m601} \
|
%{mcpu=601: -m601} \
|
||||||
%{mcpu=602: -mppc} \
|
%{mcpu=602: -mppc} \
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
/* Definitions of target machine for GNU compiler,
|
/* Definitions of target machine for GNU compiler,
|
||||||
for IBM RS/6000 POWER running AIX V5.
|
for IBM RS/6000 POWER running AIX V5.
|
||||||
Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by David Edelsohn (edelsohn@gnu.org).
|
Contributed by David Edelsohn (edelsohn@gnu.org).
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
@ -61,11 +60,6 @@ do { \
|
||||||
%{mcpu=power3: -m620} \
|
%{mcpu=power3: -m620} \
|
||||||
%{mcpu=power4: -m620} \
|
%{mcpu=power4: -m620} \
|
||||||
%{mcpu=powerpc: -mppc} \
|
%{mcpu=powerpc: -mppc} \
|
||||||
%{mcpu=rios: -mpwr} \
|
|
||||||
%{mcpu=rios1: -mpwr} \
|
|
||||||
%{mcpu=rios2: -mpwr2} \
|
|
||||||
%{mcpu=rsc: -mpwr} \
|
|
||||||
%{mcpu=rsc1: -mpwr} \
|
|
||||||
%{mcpu=rs64a: -mppc} \
|
%{mcpu=rs64a: -mppc} \
|
||||||
%{mcpu=601: -m601} \
|
%{mcpu=601: -m601} \
|
||||||
%{mcpu=602: -mppc} \
|
%{mcpu=602: -mppc} \
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Subroutines for the gcc driver.
|
/* 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.
|
This file is part of GCC.
|
||||||
|
|
||||||
|
|
@ -295,15 +295,6 @@ detect_processor_aix (void)
|
||||||
{
|
{
|
||||||
switch (_system_configuration.implementation)
|
switch (_system_configuration.implementation)
|
||||||
{
|
{
|
||||||
case 0x0001:
|
|
||||||
return "rios1";
|
|
||||||
|
|
||||||
case 0x0002:
|
|
||||||
return "rsc";
|
|
||||||
|
|
||||||
case 0x0004:
|
|
||||||
return "rios2";
|
|
||||||
|
|
||||||
case 0x0008:
|
case 0x0008:
|
||||||
return "601";
|
return "601";
|
||||||
|
|
||||||
|
|
@ -392,11 +383,6 @@ static const struct asm_name asm_names[] = {
|
||||||
{ "power6x", "%(asm_cpu_power6) -maltivec" },
|
{ "power6x", "%(asm_cpu_power6) -maltivec" },
|
||||||
{ "power7", "%(asm_cpu_power7)" },
|
{ "power7", "%(asm_cpu_power7)" },
|
||||||
{ "powerpc", "-mppc" },
|
{ "powerpc", "-mppc" },
|
||||||
{ "rios", "-mpwr" },
|
|
||||||
{ "rios1", "-mpwr" },
|
|
||||||
{ "rios2", "-mpwrx" },
|
|
||||||
{ "rsc", "-mpwr" },
|
|
||||||
{ "rsc1", "-mpwr" },
|
|
||||||
{ "rs64a", "-mppc64" },
|
{ "rs64a", "-mppc64" },
|
||||||
{ "401", "-mppc" },
|
{ "401", "-mppc" },
|
||||||
{ "403", "-m403" },
|
{ "403", "-m403" },
|
||||||
|
|
|
||||||
|
|
@ -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")
|
|
||||||
|
|
||||||
|
|
@ -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")
|
|
||||||
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
/* IBM RS/6000 CPU names..
|
/* IBM RS/6000 CPU names..
|
||||||
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright (C) 1991-2012 Free Software Foundation, Inc.
|
||||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||||
|
|
||||||
This file is part of GCC.
|
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 ("powerpc", PROCESSOR_POWERPC, POWERPC_BASE_MASK)
|
||||||
RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64,
|
RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64,
|
||||||
POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_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,
|
RS6000_CPU ("rs64", PROCESSOR_RS64A,
|
||||||
POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
|
POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
/* Definitions of target machine needed for option handling for GNU compiler,
|
/* Definitions of target machine needed for option handling for GNU compiler,
|
||||||
for IBM RS/6000.
|
for IBM RS/6000.
|
||||||
Copyright (C) 2010, 2011
|
Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
|
Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
@ -31,8 +30,6 @@
|
||||||
/* Processor type. Order must match cpu attribute in MD file. */
|
/* Processor type. Order must match cpu attribute in MD file. */
|
||||||
enum processor_type
|
enum processor_type
|
||||||
{
|
{
|
||||||
PROCESSOR_RIOS1,
|
|
||||||
PROCESSOR_RIOS2,
|
|
||||||
PROCESSOR_RS64A,
|
PROCESSOR_RS64A,
|
||||||
PROCESSOR_MPCCORE,
|
PROCESSOR_MPCCORE,
|
||||||
PROCESSOR_PPC403,
|
PROCESSOR_PPC403,
|
||||||
|
|
|
||||||
|
|
@ -192,20 +192,5 @@ EnumValue
|
||||||
Enum(rs6000_cpu_opt_value) String(powerpc64) Value(54)
|
Enum(rs6000_cpu_opt_value) String(powerpc64) Value(54)
|
||||||
|
|
||||||
EnumValue
|
EnumValue
|
||||||
Enum(rs6000_cpu_opt_value) String(rios) Value(55)
|
Enum(rs6000_cpu_opt_value) String(rs64) 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)
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
/* Subroutines used for code generation on IBM RS/6000.
|
/* Subroutines used for code generation on IBM RS/6000.
|
||||||
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright (C) 1991-2012 Free Software Foundation, Inc.
|
||||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
|
|
||||||
2012
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
@ -354,44 +351,6 @@ struct processor_costs size64_cost = {
|
||||||
0,
|
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. */
|
/* Instruction costs on RS64A processors. */
|
||||||
static const
|
static const
|
||||||
struct processor_costs rs64a_cost = {
|
struct processor_costs rs64a_cost = {
|
||||||
|
|
@ -3001,14 +2960,6 @@ rs6000_option_override_internal (bool global_init_p)
|
||||||
else
|
else
|
||||||
switch (rs6000_cpu)
|
switch (rs6000_cpu)
|
||||||
{
|
{
|
||||||
case PROCESSOR_RIOS1:
|
|
||||||
rs6000_cost = &rios1_cost;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROCESSOR_RIOS2:
|
|
||||||
rs6000_cost = &rios2_cost;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROCESSOR_RS64A:
|
case PROCESSOR_RS64A:
|
||||||
rs6000_cost = &rs64a_cost;
|
rs6000_cost = &rs64a_cost;
|
||||||
break;
|
break;
|
||||||
|
|
@ -6575,8 +6526,7 @@ rs6000_conditional_register_usage (void)
|
||||||
fprintf (stderr, "rs6000_conditional_register_usage called\n");
|
fprintf (stderr, "rs6000_conditional_register_usage called\n");
|
||||||
|
|
||||||
/* Set MQ register fixed (already call_used) if not POWER
|
/* Set MQ register fixed (already call_used) if not POWER
|
||||||
architecture (RIOS1, RIOS2, RSC, and PPC601) so that it will not
|
architecture (PPC601) so that it will not be allocated. */
|
||||||
be allocated. */
|
|
||||||
if (! TARGET_POWER)
|
if (! TARGET_POWER)
|
||||||
fixed_regs[64] = 1;
|
fixed_regs[64] = 1;
|
||||||
|
|
||||||
|
|
@ -23162,7 +23112,6 @@ rs6000_issue_rate (void)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
switch (rs6000_cpu_attr) {
|
switch (rs6000_cpu_attr) {
|
||||||
case CPU_RIOS1: /* ? */
|
|
||||||
case CPU_RS64A:
|
case CPU_RS64A:
|
||||||
case CPU_PPC601: /* ? */
|
case CPU_PPC601: /* ? */
|
||||||
case CPU_PPC7450:
|
case CPU_PPC7450:
|
||||||
|
|
@ -23182,7 +23131,6 @@ rs6000_issue_rate (void)
|
||||||
case CPU_PPCE6500:
|
case CPU_PPCE6500:
|
||||||
case CPU_TITAN:
|
case CPU_TITAN:
|
||||||
return 2;
|
return 2;
|
||||||
case CPU_RIOS2:
|
|
||||||
case CPU_PPC476:
|
case CPU_PPC476:
|
||||||
case CPU_PPC604:
|
case CPU_PPC604:
|
||||||
case CPU_PPC604E:
|
case CPU_PPC604E:
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
|
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright (C) 1992-2012 Free Software Foundation, Inc.
|
||||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
|
||||||
2010, 2011
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
@ -124,11 +121,6 @@
|
||||||
%{mcpu=power7: %(asm_cpu_power7)} \
|
%{mcpu=power7: %(asm_cpu_power7)} \
|
||||||
%{mcpu=a2: -ma2} \
|
%{mcpu=a2: -ma2} \
|
||||||
%{mcpu=powerpc: -mppc} \
|
%{mcpu=powerpc: -mppc} \
|
||||||
%{mcpu=rios: -mpwr} \
|
|
||||||
%{mcpu=rios1: -mpwr} \
|
|
||||||
%{mcpu=rios2: -mpwrx} \
|
|
||||||
%{mcpu=rsc: -mpwr} \
|
|
||||||
%{mcpu=rsc1: -mpwr} \
|
|
||||||
%{mcpu=rs64a: -mppc64} \
|
%{mcpu=rs64a: -mppc64} \
|
||||||
%{mcpu=401: -mppc} \
|
%{mcpu=401: -mppc} \
|
||||||
%{mcpu=403: -m403} \
|
%{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 generic processor types based upon current deployment. */
|
||||||
#define PROCESSOR_COMMON PROCESSOR_PPC601
|
#define PROCESSOR_COMMON PROCESSOR_PPC601
|
||||||
#define PROCESSOR_POWER PROCESSOR_RIOS1
|
#define PROCESSOR_POWER PROCESSOR_PPC601
|
||||||
#define PROCESSOR_POWERPC PROCESSOR_PPC604
|
#define PROCESSOR_POWERPC PROCESSOR_PPC604
|
||||||
#define PROCESSOR_POWERPC64 PROCESSOR_RS64A
|
#define PROCESSOR_POWERPC64 PROCESSOR_RS64A
|
||||||
|
|
||||||
/* Define the default processor. This is overridden by other tm.h files. */
|
/* 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
|
#define PROCESSOR_DEFAULT64 PROCESSOR_RS64A
|
||||||
|
|
||||||
/* Specify the dialect of assembler to use. New mnemonics is dialect one
|
/* Specify the dialect of assembler to use. New mnemonics is dialect one
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
|
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
|
||||||
;; Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
;; Copyright (C) 1990-2012 Free Software Foundation, Inc.
|
||||||
;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
|
||||||
;; 2011, 2012
|
|
||||||
;; Free Software Foundation, Inc.
|
|
||||||
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||||
|
|
||||||
;; This file is part of GCC.
|
;; This file is part of GCC.
|
||||||
|
|
@ -167,7 +164,7 @@
|
||||||
;; Processor type -- this attribute must exactly match the processor_type
|
;; Processor type -- this attribute must exactly match the processor_type
|
||||||
;; enumeration in rs6000.h.
|
;; 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")))
|
(const (symbol_ref "rs6000_cpu_attr")))
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -180,13 +177,12 @@
|
||||||
|
|
||||||
(automata_option "ndfa")
|
(automata_option "ndfa")
|
||||||
|
|
||||||
(include "rios1.md")
|
|
||||||
(include "rios2.md")
|
|
||||||
(include "rs64.md")
|
(include "rs64.md")
|
||||||
(include "mpc.md")
|
(include "mpc.md")
|
||||||
(include "40x.md")
|
(include "40x.md")
|
||||||
(include "440.md")
|
(include "440.md")
|
||||||
(include "476.md")
|
(include "476.md")
|
||||||
|
(include "601.md")
|
||||||
(include "603.md")
|
(include "603.md")
|
||||||
(include "6xx.md")
|
(include "6xx.md")
|
||||||
(include "7xx.md")
|
(include "7xx.md")
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
; Options for the rs6000 port of the compiler
|
; Options for the rs6000 port of the compiler
|
||||||
;
|
;
|
||||||
; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
; Copyright (C) 2005-2012 Free Software Foundation, Inc.
|
||||||
; Foundation, Inc.
|
|
||||||
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
|
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
|
||||||
;
|
;
|
||||||
; This file is part of GCC.
|
; This file is part of GCC.
|
||||||
|
|
@ -25,7 +24,7 @@ config/rs6000/rs6000-opts.h
|
||||||
|
|
||||||
;; Current processor
|
;; Current processor
|
||||||
TargetVariable
|
TargetVariable
|
||||||
enum processor_type rs6000_cpu = PROCESSOR_RIOS1
|
enum processor_type rs6000_cpu = PROCESSOR_PPC603
|
||||||
|
|
||||||
;; Always emit branch hint bits.
|
;; Always emit branch hint bits.
|
||||||
TargetVariable
|
TargetVariable
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
# Copyright (C) 1998-2012 Free Software Foundation, Inc.
|
||||||
# 2006, 2011 Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This file is part of GCC.
|
# This file is part of GCC.
|
||||||
#
|
#
|
||||||
|
|
@ -31,10 +30,6 @@ MULTILIB_MATCHES = mcpu?power=mcpu?power \
|
||||||
mcpu?powerpc=mcpu?power3 \
|
mcpu?powerpc=mcpu?power3 \
|
||||||
mcpu?powerpc=mcpu?power4 \
|
mcpu?powerpc=mcpu?power4 \
|
||||||
mcpu?powerpc=mcpu?powerpc \
|
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?rs64a \
|
||||||
mcpu?powerpc=mcpu?601 \
|
mcpu?powerpc=mcpu?601 \
|
||||||
mcpu?powerpc=mcpu?602 \
|
mcpu?powerpc=mcpu?602 \
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
# General rules that all rs6000/ targets must have.
|
# General rules that all rs6000/ targets must have.
|
||||||
#
|
#
|
||||||
# Copyright (C) 1995, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2008, 2009,
|
# Copyright (C) 1995-2012 Free Software Foundation, Inc.
|
||||||
# 2010, 2011 Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This file is part of GCC.
|
# 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.
|
# The rs6000 backend doesn't cause warnings in these files.
|
||||||
insn-conditions.o-warn =
|
insn-conditions.o-warn =
|
||||||
|
|
||||||
MD_INCLUDES = $(srcdir)/config/rs6000/rios1.md \
|
MD_INCLUDES = $(srcdir)/config/rs6000/rs64.md \
|
||||||
$(srcdir)/config/rs6000/rios2.md \
|
|
||||||
$(srcdir)/config/rs6000/rs64.md \
|
|
||||||
$(srcdir)/config/rs6000/mpc.md \
|
$(srcdir)/config/rs6000/mpc.md \
|
||||||
$(srcdir)/config/rs6000/40x.md \
|
$(srcdir)/config/rs6000/40x.md \
|
||||||
$(srcdir)/config/rs6000/440.md \
|
$(srcdir)/config/rs6000/440.md \
|
||||||
|
$(srcdir)/config/rs6000/601.md \
|
||||||
$(srcdir)/config/rs6000/603.md \
|
$(srcdir)/config/rs6000/603.md \
|
||||||
$(srcdir)/config/rs6000/6xx.md \
|
$(srcdir)/config/rs6000/6xx.md \
|
||||||
$(srcdir)/config/rs6000/7xx.md \
|
$(srcdir)/config/rs6000/7xx.md \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue