diff options
author | Jan Hubicka <jh@suse.cz> | 2011-11-18 03:18:28 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-11-18 02:18:28 +0000 |
commit | 108879aa865b248369f3875aa032f6a8079e6b45 (patch) | |
tree | 64a73a0ee2ea3895ec62cd12754303cd51ecc8e8 /gcc/fold-const.c | |
parent | 1d794721acc6b43208bfea764034835172805ebd (diff) | |
download | gcc-108879aa865b248369f3875aa032f6a8079e6b45.zip gcc-108879aa865b248369f3875aa032f6a8079e6b45.tar.gz gcc-108879aa865b248369f3875aa032f6a8079e6b45.tar.bz2 |
re PR target/51134 (x86 memset/memcpy expansion is broken)
PR bootstrap/51134
* i386.c (atom_cost): Fix 32bit memset description.
(expand_set_or_movmem_via_loop_with_iter): Output proper bounds check for epilogue loops.
(expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing byte loop.
(decide_alg): sse_loop is not useable wthen SSE2 is disabled; when not optimizing always
use rep movsb or lincall; do not produce word sized loops when optimizing memset for
size (to avoid need for large constants).
(ix86_expand_movmem): Get into sync with ix86_expand_setmem; choose unroll factors
better; always do 128bit moves when producing SSE loops; do not produce loopy epilogue
when size is too small.
(promote_duplicated_reg_to_size): Do not look into desired alignments when
doing vector expansion.
(ix86_expand_setmem): Track better when promoted value is available; choose unroll factors
more sanely.; output loopy epilogue only when needed.
From-SVN: r181466
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions