From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 589 invoked by alias); 28 Dec 2013 08:42:24 -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 Received: (qmail 550 invoked by uid 48); 28 Dec 2013 08:42:20 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/59615] "asm goto" output or at least clobbered operands Date: Sat, 28 Dec 2013 08:42:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-12/txt/msg02286.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59615 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek --- The reason for the limitation is that any needed reload out can't be then inserted after the asm goto, but all the other edges would need to be split and the reload outs inserted on all the edges. Looking at your example though, can you explain why you want to use asm goto then? I'd say that for addition, two conditional jumps and one comparison you definitely don't want to use asm goto, the compiler can't see through it thus can't optimize it. Why isn't what GCC generates sufficient? Do you have a testcase?