PR target/50691
* config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
* config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
From-SVN: r180672
+2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/50691
+ * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
+ * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
+ TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
+
2011-10-23 Uros Bizjak <ubizjak@gmail.com>
PR target/50788
/* Handle the most common case: storing into a register. */
else if (register_operand (operand0, mode))
{
+ /* Legitimize TLS symbol references. This happens for references
+ that aren't a legitimate constant. */
+ if (PA_SYMBOL_REF_TLS_P (operand1))
+ operand1 = legitimize_tls_address (operand1);
+
if (register_operand (operand1, mode)
|| (GET_CODE (operand1) == CONST_INT
&& cint_ok_for_move (INTVAL (operand1)))
&& (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)) \
&& (!TARGET_64BIT \
|| GET_CODE (X) != CONST_DOUBLE) \
&& (!TARGET_64BIT \