aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-05-11 21:11:00 +0200
committerUros Bizjak <uros@gcc.gnu.org>2016-05-11 21:11:00 +0200
commita730a6d92529a93f10fdced532e9064a39cd57c9 (patch)
tree2906d930dbfce8fb245eebd85f170c06d7a6e581
parent3fd2b0075e6c7b7e9b4ce11d2cd38965a36e448c (diff)
downloadgcc-a730a6d92529a93f10fdced532e9064a39cd57c9.zip
gcc-a730a6d92529a93f10fdced532e9064a39cd57c9.tar.gz
gcc-a730a6d92529a93f10fdced532e9064a39cd57c9.tar.bz2
i386.c (legitimize_pic_address): Use copy_to_suggested_reg instead of gen_movsi.
* config/i386/i386.c (legitimize_pic_address): Use copy_to_suggested_reg instead of gen_movsi. From-SVN: r236138
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c14
2 files changed, 7 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 88f9235..08e8758 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 9f62089..046717b 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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
{