This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: i386 backend
- To: leei at AI dot SRI dot COM, pinkfloydhomer at yahoo dot com
- Subject: RE: i386 backend
- From: dewar at gnat dot com
- Date: Mon, 19 Mar 2001 17:00:47 -0500 (EST)
- Cc: dewar at gnat dot com, gcc at gcc dot gnu dot org
<<I am not sure I understand what you mean. I have a pretty deep insight in
where my programs "hotspots" are. I have compiled it with many different
compilers, profiled it with different profilers etc. But how can I tell
where the problem with gcc is from that, when I know nothing about the
internals of a compiler?
The biggest "hotspot" in my program is an evaluation function which uses
appx. 30% of the time, according to profilers. This evaluation function is
mainly integer arithmetics and array lookups, in a very complex way. We're
talking appx. 2000 lines of code for one function that eventually just
returns an int.
>>
We need the sample code!
We don't want you to "tell where the problem with gcc is from that" [in
terms of the internals]. We just need a sample source that shows the problem
[in terms of poor generated code]/
In other words the useful contribution is something like
here is a program that I compiled with -O3 -funroll-loops and it
still ran 30% slower.
(and if possible, add)
The reason seems like it may be the five instructions in a row in the inner
loop that all load the constant 1 into EAX
:-)