From b8771ace10537344957eaf0351793239ba5b2ee3 Mon Sep 17 00:00:00 2001
From: Jan Hubicka <jh@suse.cz>
Date: Sat, 18 Sep 2004 09:29:06 +0200
Subject: [PATCH] i386.c (legitimize_pic_address): Fix splitting of PLUS with
 huge offset.

	* i386.c (legitimize_pic_address): Fix splitting of PLUS with
	huge offset.

From-SVN: r87697
---
 gcc/ChangeLog          | 5 +++++
 gcc/config/i386/i386.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06a6e53a1411..9fa0b9b7cede 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-18  Jan Hubicka  <jh@suse.cz>
+
+	* i386.c (legitimize_pic_address): Fix splitting of PLUS with
+	huge offset.
+
 2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
 	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 57e785d003bb..09db92e79714 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5405,7 +5405,7 @@ legitimize_pic_address (rtx orig, rtx reg)
 		{
 		  if (INTVAL (op1) < -16*1024*1024
 		      || INTVAL (op1) >= 16*1024*1024)
-		    new = gen_rtx_PLUS (Pmode, op0, force_reg (Pmode, op1));
+		    new = gen_rtx_PLUS (Pmode, force_reg (Pmode, op0), op1);
 		}
 	    }
 	  else
-- 
GitLab