aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-06-21 21:13:38 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-21 15:13:38 -0600
commitb2d5abe3f1e609b39c593e63284869aba4e67c23 (patch)
treeb3f02cbd713584a2c5ebb640908ebf9566527d4e
parent6690d24c2cd5fe1f37d5d040d9fb071b6fe7bd97 (diff)
downloadgcc-b2d5abe3f1e609b39c593e63284869aba4e67c23.zip
gcc-b2d5abe3f1e609b39c593e63284869aba4e67c23.tar.gz
gcc-b2d5abe3f1e609b39c593e63284869aba4e67c23.tar.bz2
* rs6000.md (find_addr_reg): Handle LO_SUM addresses.
From-SVN: r27684
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/rs6000/rs6000.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b61cd3c..c3180f2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jun 21 22:13:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
+
Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
* collect2.c (main): Log frame table count.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 7d6faf5..494b439 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -5690,6 +5690,9 @@ struct rtx_def *
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)