diff options
author | Nathan Bossart <nathan@postgresql.org> | 2025-03-28 14:49:35 -0500 |
---|---|---|
committer | Nathan Bossart <nathan@postgresql.org> | 2025-03-28 14:49:35 -0500 |
commit | 6be53c27673a5fca64a00a684c36c29db6ca33a5 (patch) | |
tree | 6631906bc69ffa8ec6404be8851d37b664e225f8 /src/interfaces/ecpg/ecpglib/execute.c | |
parent | 51a0382e8d8793b5cc89b69285e5ecdffe03c2bf (diff) | |
download | postgresql-6be53c27673a5fca64a00a684c36c29db6ca33a5.tar.gz postgresql-6be53c27673a5fca64a00a684c36c29db6ca33a5.zip |
Optimize popcount functions with ARM Neon intrinsics.
This commit introduces Neon implementations of pg_popcount{32,64},
pg_popcount(), and pg_popcount_masked(). As in simd.h, we assume
that all available AArch64 hardware supports Neon, so we don't need
any new configure-time or runtime checks. Some compilers already
emit Neon instructions for these functions, but our hand-rolled
implementations for pg_popcount() and pg_popcount_masked()
performed better in testing, likely due to better instruction-level
parallelism.
Author: "Chiranmoy.Bhattacharya@fujitsu.com" <Chiranmoy.Bhattacharya@fujitsu.com>
Reviewed-by: John Naylor <johncnaylorls@gmail.com>
Discussion: https://postgr.es/m/010101936e4aaa70-b474ab9e-b9ce-474d-a3ba-a3dc223d295c-000000%40us-west-2.amazonses.com
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/execute.c')
0 files changed, 0 insertions, 0 deletions