From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23779 invoked by alias); 11 Jan 2010 09:47:11 -0000 Received: (qmail 23644 invoked by uid 48); 11 Jan 2010 09:46:57 -0000 Date: Mon, 11 Jan 2010 09:47:00 -0000 Message-ID: <20100111094657.23643.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/42662] [4.5 Regression] invalid rtl sharing found in the insn 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: 2010-01/txt/msg01213.txt.bz2 ------- Comment #6 from jakub at gcc dot gnu dot org 2010-01-11 09:46 ------- Created an attachment (id=19537) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19537&action=view) gcc45-pr42662.patch Fix. Regarding the above mentioned patch, it looks like a big hammer, which will create a lot of garbage. Are you sure you have investigated where exactly the sharing originates from? On the line this patch is fixing XEXP (op0, 0) is used twice, once inside the plus and once as the second comparison operand. So it is clearly where the bug is introduced. Another place which also introduces something similar (x*x scalar floating optimization) already uses properly copy_rtx. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42662