From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16150 invoked by alias); 21 Dec 2011 17:52:01 -0000 Received: (qmail 16133 invoked by uid 22791); 21 Dec 2011 17:51:58 -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; Wed, 21 Dec 2011 17:51:39 +0000 From: "rth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/51552] bfin generates bad assembly Date: Wed, 21 Dec 2011 18:12:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rth 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: 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 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: 2011-12/txt/msg02393.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51552 Richard Henderson changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rth at gcc dot gnu.org --- Comment #3 from Richard Henderson 2011-12-21 17:51:30 UTC --- Well, honestly the largest problem is that the bfin backend is emitting bundles in a way that can't be split, but in separate insns. The ia64 backend handles this case by supporting "debug labels" in the assembler, which are understood not to break the bundle. As far as the middle-end is concerned, it's doing absolutely nothing wrong. I'll see what I can do to restore the kinda-sorta working state that we had before, but you really ought to fix the backend to not lie to the middle-end. Consider implementing debug labels in the assembler. Or failing that, pack your insn bundles into sequences, or something.