This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/38708] [4.4 Regression] Revision 137646 caused gcc.c-torture/execute/memset-[23].c fail with -mtune=pentiumpro
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Jan 2009 17:13:09 -0000
- Subject: [Bug target/38708] [4.4 Regression] Revision 137646 caused gcc.c-torture/execute/memset-[23].c fail with -mtune=pentiumpro
- References: <bug-38708-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from jakub at gcc dot gnu dot org 2009-01-09 17:13 -------
Subject: Bug 38708
Author: jakub
Date: Fri Jan 9 17:12:40 2009
New Revision: 143211
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143211
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38708