From aa9cf005f724f56a604477b8fd88d41999587dcf Mon Sep 17 00:00:00 2001
From: David Edelsohn <edelsohn@gnu.org>
Date: Sat, 18 Feb 2006 23:19:02 +0000
Subject: [PATCH] re PR target/26350 (ICE in extract_insn, at recog.c:2084,
 -fPIC -mlong-double-128)

        PR target/26350
        * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
        MEM for ABI_V4 pic.

From-SVN: r111255
---
 gcc/ChangeLog               | 6 ++++++
 gcc/config/rs6000/rs6000.md | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4305859024ea..ce30e37a46c2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-02-18  David Edelsohn  <edelsohn@gnu.org>
+
+	PR target/26350
+	* config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
+	MEM for ABI_V4 pic.
+
 2005-02-18  Richard Sandiford  <richard@codesourcery.com>
 
 	* cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 2dabd8996fca..d214e212e643 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8278,6 +8278,9 @@
    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
 {
   operands[2] = CONST0_RTX (DFmode);
+  /* Generate GOT reference early for SVR4 PIC.  */
+  if (DEFAULT_ABI == ABI_V4 && flag_pic)
+    operands[2] = validize_mem (force_const_mem (DFmode, operands[2]));
 })
 
 (define_insn_and_split "*extenddftf2_internal"
-- 
GitLab