aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2006-02-18 23:19:02 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2006-02-18 18:19:02 -0500
commitaa9cf005f724f56a604477b8fd88d41999587dcf (patch)
tree60efb44714eedd340802b7d23d59855e3e816a73
parentaacd3885eb07280eed4558f0dacad4d977052dc2 (diff)
downloadgcc-aa9cf005f724f56a604477b8fd88d41999587dcf.zip
gcc-aa9cf005f724f56a604477b8fd88d41999587dcf.tar.gz
gcc-aa9cf005f724f56a604477b8fd88d41999587dcf.tar.bz2
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.md3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4305859..ce30e37 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 2dabd89..d214e21 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"