Re: Using POPCNT and other advanced bit manipulation instructions

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: Using POPCNT and other advanced bit manipulation instructions
Дата
Msg-id CAEepm=0eyotC0jjVuX90vY2myxRodspDqfrBLa6hOS_MPFQyuQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Using POPCNT and other advanced bit manipulation instructions  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Using POPCNT and other advanced bit manipulation instructions  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Thu, Feb 14, 2019 at 4:38 PM Tom Lane <tgl@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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: pg_basebackup ignores the existing data directory permissions
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Using POPCNT and other advanced bit manipulation instructions