aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBen Elliston <bje@au.ibm.com>2008-02-25 18:32:52 +0000
committerBen Elliston <bje@gcc.gnu.org>2008-02-26 05:32:52 +1100
commitcd67948774f2f1f4ee36d27b6a2e7d456d20b260 (patch)
treec899ab1fbb501bf61e16d40b9eb65f40e1531b23 /gcc
parent7660c722d9ed749ad84a919169ad55cf3b30f102 (diff)
downloadgcc-cd67948774f2f1f4ee36d27b6a2e7d456d20b260.zip
gcc-cd67948774f2f1f4ee36d27b6a2e7d456d20b260.tar.gz
gcc-cd67948774f2f1f4ee36d27b6a2e7d456d20b260.tar.bz2
rs6000.h (ASM_CPU_POWER5_SPEC): Define.
* config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define. (ASM_CPU_POWER6_SPEC): Likewise. (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5. Likewise, pass %(asm_cpu_power6) for -mcpu=power6. (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings. From-SVN: r132631
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/rs6000.h22
2 files changed, 26 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c19f508..ac0ddb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-26 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
+ (ASM_CPU_POWER6_SPEC): Likewise.
+ (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
+ Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
+ (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
+
2008-02-25 Richard Guenther <rguenther@suse.de>
* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index f660112..7f7dd57 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -60,6 +60,18 @@
#define TARGET_PAIRED_FLOAT 0
#endif
+#ifdef HAVE_AS_POPCNTB
+#define ASM_CPU_POWER5_SPEC "-mpower5"
+#else
+#define ASM_CPU_POWER5_SPEC "-mpower4"
+#endif
+
+#ifdef HAVE_AS_DFP
+#define ASM_CPU_POWER6_SPEC "-mpower6 -maltivec"
+#else
+#define ASM_CPU_POWER6_SPEC "-mpower4 -maltivec"
+#endif
+
/* Common ASM definitions used by ASM_SPEC among the various targets
for handling -mcpu=xxx switches. */
#define ASM_CPU_SPEC \
@@ -76,10 +88,10 @@
%{mcpu=power2: -mpwrx} \
%{mcpu=power3: -mppc64} \
%{mcpu=power4: -mpower4} \
-%{mcpu=power5: -mpower4} \
-%{mcpu=power5+: -mpower4} \
-%{mcpu=power6: -mpower4 -maltivec} \
-%{mcpu=power6x: -mpower4 -maltivec} \
+%{mcpu=power5: %(asm_cpu_power5)} \
+%{mcpu=power5+: %(asm_cpu_power5)} \
+%{mcpu=power6: %(asm_cpu_power6) -maltivec} \
+%{mcpu=power6x: %(asm_cpu_power6) -maltivec} \
%{mcpu=powerpc: -mppc} \
%{mcpu=rios: -mpwr} \
%{mcpu=rios1: -mpwr} \
@@ -143,6 +155,8 @@
{ "asm_cpu", ASM_CPU_SPEC }, \
{ "asm_default", ASM_DEFAULT_SPEC }, \
{ "cc1_cpu", CC1_CPU_SPEC }, \
+ { "asm_cpu_power5", ASM_CPU_POWER5_SPEC }, \
+ { "asm_cpu_power6", ASM_CPU_POWER6_SPEC }, \
SUBTARGET_EXTRA_SPECS
/* -mcpu=native handling only makes sense with compiler running on