From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26648 invoked by alias); 6 Jul 2009 09:55:01 -0000 Received: (qmail 26551 invoked by uid 48); 6 Jul 2009 09:54:50 -0000 Date: Mon, 06 Jul 2009 09:55:00 -0000 Message-ID: <20090706095450.26550.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/40657] allocate local variables with fewer instructions In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ramana at gcc dot gnu dot org" 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: 2009-07/txt/msg00419.txt.bz2 ------- Comment #3 from ramana at gcc dot gnu dot org 2009-07-06 09:54 ------- (In reply to comment #2) > IIRC push-multiple and pop-multiple are not supported yet. Richard E.? > I am not sure what you mean here. push and pop multiple are supported to the best of the cases that GCC can detect them. since load and store multiple are not first class citizens, the ARM backend attempts to detect them in the form of peephole2's and peephole's. However this case isn't to do with push or pop multiple but to do with saving space in the thumb prologue and epilogue by emitting push and pop multiple instructions instead of explicit instructions to manipulate the stack. Notice that r2 and r3 are not used in the code that Carrot is proposing in comment #1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40657