aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-01-27 11:15:23 +0000
committerAlan Modra <amodra@gcc.gnu.org>2004-01-27 21:45:23 +1030
commit895ea8f080abe5d2b456152cdc49277db059e655 (patch)
treeb8583dbdfc6c40ee1d7122651811da7180d28690
parenta3af79eab6131f17e2be677c12e720c4746cfec1 (diff)
downloadgcc-895ea8f080abe5d2b456152cdc49277db059e655.zip
gcc-895ea8f080abe5d2b456152cdc49277db059e655.tar.gz
gcc-895ea8f080abe5d2b456152cdc49277db059e655.tar.bz2
rs6000.h: Correct target_flags free bits comment.
* config/rs6000/rs6000.h: Correct target_flags free bits comment. (PREDICATE_CODES): Remove duplicate. * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. (MASK_PROFILE_KERNEL): Adjust define. From-SVN: r76697
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/linux64.h11
-rw-r--r--gcc/config/rs6000/rs6000.h7
3 files changed, 17 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05c5fb5..e4319c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-01-27 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.h: Correct target_flags free bits comment.
+ (PREDICATE_CODES): Remove duplicate.
+ * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
+ (MASK_PROFILE_KERNEL): Adjust define.
+
2004-01-27 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 560795e..6bb60d3 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -100,6 +100,11 @@
{ \
if (!RS6000_BI_ARCH_P) \
error (INVALID_32BIT, "32"); \
+ if (TARGET_PROFILE_KERNEL) \
+ { \
+ target_flags &= ~MASK_PROFILE_KERNEL; \
+ error (INVALID_32BIT, "profile-kernel"); \
+ } \
} \
} \
while (0)
@@ -186,7 +191,7 @@
#endif
-#define MASK_PROFILE_KERNEL 0x00080000
+#define MASK_PROFILE_KERNEL 0x00100000
/* Non-standard profiling for kernels, which just saves LR then calls
_mcount without worrying about arg saves. The idea is to change
@@ -282,10 +287,6 @@
#undef MD_EXEC_PREFIX
#undef MD_STARTFILE_PREFIX
-/* Override sysv4.h */
-#undef CPP_SYSV_SPEC
-#define CPP_SYSV_SPEC ""
-
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 3d791a5..4d83416 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -193,9 +193,9 @@ extern int target_flags;
/* Use single field mfcr instruction. */
#define MASK_MFCRF 0x00080000
-/* The only remaining free bits are 0x00700000. sysv4.h uses
- 0x00800000 -> 0x40000000, and 0x80000000 is not available
- because target_flags is signed. */
+/* The only remaining free bits are 0x00600000. linux64.h uses
+ 0x00100000, and sysv4.h uses 0x00800000 -> 0x40000000.
+ 0x80000000 is not available because target_flags is signed. */
#define TARGET_POWER (target_flags & MASK_POWER)
#define TARGET_POWER2 (target_flags & MASK_POWER2)
@@ -2653,7 +2653,6 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */
{"reg_or_logical_cint_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"got_operand", {SYMBOL_REF, CONST, LABEL_REF}}, \
{"got_no_const_operand", {SYMBOL_REF, LABEL_REF}}, \
- {"rs6000_tls_symbol_ref", {SYMBOL_REF}}, \
{"easy_fp_constant", {CONST_DOUBLE}}, \
{"easy_vector_constant", {CONST_VECTOR}}, \
{"easy_vector_constant_add_self", {CONST_VECTOR}}, \