This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PA move_operand
- To: law at redhat dot com
- Subject: Re: PA move_operand
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Thu, 22 Mar 2001 23:13:09 +1100 (EST)
- cc: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
On Wed, 21 Mar 2001 law@redhat.com wrote:
> Second, reload should have realized the constraints did not match and
> reworked things so that they did match.
This change to the PIC match in GO_IF_LEGITIMATE_ADDRESS works for me.
It allows the `T' constraint to behave as the comment in
EXTRA_CONSTRAINT suggests.
* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
fp mode addresses.
Alan Modra
--
Linuxcare
diff -urp -xCVS -x*~ gcc-3_0-20010316-merged/gcc/config/pa/pa.h gcc_new/gcc/config/pa/pa.h
--- gcc-3_0-20010316-merged/gcc/config/pa/pa.h Thu Mar 15 16:27:12 2001
+++ gcc_new/gcc/config/pa/pa.h Thu Mar 22 04:07:03 2001
@@ -1330,7 +1330,11 @@ extern int may_call_alloca;
else if (GET_CODE (X) == LO_SUM \
&& GET_CODE (XEXP (X, 0)) == REG \
&& REG_OK_FOR_BASE_P (XEXP (X, 0)) \
- && GET_CODE (XEXP (X, 1)) == UNSPEC) \
+ && GET_CODE (XEXP (X, 1)) == UNSPEC \
+ && (TARGET_SOFT_FLOAT \
+ || TARGET_PA_20 \
+ || ((MODE) != SFmode \
+ && (MODE) != DFmode))) \
goto ADDR; \
}