]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
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>
Wed, 26 Dec 2012 17:29:08 +0000 (17:29 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 26 Dec 2012 17:29:08 +0000 (17:29 +0000)
PR target/53789
* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
after reload starts.

From-SVN: r194723

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

index a9b503665bfab595e5e1351b0b0cec4e5ee0e49f..bf6be369800eeb802f673c5f9590273708f07bcf 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-26  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-21  Martin Jambor  <mjambor@suse.cz>
 
        PR tree-optimization/55355
index 7a032c8c07b9aed9e232b35c5fa2428f70633742..62ef5f242b28faee4354063c5d2c15a63132e2ec 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 (emit_move_sequence (operands, SImode, 0))
     DONE;
 }")