From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26146 invoked by alias); 8 Aug 2009 14:15:51 -0000 Received: (qmail 26085 invoked by uid 48); 8 Aug 2009 14:15:39 -0000 Date: Sat, 08 Aug 2009 14:15:00 -0000 Message-ID: <20090808141539.26084.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/40667] [4.4/4.5 Regression] stack frames are generated even with -fomit-frame-pointer In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mikulas at artax dot karlin dot mff dot cuni dot cz" 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-08/txt/msg00804.txt.bz2 ------- Comment #23 from mikulas at artax dot karlin dot mff dot cuni dot cz 2009-08-08 14:15 ------- (In reply to comment #22) > It is because -malign-double will align long long to 8 byte. Yes, it aligns it in the structures ... but why on the stack? Those people who were writing it really didn't understand the difference between preferred alignment (long long, double, long double) that shouldn't trigger any stack realigns and enforced alignment (sse 16-byte) that should. So gcc aligns the stack when it's not needed and doesn't align it when it is (PR 40838). That's why I think it needs redesign, it can't be fixed with incremental hacks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40667