From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30119 invoked by alias); 9 Jan 2009 17:13:34 -0000 Received: (qmail 29984 invoked by alias); 9 Jan 2009 17:13:09 -0000 Date: Fri, 09 Jan 2009 17:13:00 -0000 Message-ID: <20090109171309.29981.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/38708] [4.4 Regression] Revision 137646 caused gcc.c-torture/execute/memset-[23].c fail with -mtune=pentiumpro In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-01/txt/msg00993.txt.bz2 ------- 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