This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r200751 - in /trunk/gcc: ChangeLog config/i386/...
- From: kyukhin at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 08 Jul 2013 06:48:15 -0000
- Subject: r200751 - in /trunk/gcc: ChangeLog config/i386/...
Author: kyukhin
Date: Mon Jul 8 06:48:15 2013
New Revision: 200751
URL: http://gcc.gnu.org/viewcvs?rev=200751&root=gcc&view=rev
Log:
ChangeLog:
* config/i386/i386-opts.h (enum stringop_alg): Add vector_loop.
* config/i386/i386.c (expand_set_or_movmem_via_loop): Use
adjust_address instead of change_address to keep info about alignment.
(emit_strmov): Remove.
(emit_memmov): New function.
(expand_movmem_epilogue): Refactor to properly handle bigger sizes.
(expand_movmem_epilogue): Likewise and return updated rtx for
destination.
(expand_constant_movmem_prologue): Likewise and return updated rtx for
destination and source.
(decide_alignment): Refactor, handle vector_loop.
(ix86_expand_movmem): Likewise.
(ix86_expand_setmem): Likewise.
* config/i386/i386.opt (Enum): Add vector_loop to option stringop_alg.
testsuite/ChangeLog:
* gcc.target/i386/memcpy-vector_loop-1.c: New.
* gcc.target/i386/memcpy-vector_loop-2.c: New.
Added:
trunk/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c
trunk/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386-opts.h
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.opt
trunk/gcc/testsuite/ChangeLog