diff options
author | Jeffrey A Law <law@cygnus.com> | 2001-04-16 15:13:32 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2001-04-16 09:13:32 -0600 |
commit | 26ee120d31cf2890ac579d666661cbd829eec893 (patch) | |
tree | b1c9f9e6a57c4d57f3bca08fff321a0ff6613d43 /gcc | |
parent | 3bcd50fe2a2f55017b5cb03a34cc38986041cee6 (diff) | |
download | gcc-26ee120d31cf2890ac579d666661cbd829eec893.zip gcc-26ee120d31cf2890ac579d666661cbd829eec893.tar.gz gcc-26ee120d31cf2890ac579d666661cbd829eec893.tar.bz2 |
pa.c (secondary_reload_class): SAR<->FP copies require a secondary register.
* pa.c (secondary_reload_class): SAR<->FP copies require a
secondary register.
From-SVN: r41379
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da7a5e7..4c4dc57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com) + * pa.c (secondary_reload_class): SAR<->FP copies require a + secondary register. + * install.texi (mips-mips-bsd): Update list of functions required to include memmove. * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 050681b..5b8505b 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -4694,6 +4694,13 @@ secondary_reload_class (class, mode, in) || (class == SHIFT_REGS && (regno <= 0 || regno >= 32))) return GENERAL_REGS; + /* A SAR<->FP register copy requires a secondary register (GPR) as + well as secondary memory. */ + if (regno >= 0 && regno < FIRST_PSEUDO_REGISTER + && ((REGNO_REG_CLASS (regno) == SHIFT_REGS && FP_REG_CLASS_P (class)) + || (class == SHIFT_REGS && FP_REG_CLASS_P (REGNO_REG_CLASS (regno))))) + return GENERAL_REGS; + if (GET_CODE (in) == HIGH) in = XEXP (in, 0); |