aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.h4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7c41998..a670d87 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-05 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
+ CCmode.
+
2000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
* invoke.texi: Fix minor typos
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index b2c80cd..9db1675 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -812,7 +812,9 @@ while (0)
that one). */
/* ??? movxf_internal does not support XFmode values in integer registers. */
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
- (PR_REGNO_P (REGNO) ? (MODE) == CCmode : 1)
+ (FR_REGNO_P (REGNO) ? (MODE) != CCmode \
+ : PR_REGNO_P (REGNO) ? (MODE) == CCmode \
+ : 1)
/* A C expression that is nonzero if it is desirable to choose register
allocation so as to avoid move instructions between a value of mode MODE1