This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/23525] New: inefficient parameter passing on x86
- From: "dann at godzilla dot ics dot uci dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Aug 2005 06:29:35 -0000
- Subject: [Bug target/23525] New: inefficient parameter passing on x86
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Compiling this code:
extern int waiting_for_initial_map;
extern int close (int __fd);
void
first_map_occurred(void)
{
close(cp_pipe[0]);
close(pc_pipe[1]);
waiting_for_initial_map = 0;
}
using -O2 -march=i686 4.[01] generate sequences like:
movl cp_pipe, %eax
movl %eax, (%esp)
for calling the close function
the Intel compiler generates:
pushl cp_pipe
--
Summary: inefficient parameter passing on x86
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dann at godzilla dot ics dot uci dot edu
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23525