diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-03-19 21:35:59 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-03-19 21:35:59 +0100 |
commit | 18ae1560d19ed5e9e87e3dc4712ee917755374b2 (patch) | |
tree | 197d82787b3392897d2b981c6e80f5eb87ac5a7b /gcc | |
parent | 3e4907f4fb4d84d9b8426483f213c9b1ad797abd (diff) | |
download | gcc-18ae1560d19ed5e9e87e3dc4712ee917755374b2.zip gcc-18ae1560d19ed5e9e87e3dc4712ee917755374b2.tar.gz gcc-18ae1560d19ed5e9e87e3dc4712ee917755374b2.tar.bz2 |
builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of copy_to_mode_reg (Pmode, ...).
* 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.
From-SVN: r185541
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/builtins.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 6 | ||||
-rw-r--r-- | gcc/expr.c | 6 |
5 files changed, 27 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9375911..67a1119 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +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. diff --git a/gcc/builtins.c b/gcc/builtins.c index a086a8c..7afe61d 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2613,8 +2613,8 @@ expand_builtin_cexpi (tree exp, rtx target) 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); @@ -4580,7 +4580,7 @@ expand_builtin_frame_address (tree fndecl, tree exp) if (!REG_P (tem) && ! CONSTANT_P (tem)) - tem = copy_to_mode_reg (Pmode, tem); + tem = copy_addr_to_reg (tem); return tem; } } diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 28d3221..cf673fd 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -22101,8 +22101,8 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp, 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: @@ -22490,7 +22490,7 @@ ix86_expand_setmem (rtx dst, rtx count_exp, rtx val_exp, rtx align_exp, 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: @@ -24368,7 +24368,7 @@ ix86_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) 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)); diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 8e8eb7f..0db0222 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -16073,8 +16073,8 @@ 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)) @@ -16737,7 +16737,7 @@ } 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 @@ -1343,8 +1343,8 @@ emit_block_move_via_libcall (rtx dst, rtx src, rtx size, bool tailcall) 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); @@ -2719,7 +2719,7 @@ set_storage_via_libcall (rtx object, rtx size, rtx val, bool tailcall) /* 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); |