From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21062 invoked by alias); 24 Feb 2007 23:24:29 -0000 Received: (qmail 20765 invoked by uid 48); 24 Feb 2007 23:24:17 -0000 Date: Sat, 24 Feb 2007 23:24:00 -0000 Message-ID: <20070224232417.20764.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/30778] [4.3 Regression] invalid code generation for memset() with -mtune=k8 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ubizjak at gmail dot com" 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: 2007-02/txt/msg02782.txt.bz2 ------- Comment #5 from ubizjak at gmail dot com 2007-02-24 23:24 ------- (In reply to comment #4) > Hi, > testing for expected_size is wrong here - with profile feedback, expected_size > is average size of the block and thus can be smaller than actual size of the > block being copied. > In general we should in this case end up using move_by_pieces so we won't > produce the loop anyway, but still there should be loop header test emitted, I > am just looking on why it is skipped. Please note, that the proposed patch in gcc-patches ML is a bit different and also removes loops when number of iterations is 1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30778