From 3c028f65484d6de748ff7c46f035bba434446a91 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@bigpond.net.au>
Date: Fri, 24 Dec 2004 01:51:04 +0000
Subject: [PATCH] re PR target/19142 (ppc-darwin no longer builds)

	PR target/19142
	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
	DFmode for 32-bit again.

From-SVN: r92583
---
 gcc/ChangeLog              | 6 ++++++
 gcc/config/rs6000/rs6000.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 82ee9a4c79e0..e499e8c7226e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-12-24  Alan Modra  <amodra@bigpond.net.au>
+
+	PR target/19142
+	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
+	DFmode for 32-bit again.
+
 2004-12-23  Roger Sayle  <roger@eyesopen.com>
 
 	* reload.c (regno_clobbered_p): Add a gcc_assert that regno
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index f0c44a658a0b..f368b5f405e5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3325,7 +3325,8 @@ legitimate_lo_sum_address_p (enum machine_mode mode, rtx x, int strict)
       if (GET_MODE_NUNITS (mode) != 1)
 	return false;
       if (GET_MODE_BITSIZE (mode) > 64
-	  || (GET_MODE_BITSIZE (mode) > 32 && !TARGET_POWERPC64))
+	  || (GET_MODE_BITSIZE (mode) > 32 && !TARGET_POWERPC64
+	      && !(TARGET_HARD_FLOAT && TARGET_FPRS && mode == DFmode)))
 	return false;
 
       return CONSTANT_P (x);
-- 
GitLab