From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31242 invoked by alias); 15 May 2006 04:43:44 -0000 Received: (qmail 31177 invoked by alias); 15 May 2006 04:43:32 -0000 Date: Mon, 15 May 2006 04:43:00 -0000 Message-ID: <20060515044332.31176.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/22563] [4.0/4.1 Regression] performance regression for gcc newer than 2.95 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "sayle at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-05/txt/msg01418.txt.bz2 List-Id: ------- Comment #15 from sayle at gcc dot gnu dot org 2006-05-15 04:43 ------- Subject: Bug 22563 Author: sayle Date: Mon May 15 04:43:05 2006 New Revision: 113775 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113775 Log: PR rtl-optimization/22563 Backports from mainline * expmed.c (store_fixed_bit_field): When using AND and IOR to store a fixed width bitfield, always force the intermediates into pseudos. Also check whether the bitsize is valid for the machine's "insv" instruction before moving the target into a pseudo for use with the insv. * config/i386/predicates.md (const8_operand): New predicate. * config/i386/i386.md (extv, extzv, insv): Use the new const8_operand predicate where appropriate. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/config/i386/i386.md branches/gcc-4_1-branch/gcc/config/i386/predicates.md branches/gcc-4_1-branch/gcc/expmed.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22563