On Thu, Feb 14, 2019 at 4:38 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > And, while I'm complaining: why the devil is use of the compiler builtins > gated by HAVE__GET_CPUID? This is unbelievably Intel-centric, because > it prevents use of the builtins on other architectures. If the builtin > exists, we should use it, full stop. There's no reason to expect that it > would be slower than hand-rolled code, regardless of the architecture.
FWIW a quick test of __builtin_popcount(n) compiles as CNT on a Debian ARM system, without any special compiler flags. > I'd be inclined to rip out all of the run-time-detection logic here; > I doubt any of it is buying anything that's worth the price of an > indirect call. No view on that but apparently there were Intel Atom and AMD C chips sold in the early part of this decade that lack POPCNT so I suspect the distros can't ship software that requires it with no fallback. -- Thomas Munro http://www.enterprisedb.com