Re: call popcount32/64 directly on non-x86 platforms

From: John Naylor <john(dot)naylor(at)enterprisedb(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>
Subject: Re: call popcount32/64 directly on non-x86 platforms
Date: 2021-08-12 02:02:04
Message-ID: CAFBsxsEH7BSMcwU6cgAT2cZ6-Waq3oCuh2EzN4D8B5Ap2xA6gw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 11, 2021 at 8:13 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>
> On Thu, 12 Aug 2021 at 05:11, John Naylor <john(dot)naylor(at)enterprisedb(dot)com>
wrote:
> > 0001 moves some declarations around so that "slow" popcount functions
are called directly on non-x86 platforms.
>
> I was wondering if there was a reason that you didn't implement this
> by just changing pg_popcount32 and pg_popcount64 to be actual
> functions rather than function pointers when TRY_POPCNT_FAST is not
> defined? These functions would then just return
> pg_popcountNN_slow(word);
>
> This would save from having to change all the current callers of the
> functions to use the macro instead. That might be nice for any
> extensions which are using these functions.

Hmm, it wasn't obvious to me that would work, but I tried it and came up
with v2. Is this what you had in mind?

--
John Naylor
EDB: http://www.enterprisedb.com

Attachment Content-Type Size
v2-0002-Replace-intrinsics-in-pg_popcount-32-64-_slow-wit.patch application/octet-stream 3.1 KB
v2-0001-Use-direct-function-calls-for-pg_popcount-32-64-o.patch application/octet-stream 5.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2021-08-12 02:09:10 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Previous Message Jonathan S. Katz 2021-08-12 01:05:05 Re: 2021-08-12 release announcement draft