This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 2.95/3.x regression in the compilation of computed gotos?
On Thu, Jan 22, 2004 at 05:21:50PM +0100, duchier@ps.uni-sb.de wrote:
> Actually, that was part of my question. I am not sure that it is a
> regression. I was soliciting your opinion on 2 issues: (1) is it (in
> principle) a regression,
It is a *change*, yes, possibly unavoidable due to changes in the way
we process computed goto internally ...
> (2) why the difference?
... which make fantastic differences to compile-time; from hours to
minutes in some test cases.
> I'll try to work out some code that can actually be executed, so it
> can be benchmarked, but I was hoping that someone better acquainted
> with instruction costs could estimate it from first principles.
As for a *regression*, because of the way ppro, p2, p3, p4, athlon
decompose x86 instructions into risc-like internal operations, I
disbelieve anyone can measure a difference. We still have one memory
load and one indirect jump. That the result of the load goes to an
user -visible register rather than a cpu-internal temporary should
be immaterial.
On antiquated 80386 systems the difference is exactly 1 cycle.
r~