+2012-03-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
+ copy_to_mode_reg (Pmode, ...).
+ (expand_builtin_frame_address): Ditto.
+ * expr.c (emit_block_move_via_libcall): Ditto.
+ (set_storage_via_libcall): Ditto.
+
+ * config/i386/i386.c (ix86_expand_movmem): Ditto.
+ (ix86_expand_setmem): Ditto.
+ (ix86_trampoline_init): DItto.
+ * config/i386/i386.md (cmpstrnsi): Ditto.
+ (allocate_stack): Ditto.
+
2012-03-19 Sandra Loosemore <sandra@codesourcery.com>
* config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
op1 = assign_temp (TREE_TYPE (arg), 0, 1, 1);
op2 = assign_temp (TREE_TYPE (arg), 0, 1, 1);
- op1a = copy_to_mode_reg (Pmode, XEXP (op1, 0));
- op2a = copy_to_mode_reg (Pmode, XEXP (op2, 0));
+ op1a = copy_addr_to_reg (XEXP (op1, 0));
+ op2a = copy_addr_to_reg (XEXP (op2, 0));
top1 = make_tree (build_pointer_type (TREE_TYPE (arg)), op1a);
top2 = make_tree (build_pointer_type (TREE_TYPE (arg)), op2a);
if (!REG_P (tem)
&& ! CONSTANT_P (tem))
- tem = copy_to_mode_reg (Pmode, tem);
+ tem = copy_addr_to_reg (tem);
return tem;
}
}
gcc_assert (alg != no_stringop);
if (!count)
count_exp = copy_to_mode_reg (GET_MODE (count_exp), count_exp);
- destreg = copy_to_mode_reg (Pmode, XEXP (dst, 0));
- srcreg = copy_to_mode_reg (Pmode, XEXP (src, 0));
+ destreg = copy_addr_to_reg (XEXP (dst, 0));
+ srcreg = copy_addr_to_reg (XEXP (src, 0));
switch (alg)
{
case libcall:
gcc_assert (alg != no_stringop);
if (!count)
count_exp = copy_to_mode_reg (counter_mode (count_exp), count_exp);
- destreg = copy_to_mode_reg (Pmode, XEXP (dst, 0));
+ destreg = copy_addr_to_reg (XEXP (dst, 0));
switch (alg)
{
case libcall:
if (ptr_mode == SImode
|| x86_64_zext_immediate_operand (fnaddr, VOIDmode))
{
- fnaddr = copy_to_mode_reg (Pmode, fnaddr);
+ fnaddr = copy_addr_to_reg (fnaddr);
mem = adjust_address (m_tramp, HImode, offset);
emit_move_insn (mem, gen_int_mode (0xbb41, HImode));
if (!REG_P (out))
out = gen_reg_rtx (SImode);
- addr1 = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
- addr2 = copy_to_mode_reg (Pmode, XEXP (operands[2], 0));
+ addr1 = copy_addr_to_reg (XEXP (operands[1], 0));
+ addr2 = copy_addr_to_reg (XEXP (operands[2], 0));
if (addr1 != XEXP (operands[1], 0))
operands[1] = replace_equiv_address_nv (operands[1], addr1);
if (addr2 != XEXP (operands[2], 0))
}
else
{
- x = copy_to_mode_reg (Pmode, operands[1]);
+ x = copy_addr_to_reg (operands[1]);
if (TARGET_64BIT)
emit_insn (gen_allocate_stack_worker_probe_di (x, x));
else
pseudos. We can then place those new pseudos into a VAR_DECL and
use them later. */
- dst_addr = copy_to_mode_reg (Pmode, XEXP (dst, 0));
- src_addr = copy_to_mode_reg (Pmode, XEXP (src, 0));
+ dst_addr = copy_addr_to_reg (XEXP (dst, 0));
+ src_addr = copy_addr_to_reg (XEXP (src, 0));
dst_addr = convert_memory_address (ptr_mode, dst_addr);
src_addr = convert_memory_address (ptr_mode, src_addr);
/* Emit code to copy OBJECT and SIZE into new pseudos. We can then
place those into new pseudos into a VAR_DECL and use them later. */
- object = copy_to_mode_reg (Pmode, XEXP (object, 0));
+ object = copy_addr_to_reg (XEXP (object, 0));
size_mode = TYPE_MODE (sizetype);
size = convert_to_mode (size_mode, size, 1);