summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorths <ths@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-09 08:19:15 +0000
committerths <ths@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-09 08:19:15 +0000
commit5ae67b1bc16ff12a479d2cfe16d1b315ed1dbd0f (patch)
treed1de596dfcf5f12178f5810063ed56338dd09bc0
parent45ed0f48e8d7b2eb02809fad175e658c9b103843 (diff)
downloadppe42-gcc-5ae67b1bc16ff12a479d2cfe16d1b315ed1dbd0f.tar.gz
ppe42-gcc-5ae67b1bc16ff12a479d2cfe16d1b315ed1dbd0f.zip
* config/mips/mips.c (override_options): Don't allow too small
integers in FP registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108276 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5faabaf6f4d..22a9fbccd62 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-09 Thiemo Seufer <ths@networkno.de>
+
+ * config/mips/mips.c (override_options): Don't allow too small
+ integers in FP registers.
+
2005-12-09 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (s390_function_ok_for_sibcall): Use
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 3e7d0f0baa3..5a655f6edf0 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4916,8 +4916,13 @@ override_options (void)
&& size <= UNITS_PER_FPVALUE)
/* Allow integer modes that fit into a single
register. We need to put integers into FPRs
- when using instructions like cvt and trunc. */
- || (class == MODE_INT && size <= UNITS_PER_FPREG)
+ when using instructions like cvt and trunc.
+ We can't allow sizes smaller than a word,
+ the FPU has no appropriate load/store
+ instructions for those. */
+ || (class == MODE_INT
+ && size >= MIN_UNITS_PER_WORD
+ && size <= UNITS_PER_FPREG)
/* Allow TFmode for CCmode reloads. */
|| (ISA_HAS_8CC && mode == TFmode));
OpenPOWER on IntegriCloud