+2009-08-04 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline:
+ 2009-08-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
+ constants referencing TLS symbols.
+
+ 2009-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/40577
+ * config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
+ to DImode when generating insq_le insn.
+
2008-08-04 Richard Guenther <rguenther@suse.de>
* BASE-VER: Set to 4.3.5.
switch (GET_CODE (x))
{
- case CONST:
case LABEL_REF:
case HIGH:
return true;
+ case CONST:
+ if (GET_CODE (XEXP (x, 0)) == PLUS
+ && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT)
+ x = XEXP (XEXP (x, 0), 0);
+ else
+ return true;
+
+ if (GET_CODE (x) != SYMBOL_REF)
+ return true;
+
+ /* FALLTHRU */
+
case SYMBOL_REF:
/* TLS symbols are never valid. */
return SYMBOL_REF_TLS_MODEL (x) == 0;
emit_insn (gen_insll_le (insl, gen_lowpart (SImode, src), addr));
break;
case 8:
- emit_insn (gen_insql_le (insl, src, addr));
+ emit_insn (gen_insql_le (insl, gen_lowpart (DImode, src), addr));
break;
}
}