aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-03-19 21:35:59 +0100
committerUros Bizjak <uros@gcc.gnu.org>2012-03-19 21:35:59 +0100
commit18ae1560d19ed5e9e87e3dc4712ee917755374b2 (patch)
tree197d82787b3392897d2b981c6e80f5eb87ac5a7b /gcc
parent3e4907f4fb4d84d9b8426483f213c9b1ad797abd (diff)
downloadgcc-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/ChangeLog14
-rw-r--r--gcc/builtins.c6
-rw-r--r--gcc/config/i386/i386.c8
-rw-r--r--gcc/config/i386/i386.md6
-rw-r--r--gcc/expr.c6
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
diff --git a/gcc/expr.c b/gcc/expr.c
index 2b0a176..fcd5b36 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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);