]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of copy_to_mode_reg...
authorUros Bizjak <ubizjak@gmail.com>
Mon, 19 Mar 2012 20:35:59 +0000 (21:35 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 19 Mar 2012 20:35:59 +0000 (21:35 +0100)
* 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

gcc/ChangeLog
gcc/builtins.c
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/expr.c

index 93759117e64f974d2353d8e9bdb4ca79c4cac372..67a1119d35b469f2c3b8b4e39bf2adab4d0a2a87 100644 (file)
@@ -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.
index a086a8cb1a5646d407fa6bb6b7cbb188b68db058..7afe61df505bbce993b29a8339f6daf4f6e95142 100644 (file)
@@ -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;
     }
 }
index 28d32216d35cd0800319aa52c26dc646717be7c3..cf673fd25d4391fdd9f23f6d0beae4382bf2188f 100644 (file)
@@ -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));
index 8e8eb7fda703446eb5060823c7e2fe313091ddd9..0db0222af793e022f81954c63498b645aa813d08 100644 (file)
   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
index 2b0a17623ae128c0ee3827c97867ebdbba03d93e..fcd5b36f94a8aae7ba6c7f5b85231b7f97da0382 100644 (file)
@@ -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);