From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 117690 invoked by alias); 2 Mar 2015 08:56:44 -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 117250 invoked by uid 48); 2 Mar 2015 08:56:40 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/65247] [missed optimisation] Reading a callee-saved register writes to the stack Date: Mon, 02 Mar 2015 08:56:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: missed-optimization, ra X-Bugzilla-Severity: enhancement X-Bugzilla-Who: rguenth 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-Flags: X-Bugzilla-Changed-Fields: keywords cf_gcctarget bug_status cf_reconfirmed_on everconfirmed 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: 2015-03/txt/msg00095.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65247 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization, ra Target| |x86_64-*-*, i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2015-03-02 Ever confirmed|0 |1 --- Comment #2 from Richard Biener --- Well, if you want to read %rbx as it is at the point of the asm (you don't initialize "rbx") then simply read from it without any input or input constraint. Or do not use an asm at tall but just 'return rbx;'? As of why we still push/pop %rbx, no idea. That is, confirmed with #include uint64_t read_rbx(void) { register uint64_t rbx asm ("rbx"); return rbx; }