aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2012-03-11 18:46:03 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2012-03-11 11:46:03 -0700
commit8100d8c1eb2bf648107783b8228b26f0e542981d (patch)
tree23465ab6c0ccbeb26f9ce7d25fdbad812d07b44e
parent670bb1a1c68bfbc3b1ab8986ec3d55bc9c005fe4 (diff)
downloadgcc-8100d8c1eb2bf648107783b8228b26f0e542981d.zip
gcc-8100d8c1eb2bf648107783b8228b26f0e542981d.tar.gz
gcc-8100d8c1eb2bf648107783b8228b26f0e542981d.tar.bz2
Use word_mode instead of Pmode in loop expand
2012-03-11 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size needed for loop. (ix86_expand_setmem): Likewise. From-SVN: r185200
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c16
2 files changed, 14 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05df3c8..17de42e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
+ needed for loop.
+ (ix86_expand_setmem): Likewise.
+
2012-03-11 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index cf4d1f6..d673101 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -22055,11 +22055,11 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp,
gcc_unreachable ();
case loop:
need_zero_guard = true;
- size_needed = GET_MODE_SIZE (Pmode);
+ size_needed = GET_MODE_SIZE (word_mode);
break;
case unrolled_loop:
need_zero_guard = true;
- size_needed = GET_MODE_SIZE (Pmode) * (TARGET_64BIT ? 4 : 2);
+ size_needed = GET_MODE_SIZE (word_mode) * (TARGET_64BIT ? 4 : 2);
break;
case rep_prefix_8_byte:
size_needed = 8;
@@ -22225,13 +22225,13 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp,
break;
case loop:
expand_set_or_movmem_via_loop (dst, src, destreg, srcreg, NULL,
- count_exp, Pmode, 1, expected_size);
+ count_exp, word_mode, 1, expected_size);
break;
case unrolled_loop:
/* Unroll only by factor of 2 in 32bit mode, since we don't have enough
registers for 4 temporaries anyway. */
expand_set_or_movmem_via_loop (dst, src, destreg, srcreg, NULL,
- count_exp, Pmode, TARGET_64BIT ? 4 : 2,
+ count_exp, word_mode, TARGET_64BIT ? 4 : 2,
expected_size);
break;
case rep_prefix_8_byte:
@@ -22443,11 +22443,11 @@ ix86_expand_setmem (rtx dst, rtx count_exp, rtx val_exp, rtx align_exp,
gcc_unreachable ();
case loop:
need_zero_guard = true;
- size_needed = GET_MODE_SIZE (Pmode);
+ size_needed = GET_MODE_SIZE (word_mode);
break;
case unrolled_loop:
need_zero_guard = true;
- size_needed = GET_MODE_SIZE (Pmode) * 4;
+ size_needed = GET_MODE_SIZE (word_mode) * 4;
break;
case rep_prefix_8_byte:
size_needed = 8;
@@ -22618,11 +22618,11 @@ ix86_expand_setmem (rtx dst, rtx count_exp, rtx val_exp, rtx align_exp,
break;
case loop:
expand_set_or_movmem_via_loop (dst, NULL, destreg, NULL, promoted_val,
- count_exp, Pmode, 1, expected_size);
+ count_exp, word_mode, 1, expected_size);
break;
case unrolled_loop:
expand_set_or_movmem_via_loop (dst, NULL, destreg, NULL, promoted_val,
- count_exp, Pmode, 4, expected_size);
+ count_exp, word_mode, 4, expected_size);
break;
case rep_prefix_8_byte:
expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp,