summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-05 15:27:30 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-05 15:27:30 +0000
commit44a61e21a17ba1dbfe363d8e6b5e68e338a58037 (patch)
tree5e46bd7c4f30a41783eb92ef15328c7d73fcc94f
parent6b20224dcbd284826879687753d2e17919cb727a (diff)
downloadgcc-44a61e21a17ba1dbfe363d8e6b5e68e338a58037.tar.gz
2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_fixed_condition_code_regs): New function. (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90126 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/s390/s390.c15
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 27cc8981849..f5b3abdefd3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
+ (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
+
2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
* bitmap.h (enum bitmap_bits): Remove.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 8ba78a218f1..8189de09d41 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -81,6 +81,7 @@ static bool s390_function_ok_for_sibcall (tree, tree);
static bool s390_call_saved_register_used (tree);
static bool s390_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode mode,
tree, bool);
+static bool s390_fixed_condition_code_regs (unsigned int *, unsigned int *);
#undef TARGET_ASM_ALIGNED_HI_OP
#define TARGET_ASM_ALIGNED_HI_OP "\t.word\t"
@@ -156,6 +157,9 @@ static bool s390_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode mode,
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
#define TARGET_FUNCTION_OK_FOR_SIBCALL s390_function_ok_for_sibcall
+#undef TARGET_FIXED_CONDITION_CODE_REGS
+#define TARGET_FIXED_CONDITION_CODE_REGS s390_fixed_condition_code_regs
+
struct gcc_target targetm = TARGET_INITIALIZER;
extern int reload_completed;
@@ -8332,6 +8336,17 @@ s390_function_ok_for_sibcall (tree decl, tree exp)
return true;
}
+/* Return the fixed registers used for condition codes. */
+
+static bool
+s390_fixed_condition_code_regs (unsigned int *p1, unsigned int *p2)
+{
+ *p1 = CC_REGNUM;
+ *p2 = INVALID_REGNUM;
+
+ return true;
+}
+
/* This function is used by the call expanders of the machine description.
It emits the call insn itself together with the necessary operations
to adjust the target address and returns the emitted insn.