aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2012-03-11 19:19:05 +0100
committerUros Bizjak <uros@gcc.gnu.org>2012-03-11 19:19:05 +0100
commit670bb1a1c68bfbc3b1ab8986ec3d55bc9c005fe4 (patch)
treeb2d5e35dbb8d0c7d354cbf7d2745f49f10431379
parentba61421d583a66b86edcbc7a259875ca61f2ef6e (diff)
downloadgcc-670bb1a1c68bfbc3b1ab8986ec3d55bc9c005fe4.zip
gcc-670bb1a1c68bfbc3b1ab8986ec3d55bc9c005fe4.tar.gz
gcc-670bb1a1c68bfbc3b1ab8986ec3d55bc9c005fe4.tar.bz2
i386.c (ix86_zero_extend_to_Pmode): Rewrite using convert_to_mode.
* config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using convert_to_mode. From-SVN: r185198
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.c11
2 files changed, 9 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a3b1351..05df3c8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
+ convert_to_mode.
+
2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
@@ -5,8 +10,7 @@
2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.c (x86_this_parameter): Replace DImode with
- Pmode.
+ * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f74914f..cf4d1f6 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -21025,14 +21025,9 @@ ix86_adjust_counter (rtx countreg, HOST_WIDE_INT value)
rtx
ix86_zero_extend_to_Pmode (rtx exp)
{
- rtx r;
- if (GET_MODE (exp) == VOIDmode)
- return force_reg (Pmode, exp);
- if (GET_MODE (exp) == Pmode)
- return copy_to_mode_reg (Pmode, exp);
- r = gen_reg_rtx (Pmode);
- emit_insn (gen_zero_extendsidi2 (r, exp));
- return r;
+ if (GET_MODE (exp) != Pmode)
+ exp = convert_to_mode (Pmode, exp, 1);
+ return force_reg (Pmode, exp);
}
/* Divide COUNTREG by SCALE. */