From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10687 invoked by alias); 23 Apr 2005 22:30:48 -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 10627 invoked by uid 48); 23 Apr 2005 22:30:38 -0000 Date: Sat, 23 Apr 2005 22:30:00 -0000 From: "vda at port dot imtp dot ilyichevsk dot odessa dot ua" To: gcc-bugs@gcc.gnu.org Message-ID: <20050423223032.21182.vda@port.imtp.ilyichevsk.odessa.ua> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug rtl-optimization/21182] New: gcc can use registers but uses stack instead X-Bugzilla-Reason: CC X-SW-Source: 2005-04/txt/msg03343.txt.bz2 List-Id: in this long but relatively simple function gcc can store all frequently used local variables in registers, but it fails to do so. gcc can be forced to do this optimization by asm("reg") modifiers. Resulting code is ~1k smaller. # gcc -v Reading specs from /.share/usr/app/gcc-3.4.3/bin/../lib/gcc/i386-pc-linux-gnu/3.4.3/specs Configured with: ../gcc-3.4.3/configure --prefix=/usr/app/gcc-3.4.3 --exec-prefix=/usr/app/gcc-3.4.3 --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/app/gcc-3.4.3/libexec --datadir=/usr/app/gcc-3.4.3/share --sysconfdir=/etc --sharedstatedir=/usr/app/gcc-3.4.3/var/com --localstatedir=/usr/app/gcc-3.4.3/var --libdir=/usr/lib --includedir=/usr/include --infodir=/usr/info --mandir=/usr/man --with-slibdir=/usr/app/gcc-3.4.3/lib --with-local-prefix=/usr/local --with-gxx-include-dir=/usr/app/gcc-3.4.3/include/g++-v3 --enable-languages=c,c++ --with-system-zlib --disable-nls --enable-threads=posix i386-pc-linux-gnu Thread model: posix gcc version 3.4.3 -- Summary: gcc can use registers but uses stack instead Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vda at port dot imtp dot ilyichevsk dot odessa dot ua CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i386-pc-linux-gnu GCC host triplet: i386-pc-linux-gnu GCC target triplet: i386-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21182