Messages in this thread | | | Date | Mon, 18 Feb 2008 16:13:40 +0200 | From | Adrian Bunk <> | Subject | Re: [PATCH 1/3] Fix Unlikely(x) == y |
| |
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
| |