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 <[email protected]> Reviewed-by: John Naylor <[email protected]> Discussion: https://postgr.es/m/CANWCAZY7R%2Biy%2Br9YM_sySNydHzNqUirx1xk0tB3ej5HO62GdgQ%40mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/cb7b2e5e8efb3e5fb08052425cd00f067a56f877 Modified Files -------------- src/include/port/pg_bitutils.h | 16 ++-------- src/port/pg_bitutils.c | 30 ------------------- src/port/pg_popcount_x86.c | 67 ++++++++---------------------------------- 3 files changed, 14 insertions(+), 99 deletions(-)
