From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14096 invoked by alias); 16 Apr 2009 08:05:04 -0000 Received: (qmail 13429 invoked by alias); 16 Apr 2009 08:04:46 -0000 Date: Thu, 16 Apr 2009 08:05:00 -0000 Message-ID: <20090416080446.13428.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/39717] [cond-optab] CSE does not put subregs into COMPAREs on many CC0 machines In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "bonzini at 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-04/txt/msg01306.txt.bz2 ------- Comment #2 from bonzini at gnu dot org 2009-04-16 08:04 ------- Subject: Re: [cond-optab] CSE does not put subregs into COMPAREs on many CC0 machines > Is this a cond-optab regression or "just" an observation? Yes, it causes extra moves on code using unions. Where we have r20:SI=r19:SF#0 where X#0 = (subreg X 0) cc0=r20:SI is now r20:SI=r19:SF#0 cc0=cmp(r20:SI,0) and CSE is somehow not able to turn it into cc0=cmp(r19:SF#0,0) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39717