From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9814 invoked by alias); 16 Dec 2010 08:02:31 -0000 Received: (qmail 9803 invoked by uid 22791); 16 Dec 2010 08:02:30 -0000 X-SWARE-Spam-Status: No, hits=-2.8 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; Thu, 16 Dec 2010 08:02:26 +0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug debug/46893] [4.5/4.6 Regression] ICE: in trunc_int_for_mode, at explow.c:56 with -O -g X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: debug X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: aoliva at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.6.0 X-Bugzilla-Changed-Fields: CC 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 Date: Thu, 16 Dec 2010 08:02:00 -0000 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-12/txt/msg01871.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46893 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek 2010-12-16 08:02:21 UTC --- I agree the simplify-rtx.c change makes sense, but disagree on the cfgexpand.c side. In theory the VCE doesn't have to be the outermost expression, it can be embedded in another handled component or another VCE, etc. We expand tem to op0 and that only ever considers tem's mode, not mode1 or whatever. Thus, if op0 is a CONST_INT and thus has no mode, we should look at tem's mode, which is where it would get its mode from if it had any. I'm fine with limiting that just to CONST_INTs if you want. But it also needs to be done in both places, not just one.