This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ppc patch
- To: law at cygnus dot com
- Subject: Re: ppc patch
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Sat, 22 Aug 1998 23:41:21 -0400
- Cc: meissner at cygnus dot com, egcs-patches at cygnus dot com
>>>>> Jeffrey A Law writes:
Jeff> Ah. Yes, other ports deal with this by adding a couple instructions to
Jeff> access the second word by adjusting the base register before and after
Jeff> the memory access. Gross, but effective.
Jeff> Nope. The validity of an addressing mode is based solely on the address
Jeff> and the mode of the memory access.
We need to change the 'o' constraint to 'm' for the
movdf_softfloat32 pattern. The only way I see to do that safely is to
extend GO_IF_LEGITIMATE_ADDRESS so that DFmode indexed addresses are not
allowed if soft-float and not 64-bit. That should make the proposed
change safe for the pattern in question. The movdf_hardfloat32 pattern
also uses 'o' constraint, but 'm' is valid for FPRs so reload has a
solution.
I think that this same failure mode can occur for movdi_32, so we
probably should not allow indexed addressing for DImode and not 64-bit
either. Then we can make the same 'o' -> 'm' change there.
Does that seem reasonable to you?
David