Re: refactor architecture-specific popcount code

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: refactor architecture-specific popcount code
Date: 2026-01-29 17:06:03
Message-ID: aXuTex5a4iu-BYXy@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jan 29, 2026 at 06:31:53PM +0700, John Naylor wrote:
> On Mon, Jan 26, 2026 at 10:41 PM Nathan Bossart
> <nathandbossart(at)gmail(dot)com> wrote:
>> I added a 0003 that swaps that final popcount with pg_popcount().
>
> I'm not sure either if this part matters much, but it makes more sense
> to me to continue using single word functions for that last part.
> Since they have very few call sites anymore, we can make them inline
> without bloating the binary on x86.

Okay, I abandoned that patch.

> Right, just the portable ones. Here, too, inlining them everywhere
> would mitigate any impact.

Done.

> +static inline int
> +pg_popcount64_neon(uint64 word)
>
> ...if they were inlined from the header, I think we wouldn't need this
> separate neon function in this file at all. Currently, we rely on
> __builtin_popcountl for the portable function outside this file. We
> could either keep using that or switch to neon if there's a
> portability difference.

Done.

--
nathan

Attachment Content-Type Size
v5-0001-Make-use-of-pg_popcount-in-more-places.patch text/plain 2.1 KB
v5-0002-Remove-unnecessary-32-bit-optimizations-and-align.patch text/plain 2.5 KB
v5-0003-Remove-specialized-word-length-popcount-implement.patch text/plain 10.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bear Giles 2026-01-29 17:15:35 Follow-up on OpenSSL "engines" and "providers"
Previous Message Anthonin Bonnefoy 2026-01-29 16:52:39 Re: Auto-tune shared_buffers to use available huge pages