OSDN Git Service

PR target/38686
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jan 2009 17:12:40 +0000 (17:12 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jan 2009 17:12:40 +0000 (17:12 +0000)
commitede11ffa74feeed56906fea954c3462a2e8442f7
tree3f1ee33a0f07fae244970cf4d2b76b3e332008dd
parent071dd4a747cb9d3c69933762f618adbca180641a
PR target/38686
PR target/38708
* config/i386/i386.c (override_options): Reject
-mstringop-strategy=rep_8byte with -m32.
(ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
to 1.  Do count comparison against epilogue_size_needed at compile
time even when count_exp was constant forced into register.  For
size_needed don't jump to epilogue, instead just avoid aligning
and invoke the body algorithm.  If need_zero_guard, add zero guard
even if count is non-zero, but smaller than size_needed + number of
bytes that could be stored for alignment.
(ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
to 1.  If need_zero_guard, add zero guard even if count is non-zero,
but smaller than size_needed + number of bytes that could be stored
for alignment.  Compare size_needed with epilogue_size_needed instead
of desired_align - align, don't adjust size_needed, pass
epilogue_size_needed to the epilogue expanders.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143211 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c