public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] Fix ICE in gen_reg_rtx, at emit-rtl.c:864/865 compiling GNU MPFR
@ 2012-12-26 19:37 John David Anglin
  2013-01-02 13:12 ` Richard Sandiford
  0 siblings, 1 reply; 7+ messages in thread
From: John David Anglin @ 2012-12-26 19:37 UTC (permalink / raw)
  To: gcc-patches

The attached change fixes PR target/5379.  ICE occurs when reload tries
to emit a move instruction containing a TLS symbol reference as the source
operand.  This requires several scratch registers.  As a result, it isn't
possible for a reload pattern to handle this case.  So, the best solution
was to reject TLS symbol reference source operands after reload starts.

Tested on hppa-unknown-linux-gnu and hppa2.0w-hp-hpux11.11 with not observed
regressions.

Committed to all active branches.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR target/53789
	* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
	after reload starts.

Index: config/pa/pa.md
===================================================================
--- config/pa/pa.md	(revision 194709)
+++ config/pa/pa.md	(working copy)
@@ -2051,6 +2110,12 @@
   ""
   "
 {
+  /* A TLS symbol reference is not a valid move source operand.
+     pa_emit_move_sequence can only handle them prior to reload.
+     There is also no way to reload a TLS symbol reference, so
+     we must reject them after reload starts.  */
+  if (PA_SYMBOL_REF_TLS_P (operands[1]) && !can_create_pseudo_p ())
+    FAIL;
   if (pa_emit_move_sequence (operands, SImode, 0))
     DONE;
 }")

^ permalink raw reply	[flat|nested] 7+ messages in thread
[parent not found: <CAGWvnykWaA6zBYATL2m7GSj1N2wBwNNcTGi=BRSpsXVBxWchnQ@mail.gmail.com>]

end of thread, other threads:[~2013-01-04  4:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-26 19:37 [committed] Fix ICE in gen_reg_rtx, at emit-rtl.c:864/865 compiling GNU MPFR John David Anglin
2013-01-02 13:12 ` Richard Sandiford
2013-01-02 18:53   ` Richard Henderson
2013-01-02 19:44     ` Richard Sandiford
2013-01-04  4:32   ` John David Anglin
     [not found] <CAGWvnykWaA6zBYATL2m7GSj1N2wBwNNcTGi=BRSpsXVBxWchnQ@mail.gmail.com>
2013-01-03 15:14 ` David Edelsohn
2013-01-03 18:52   ` Richard Sandiford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).