From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29060 invoked by alias); 27 Jan 2012 15:29:01 -0000 Received: (qmail 29042 invoked by uid 22791); 27 Jan 2012 15:29:00 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 27 Jan 2012 15:28:47 +0000 From: "matz at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug regression/52020] ICE in immed_double_const, at emit-rtl.c:544 Date: Fri, 27 Jan 2012 15:54:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: regression X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: matz at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status Last reconfirmed CC Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-01/txt/msg03171.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52020 Michael Matz changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-01-27 CC| |matz at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Michael Matz 2012-01-27 15:28:18 UTC --- Will be fixed when Richi commits his patch from http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01465.html The problem is, that SRA transforms the "bu = CLOBBER" into bu.__o=0, where the zero is of an OImode type. This later is transformed into a debug instruction (still using that large-type zero), and that zero can't be transformed into RTL because OImode constants are too large to be held in 2*HOST_WIDE_INT . SRA should not invent new constants that weren't there before. It could just as well generate new clobber statements (SSA names in LHS are allowed there), if it really must scalarize the clobber statements.