| 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 |
| 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 |