Messages in this thread |  | | | Date | Mon, 08 Feb 2010 01:35:41 -0800 | | From | "H. Peter Anvin" <> | | Subject | Re: [PATCH 2/5] bitops: compile time optimization for hweight_long(CONSTANT) |
| |
On 02/08/2010 01:28 AM, Borislav Petkov wrote: > > Well, in the second version I did replace a 'call _hweightXX' with > the actual popcnt opcode so the alternatives is only needed to do the > replacement during boot. We might just as well do > > if (X86_FEATURE_POPCNT) > __hw_popcnt() > else > __software_hweight() > > The only advantage of the alternatives is that it would save us the > if-else test above each time we do cpumask_weight. However, the if-else > approach is much more readable and obviates the need for all that macro > magic and taking special care of calling c function from within asm. And > since we do not call cpumask_weight all that often I'll honestly opt for > alternative-less solution... >
The highest performance will be gotten by alternatives, but it only make sense if they are inlined at the point of use... otherwise it's basically pointless.
-hpa
|  |