re PR target/53789 (ICE in gen_reg_rtx, at emit-rtl.c:864/865 when compiling GNU MPFR on parisc)
PR target/53789 * config/pa/pa.md (movsi): Revert previous change. * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol references. From-SVN: r194880
This commit is contained in:
parent
3a4451c2a7
commit
3b99a733ac
|
@ -1,3 +1,10 @@
|
|||
2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR target/53789
|
||||
* config/pa/pa.md (movsi): Revert previous change.
|
||||
* config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
|
||||
references.
|
||||
|
||||
2013-01-02 Rainer Emrich <rainer@emrich-ebersheim.de>
|
||||
|
||||
PR bootstrap/55707
|
||||
|
|
|
@ -10328,14 +10328,10 @@ pa_legitimate_constant_p (enum machine_mode mode, rtx x)
|
|||
return false;
|
||||
|
||||
/* TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC are not
|
||||
legitimate constants. */
|
||||
legitimate constants. The other variants can't be handled by
|
||||
the move patterns after reload starts. */
|
||||
if (PA_SYMBOL_REF_TLS_P (x))
|
||||
{
|
||||
enum tls_model model = SYMBOL_REF_TLS_MODEL (x);
|
||||
|
||||
if (model == TLS_MODEL_GLOBAL_DYNAMIC || model == TLS_MODEL_LOCAL_DYNAMIC)
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
|
||||
if (TARGET_64BIT && GET_CODE (x) == CONST_DOUBLE)
|
||||
return false;
|
||||
|
|
|
@ -2051,12 +2051,6 @@
|
|||
""
|
||||
"
|
||||
{
|
||||
/* 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;
|
||||
}")
|
||||
|
|
Loading…
Reference in New Issue