diff options
author | Matthew Fortune <matthew.fortune@imgtec.com> | 2014-09-10 10:52:39 +0000 |
---|---|---|
committer | Matthew Fortune <mpf@gcc.gnu.org> | 2014-09-10 10:52:39 +0000 |
commit | 99a5c6b06a2fe10489db7f474db3af8441b7585c (patch) | |
tree | 13399392523c390b5135c5645dec71c41ecd3b61 | |
parent | 5625bd33a23929746596a22f3a8e7ac52b368435 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 5 |
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; |