Remove some unnecessary optimizations in popcount code.

Nathan Bossart <nathan@postgresql.org>

Commit: cb7b2e5e8efb3e5fb08052425cd00f067a56f877
Author: Nathan Bossart <nathan@postgresql.org>
Date: 2026-02-12T17:32:49Z
Remove some unnecessary optimizations in popcount code.

Over the past few releases, we've added a huge amount of complexity
to our popcount implementations.  Commits fbe327e5b4, 79e232ca01,
8c6653516c, and 25dc485074 did some preliminary refactoring, but
many opportunities remain.  In particular, if we disclaim interest
in micro-optimizing this code for 32-bit builds and in unnecessary
alignment checks on x86-64, we can remove a decent chunk of code.
I cannot find public discussion or benchmarks for the code this
commit removes,  but it seems unlikely that this change will
noticeably impact performance on affected systems.

Suggested-by: John Naylor <johncnaylorls@gmail.com>
Reviewed-by: John Naylor <johncnaylorls@gmail.com>
Discussion: https://postgr.es/m/CANWCAZY7R%2Biy%2Br9YM_sySNydHzNqUirx1xk0tB3ej5HO62GdgQ%40mail.gmail.com

Files

PathChange+/−
src/include/port/pg_bitutils.h modified +2 −14
src/port/pg_bitutils.c modified +0 −30
src/port/pg_popcount_x86.c modified +12 −55

Discussion