[Cbe-oss-dev] [PATCH 1/3] Fix Unlikely(x) == y
Adrian Bunk
bunk at kernel.org
Tue Feb 19 01:13:40 EST 2008
On Mon, Feb 18, 2008 at 03:01:35PM +0100, Geert Uytterhoeven wrote:
> On Mon, 18 Feb 2008, Adrian Bunk wrote:
> >
> > This means it generates faster code with a current gcc for your platform.
> >
> > But a future gcc might e.g. replace the whole loop with a division
> > (gcc SVN head (that will soon become gcc 4.3) already does
> > transformations like replacing loops with divisions [1]).
>
> Hence shouldn't we ask the gcc people what's the purpose of __builtin_expect(),
> if it doesn't live up to its promise?
That's a different issue.
My point here is that we do not know how the latest gcc available in the
year 2010 might transform this code, and how a likely/unlikely placed
there might influence gcc's optimizations then.
If this is in hotpath code with a measurable speedup when using
likely/unlikely with a current gcc then it's worth it.
But otherwise it brings no real advantage today and the longterm effects
are not predictable.
> With kind regards,
>
> Geert Uytterhoeven
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
More information about the cbe-oss-dev
mailing list