From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5409 invoked by alias); 7 Feb 2004 06:25:15 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 5402 invoked by uid 48); 7 Feb 2004 06:25:14 -0000 Date: Sat, 07 Feb 2004 06:25:00 -0000 From: "kazu at cs dot umass dot edu" To: gcc-bugs@gcc.gnu.org Message-ID: <20040207062512.14060.kazu@cs.umass.edu> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/14060] New: An unused register is saved to the stack. X-Bugzilla-Reason: CC X-SW-Source: 2004-02/txt/msg00855.txt.bz2 List-Id: /* Use ./cc1 -mh -O2 -fomit-frame-pointer. */ extern long bar (long, long *); void foo (long z) { long a[2]; a[0] = z; while (1) { if (bar (z, a)) return; } } Note that er5 is saved but not used anywhere in the function. _foo: mov.l er4,@-er7 mov.l er5,@-er7 subs #4,er7 subs #4,er7 mov.l er0,er4 mov.l er0,@er7 .L2: mov.l er7,er1 mov.l er4,er0 jsr @_bar mov.l er0,er0 beq .L2 adds #4,er7 adds #4,er7 mov.l @er7+,er5 mov.l @er7+,er4 rts -- Summary: An unused register is saved to the stack. Product: gcc Version: 3.5.0 Status: UNCONFIRMED Keywords: pessimizes-code Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu GCC target triplet: h8300-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14060