aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorMichael Zolotukhin <michael.v.zolotukhin@gmail.com>2013-07-08 06:48:15 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2013-07-08 06:48:15 +0000
commit930b700ba28617ea074b0f4e54d3b00b8d9be0a2 (patch)
treeba89b5940f5318ef03d3bc4262cca5673f95b354 /gcc/combine.c
parentc8dfadf8f35a6d636f8dbc51590f7b530ef34d4f (diff)
downloadgcc-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