aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMatthew Fortune <matthew.fortune@imgtec.com>2014-09-10 10:52:39 +0000
committerMatthew Fortune <mpf@gcc.gnu.org>2014-09-10 10:52:39 +0000
commit99a5c6b06a2fe10489db7f474db3af8441b7585c (patch)
tree13399392523c390b5135c5645dec71c41ecd3b61 /gcc
parent5625bd33a23929746596a22f3a8e7ac52b368435 (diff)
downloadgcc-99a5c6b06a2fe10489db7f474db3af8441b7585c.zip
gcc-99a5c6b06a2fe10489db7f474db3af8441b7585c.tar.gz
gcc-99a5c6b06a2fe10489db7f474db3af8441b7585c.tar.bz2
MIPS: Do not reload unallocated FP_REGS pseudos via GR_REGS
gcc/ * config/mips/mips.c (mips_secondary_reload_class): Handle regno < 0 case. From-SVN: r215120
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4f9d1cf..154b9da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-10 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.c (mips_secondary_reload_class): Handle
+ regno < 0 case.
+
2014-09-10 Robert Suchanek <robert.suchanek@imgtec.com>
* lra-lives.c (process_bb_lives): Replace assignment with bitwise OR
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 646bb4d..d1d4def 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -12143,8 +12143,9 @@ mips_secondary_reload_class (enum reg_class rclass,
if (reg_class_subset_p (rclass, FP_REGS))
{
- if (MEM_P (x)
- && (GET_MODE_SIZE (mode) == 4 || GET_MODE_SIZE (mode) == 8))
+ if (regno < 0
+ || (MEM_P (x)
+ && (GET_MODE_SIZE (mode) == 4 || GET_MODE_SIZE (mode) == 8)))
/* In this case we can use lwc1, swc1, ldc1 or sdc1. We'll use
pairs of lwc1s and swc1s if ldc1 and sdc1 are not supported. */
return NO_REGS;