From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28028 invoked by alias); 10 Feb 2009 20:19:05 -0000 Received: (qmail 27979 invoked by uid 48); 10 Feb 2009 20:18:51 -0000 Date: Tue, 10 Feb 2009 20:19:00 -0000 Subject: [Bug target/39148] New: -Os increase code size when stack is aligned X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl dot tools at gmail dot com" 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-02/txt/msg00913.txt.bz2 [hjl@gnu-6 pr39137]$ cat pr39137-3.i void foo (unsigned long long *); void bar (void) { unsigned long long l __attribute__ ((aligned(32))); foo (&l); } [hjl@gnu-6 pr39137]$ /export/build/gnu/gcc-work/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-avx/build-x86_64-linux/gcc/ -m32 -Os pr39137-3.i -S [hjl@gnu-6 pr39137]$ cat pr39137-3.s .file "pr39137-3.i" .text .globl bar .type bar, @function bar: leal 4(%esp), %ecx andl $-32, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx subl $64, %esp leal -56(%ebp), %eax pushl %eax call foo movl -4(%ebp), %ecx addl $16, %esp leave leal -4(%ecx), %esp ret .size bar, .-bar [hjl@gnu-6 pr39137]$ /export/build/gnu/gcc-work/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-avx/build-x86_64-linux/gcc/ -m32 -O pr39137-3.i -S [hjl@gnu-6 pr39137]$ cat pr39137-3.s .file "pr39137-3.i" .text .globl bar .type bar, @function bar: pushl %ebp movl %esp, %ebp andl $-32, %esp subl $48, %esp leal 16(%esp), %eax movl %eax, (%esp) call foo leave ret .size bar, .-bar [hjl@gnu-6 pr39137]$ -Os generates bigger binary. -- Summary: -Os increase code size when stack is aligned Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39148