summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-14 23:47:14 +0000
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-14 23:47:14 +0000
commite52ae59d4d1542eea6317a2a78ff2b677a347b7d (patch)
treed3e978e62679860c8f8d05d151edf9d6df0f8449
parentc98c6570eb1b61ed69bb470170bf6641c3bd892f (diff)
downloadgcc-e52ae59d4d1542eea6317a2a78ff2b677a347b7d.tar.gz
* config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
for 'f' if !TARGET_FPRS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89067 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 440b4751976..c872a661b04 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
+ for 'f' if !TARGET_FPRS.
+
2004-10-14 Richard Henderson <rth@redhat.com>
PR debug/14492
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 399f2e22d60..848b79d38b2 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1283,7 +1283,7 @@ enum reg_class
/* Get reg_class from a letter such as appears in the machine description. */
#define REG_CLASS_FROM_LETTER(C) \
- ((C) == 'f' ? FLOAT_REGS \
+ ((C) == 'f' ? ((TARGET_HARD_FLOAT && TARGET_FPRS) ? FLOAT_REGS : NO_REGS) \
: (C) == 'b' ? BASE_REGS \
: (C) == 'h' ? SPECIAL_REGS \
: (C) == 'q' ? MQ_REGS \