i386.c (legitimize_pic_address): Use copy_to_suggested_reg instead of gen_movsi.
authorUros Bizjak <ubizjak@gmail.com>
Wed, 11 May 2016 19:11:00 +0000 (21:11 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 11 May 2016 19:11:00 +0000 (21:11 +0200)
* config/i386/i386.c (legitimize_pic_address): Use
copy_to_suggested_reg instead of gen_movsi.

From-SVN: r236138

gcc/ChangeLog
gcc/config/i386/i386.c

index 88f92359955e81248170e29ce8b66028c17dde2f..08e875864e441c257e418e2cecd8197fb696ddce 100644 (file)
@@ -1,3 +1,8 @@
+2016-05-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (legitimize_pic_address): Use
+       copy_to_suggested_reg instead of gen_movsi.
+
 2016-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        * config/rs6000/predicates.md (quad_memory_operand): Move most of
index 9f62089b8b127622c8e962214acf1a78fdef2e41..046717bae45df34cc13878230701c19d4b9dfc9e 100644 (file)
@@ -15474,8 +15474,6 @@ legitimize_pic_address (rtx orig, rtx reg)
        {
          new_rtx = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_PCREL);
          new_rtx = gen_rtx_CONST (Pmode, new_rtx);
-
-         new_rtx = copy_to_suggested_reg (new_rtx, reg, Pmode);
        }
       else if (TARGET_64BIT && ix86_cmodel != CM_LARGE_PIC)
        {
@@ -15484,14 +15482,6 @@ legitimize_pic_address (rtx orig, rtx reg)
          new_rtx = gen_rtx_CONST (Pmode, new_rtx);
          new_rtx = gen_const_mem (Pmode, new_rtx);
          set_mem_alias_set (new_rtx, ix86_GOT_alias_set ());
-
-         if (reg == 0)
-           reg = gen_reg_rtx (Pmode);
-         /* Use directly gen_movsi, otherwise the address is loaded
-            into register for CSE.  We don't want to CSE this addresses,
-            instead we CSE addresses from the GOT table, so skip this.  */
-         emit_insn (gen_movsi (reg, new_rtx));
-         new_rtx = reg;
        }
       else
        {
@@ -15504,9 +15494,9 @@ legitimize_pic_address (rtx orig, rtx reg)
          new_rtx = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new_rtx);
          new_rtx = gen_const_mem (Pmode, new_rtx);
          set_mem_alias_set (new_rtx, ix86_GOT_alias_set ());
-
-         new_rtx = copy_to_suggested_reg (new_rtx, reg, Pmode);
        }
+
+      new_rtx = copy_to_suggested_reg (new_rtx, reg, Pmode);
     }
   else
     {