diff options
author | bergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-07 19:49:51 +0000 |
---|---|---|
committer | bergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-07 19:49:51 +0000 |
commit | 721599fd92335e8c39b1a23939e9ff596fb2bc32 (patch) | |
tree | 10251efaddcf0da133477c54d3d8677f44805212 /gcc/config/rs6000 | |
parent | d26548007fdd72d0957d6c7bff2fbcae75b4a72e (diff) | |
download | gcc-721599fd92335e8c39b1a23939e9ff596fb2bc32.tar.gz |
* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193307 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/aix53.h | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/aix61.h | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/driver-rs6000.c | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-cpus.def | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-tables.opt | 9 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 8 |
6 files changed, 22 insertions, 3 deletions
diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h index 7faba731846..baafb51af29 100644 --- a/gcc/config/rs6000/aix53.h +++ b/gcc/config/rs6000/aix53.h @@ -62,6 +62,7 @@ do { \ %{mcpu=power6: -mpwr6} \ %{mcpu=power6x: -mpwr6} \ %{mcpu=power7: -mpwr7} \ +%{mcpu=power8: -mpwr8} \ %{mcpu=powerpc: -mppc} \ %{mcpu=rs64a: -mppc} \ %{mcpu=603: -m603} \ diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h index 8de6fee3fd9..3fa48a8b9f6 100644 --- a/gcc/config/rs6000/aix61.h +++ b/gcc/config/rs6000/aix61.h @@ -62,6 +62,7 @@ do { \ %{mcpu=power6: -mpwr6} \ %{mcpu=power6x: -mpwr6} \ %{mcpu=power7: -mpwr7} \ +%{mcpu=power8: -mpwr8} \ %{mcpu=powerpc: -mppc} \ %{mcpu=rs64a: -mppc} \ %{mcpu=603: -m603} \ diff --git a/gcc/config/rs6000/driver-rs6000.c b/gcc/config/rs6000/driver-rs6000.c index 5f24ee7d23d..13381168e8e 100644 --- a/gcc/config/rs6000/driver-rs6000.c +++ b/gcc/config/rs6000/driver-rs6000.c @@ -354,6 +354,7 @@ static const struct asm_name asm_names[] = { { "power6", "-mpwr6" }, { "power6x", "-mpwr6" }, { "power7", "-mpwr7" }, + { "power8", "-mpwr8" }, { "powerpc", "-mppc" }, { "rs64a", "-mppc" }, { "603", "-m603" }, @@ -379,6 +380,7 @@ static const struct asm_name asm_names[] = { { "power6", "%(asm_cpu_power6) -maltivec" }, { "power6x", "%(asm_cpu_power6) -maltivec" }, { "power7", "%(asm_cpu_power7)" }, + { "power8", "%(asm_cpu_power8)" }, { "powerpc", "-mppc" }, { "rs64a", "-mppc64" }, { "401", "-mppc" }, diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def index a0aadf1cf3e..9119f30d894 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -166,6 +166,10 @@ RS6000_CPU ("power7", PROCESSOR_POWER7, /* Don't add MASK_ISEL by default */ POWERPC_7400_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POPCNTB | MASK_FPRND | MASK_CMPB | MASK_DFP | MASK_POPCNTD | MASK_VSX | MASK_RECIP_PRECISION) +RS6000_CPU ("power8", PROCESSOR_POWER7, /* Don't add MASK_ISEL by default */ + POWERPC_7400_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT | MASK_MFCRF + | MASK_POPCNTB | MASK_FPRND | MASK_CMPB | MASK_DFP | MASK_POPCNTD + | MASK_VSX | MASK_RECIP_PRECISION) RS6000_CPU ("powerpc", PROCESSOR_POWERPC, 0) RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64, MASK_PPC_GFXOPT | MASK_POWERPC64) RS6000_CPU ("rs64", PROCESSOR_RS64A, MASK_PPC_GFXOPT | MASK_POWERPC64) diff --git a/gcc/config/rs6000/rs6000-tables.opt b/gcc/config/rs6000/rs6000-tables.opt index f63d9c4f6cc..001988140d2 100644 --- a/gcc/config/rs6000/rs6000-tables.opt +++ b/gcc/config/rs6000/rs6000-tables.opt @@ -177,11 +177,14 @@ EnumValue Enum(rs6000_cpu_opt_value) String(power7) Value(49) EnumValue -Enum(rs6000_cpu_opt_value) String(powerpc) Value(50) +Enum(rs6000_cpu_opt_value) String(power8) Value(50) EnumValue -Enum(rs6000_cpu_opt_value) String(powerpc64) Value(51) +Enum(rs6000_cpu_opt_value) String(powerpc) Value(51) EnumValue -Enum(rs6000_cpu_opt_value) String(rs64) Value(52) +Enum(rs6000_cpu_opt_value) String(powerpc64) Value(52) + +EnumValue +Enum(rs6000_cpu_opt_value) String(rs64) Value(53) diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index d299e631370..f7b0be27776 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -89,6 +89,12 @@ #define ASM_CPU_POWER7_SPEC "-mpower4 -maltivec" #endif +#ifdef HAVE_AS_POWER8 +#define ASM_CPU_POWER8_SPEC "-mpower8" +#else +#define ASM_CPU_POWER8_SPEC "-mpower4 -maltivec" +#endif + #ifdef HAVE_AS_DCI #define ASM_CPU_476_SPEC "-m476" #else @@ -112,6 +118,7 @@ %{mcpu=power6: %(asm_cpu_power6) -maltivec} \ %{mcpu=power6x: %(asm_cpu_power6) -maltivec} \ %{mcpu=power7: %(asm_cpu_power7)} \ +%{mcpu=power8: %(asm_cpu_power8)} \ %{mcpu=a2: -ma2} \ %{mcpu=powerpc: -mppc} \ %{mcpu=rs64a: -mppc64} \ @@ -184,6 +191,7 @@ { "asm_cpu_power5", ASM_CPU_POWER5_SPEC }, \ { "asm_cpu_power6", ASM_CPU_POWER6_SPEC }, \ { "asm_cpu_power7", ASM_CPU_POWER7_SPEC }, \ + { "asm_cpu_power8", ASM_CPU_POWER8_SPEC }, \ { "asm_cpu_476", ASM_CPU_476_SPEC }, \ SUBTARGET_EXTRA_SPECS |