re PR target/53789 (ICE in gen_reg_rtx, at emit-rtl.c:864/865 when compiling GNU...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Tue, 25 Dec 2012 17:57:35 +0000 (17:57 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Tue, 25 Dec 2012 17:57:35 +0000 (17:57 +0000)
PR target/53789
* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
after reload starts.

From-SVN: r194714

gcc/ChangeLog
gcc/config/pa/pa.md

index d625bb1..1c43d8a 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2012-12-22  Jan Hubicka  <jh@suse.cz>
 
        PR lto/54728
index 9c6a361..5cef94b 100644 (file)
   ""
   "
 {
+  /* 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;
 }")