From: | John Naylor <john(dot)naylor(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Add MSVC support for pg_leftmost_one_pos32() and friends |
Date: | 2023-02-20 08:00:51 |
Message-ID: | E1pU16R-0023US-5e@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Add MSVC support for pg_leftmost_one_pos32() and friends
To allow testing for general support for fast bitscan intrinsics,
add symbols HAVE_BITSCAN_REVERSE and HAVE_BITSCAN_FORWARD.
Also do related cleanup in AllocSetFreeIndex(): Previously, we
tested for HAVE__BUILTIN_CLZ and copied the relevant internals of
pg_leftmost_one_pos32(), with a special fallback that does less
work than the general fallback for that function. Now that we have
a more general test, we just call pg_leftmost_one_pos32() directly
for platforms with intrinsic support. On gcc at least, there is no
difference in the binary for non-assert builds.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/67731974644ce77129d282434065c3f0be04be92
Modified Files
--------------
src/backend/utils/mmgr/aset.c | 6 ++--
src/include/port/pg_bitutils.h | 75 +++++++++++++++++++++++++++++++++++++-----
2 files changed, 70 insertions(+), 11 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2023-02-20 09:50:48 | pgsql: Optimize generate_orderedappend_paths |
Previous Message | John Naylor | 2023-02-20 07:33:55 | pgsql: Add assert checking to pg_leftmost_one_pos32() and friends |