aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>2011-04-10 18:46:45 +0000
committerMike Stump <mrs@gcc.gnu.org>2011-04-10 18:46:45 +0000
commitdd5a833e6e86e0ed85af6e48aa460ebfc4665f5d (patch)
treebf95262adeb1e48387900226345da1050170321b /gcc/config/i386/i386.c
parent4b9726d48cc7eea7e51b51e00e3720104cd2774f (diff)
downloadgcc-dd5a833e6e86e0ed85af6e48aa460ebfc4665f5d.zip
gcc-dd5a833e6e86e0ed85af6e48aa460ebfc4665f5d.tar.gz
gcc-dd5a833e6e86e0ed85af6e48aa460ebfc4665f5d.tar.bz2
Remove doubled up words.
From-SVN: r172247
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2e17471..490d195 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -16249,7 +16249,7 @@ ix86_expand_unary_operator (enum rtx_code code, enum machine_mode mode,
}
/* Split 32bit/64bit divmod with 8bit unsigned divmod if dividend and
- divisor are within the the range [0-255]. */
+ divisor are within the range [0-255]. */
void
ix86_split_idivmod (enum machine_mode mode, rtx operands[],
@@ -16283,7 +16283,7 @@ ix86_split_idivmod (enum machine_mode mode, rtx operands[],
scratch = gen_reg_rtx (mode);
- /* Use 8bit unsigned divimod if dividend and divisor are within the
+ /* Use 8bit unsigned divimod if dividend and divisor are within
the range [0-255]. */
emit_move_insn (scratch, operands[2]);
scratch = expand_simple_binop (mode, IOR, scratch, operands[3],
@@ -20984,23 +20984,24 @@ smallest_pow2_greater_than (int val)
return ret;
}
-/* Expand string move (memcpy) operation. Use i386 string operations when
- profitable. expand_setmem contains similar code. The code depends upon
- architecture, block size and alignment, but always has the same
- overall structure:
+/* Expand string move (memcpy) operation. Use i386 string operations
+ when profitable. expand_setmem contains similar code. The code
+ depends upon architecture, block size and alignment, but always has
+ the same overall structure:
1) Prologue guard: Conditional that jumps up to epilogues for small
- blocks that can be handled by epilogue alone. This is faster but
- also needed for correctness, since prologue assume the block is larger
- than the desired alignment.
+ blocks that can be handled by epilogue alone. This is faster
+ but also needed for correctness, since prologue assume the block
+ is larger than the desired alignment.
Optional dynamic check for size and libcall for large
blocks is emitted here too, with -minline-stringops-dynamically.
- 2) Prologue: copy first few bytes in order to get destination aligned
- to DESIRED_ALIGN. It is emitted only when ALIGN is less than
- DESIRED_ALIGN and and up to DESIRED_ALIGN - ALIGN bytes can be copied.
- We emit either a jump tree on power of two sized blocks, or a byte loop.
+ 2) Prologue: copy first few bytes in order to get destination
+ aligned to DESIRED_ALIGN. It is emitted only when ALIGN is less
+ than DESIRED_ALIGN and up to DESIRED_ALIGN - ALIGN bytes can be
+ copied. We emit either a jump tree on power of two sized
+ blocks, or a byte loop.
3) Main body: the copying loop itself, copying in SIZE_NEEDED chunks
with specified algorithm.