]> 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>
Sat, 5 Jan 2013 16:55:43 +0000 (16:55 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 5 Jan 2013 16:55:43 +0000 (16:55 +0000)
PR target/53789
* config/pa/pa.md (movsi): Revert previous change.
* config/pa/pa.h (LEGITIMATE_CONSTANT_P): Reject all TLS symbol
references.

From-SVN: r194933

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

index b482394dfdcf16885114923716a69f33db2810b0..d408ff07cc330bda6db42e83d9bdc265220b5ddd 100644 (file)
@@ -1,3 +1,10 @@
+2013-01-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/53789
+       * config/pa/pa.md (movsi): Revert previous change.
+       * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Reject all TLS symbol
+       references.
+
 2013-01-03  Richard Henderson  <rth@redhat.com>
 
        * config/i386/i386.c (ix86_expand_move): Always assign to op1
index 9c690b28bc03f9acd6f47cad088d78d5af276899..f086daa36832a15504224c797ac767b49d38105e 100644 (file)
@@ -848,9 +848,7 @@ extern int may_call_alloca;
    && (NEW_HP_ASSEMBLER                                                \
        || TARGET_GAS                                           \
        || GET_CODE (X) != LABEL_REF)                           \
-   && (!PA_SYMBOL_REF_TLS_P (X)                                        \
-       || (SYMBOL_REF_TLS_MODEL (X) != TLS_MODEL_GLOBAL_DYNAMIC                \
-          && SYMBOL_REF_TLS_MODEL (X) != TLS_MODEL_LOCAL_DYNAMIC))     \
+   && !PA_SYMBOL_REF_TLS_P (X)                                 \
    && (!TARGET_64BIT                                           \
        || GET_CODE (X) != CONST_DOUBLE)                                \
    && (!TARGET_64BIT                                           \
index 62ef5f242b28faee4354063c5d2c15a63132e2ec..7a032c8c07b9aed9e232b35c5fa2428f70633742 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;
 }")