* rs6000.c (find_addr_reg): Handle LO_SUM addresses.
* rs6000.md (movdf_hardfloat32): Fix typo.
From-SVN: r27685
+Mon Jun 21 22:15:50 1999 Jeffrey A Law (law@cygnus.com)
+
+ * rs6000.c (find_addr_reg): Handle LO_SUM addresses.
+
+Mon Jun 21 22:14:05 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (movdf_hardfloat32): Fix typo.
+
Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
* collect2.c (main): Log frame table count.
find_addr_reg (addr)
rtx addr;
{
+ if (GET_CODE (addr) == LO_SUM)
+ addr = XEXP (addr, 0);
+
while (GET_CODE (addr) == PLUS)
{
if (GET_CODE (XEXP (addr, 0)) == REG)
{
rtx addreg;
- if (GET_CODE (XEXP (operands[1], 0)) == PRE_INC
- || GET_CODE (XEXP (operands[1], 0)) == PRE_DEC)
+ if (GET_CODE (XEXP (operands[0], 0)) == PRE_INC
+ || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC)
abort ();
addreg = find_addr_reg (XEXP (operands[0], 0));