+2008-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimize_address,
+ rs6000_legitimize_reload_address, rs6000_emit_move): Make sure an
+ rtx is a SYMBOL_REF before calling get_pool_constant.
+
2008-05-30 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (fold_unary) <CASE_CONVERT>: Add ??? comment.
return gen_rtx_LO_SUM (Pmode, reg, x);
}
else if (TARGET_TOC
+ && GET_CODE (x) == SYMBOL_REF
&& constant_pool_expr_p (x)
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), Pmode))
{
}
if (TARGET_TOC
+ && GET_CODE (x) == SYMBOL_REF
&& constant_pool_expr_p (x)
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), mode))
{
operands[1] = force_const_mem (mode, operands[1]);
if (TARGET_TOC
+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
&& constant_pool_expr_p (XEXP (operands[1], 0))
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (
get_pool_constant (XEXP (operands[1], 0)),
minus = XEXP (contains_minus, 0);
symref = XEXP (minus, 0);
+ gcc_assert (GET_CODE (XEXP (minus, 1)) == SYMBOL_REF);
XEXP (contains_minus, 0) = symref;
if (TARGET_ELF)
{