Date: Tue, 18 Sep 2001 14:43:21 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: pavenis AT lanet DOT lv Message-Id: <2561-Tue18Sep2001144320+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: (message from Andris Pavenis on Tue, 18 Sep 2001 11:24:42 +0300 (WET)) Subject: Re: GCC 2.9x and 3.x produces larger code References: Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Tue, 18 Sep 2001 11:24:42 +0300 (WET) > From: Andris Pavenis > > I think one of the reasons is code and data alignment. For example > gcc-3.0.1 Linux to DJGPP cross-compiler generates: > '.p2align 4' before procedure code > '.p2align 4,,7' in some other places inside procedure (like > before then begin of loop) I don't think so: in two object files I compared (after "objdump -d"), I counted only 269 nop instructions, which is 269 bytes. That object file was 1.5KB larger when compiled with GCC 3.0.1. > These alignment instructions are generated also by gcc-2.95.3, so I think > it would be more correct to compare with that version when compiler > options for optimizing size are being used. Comparison with 2.95.3 yields similar results; that is, 2.95.3 also produces larger code.