diff options
author | Michael Zolotukhin <michael.v.zolotukhin@gmail.com> | 2013-07-08 06:48:15 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2013-07-08 06:48:15 +0000 |
commit | 930b700ba28617ea074b0f4e54d3b00b8d9be0a2 (patch) | |
tree | ba89b5940f5318ef03d3bc4262cca5673f95b354 /gcc/combine.c | |
parent | c8dfadf8f35a6d636f8dbc51590f7b530ef34d4f (diff) | |
download | gcc-930b700ba28617ea074b0f4e54d3b00b8d9be0a2.zip gcc-930b700ba28617ea074b0f4e54d3b00b8d9be0a2.tar.gz gcc-930b700ba28617ea074b0f4e54d3b00b8d9be0a2.tar.bz2 |
i386-opts.h (enum stringop_alg): Add vector_loop.
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.
From-SVN: r200751
Diffstat (limited to 'gcc/combine.c')
0 files changed, 0 insertions, 0 deletions