diff --git a/src/include/port/pg_bitutils.h b/src/include/port/pg_bitutils.h index 789663edd93..3fa0248f32e 100644 --- a/src/include/port/pg_bitutils.h +++ b/src/include/port/pg_bitutils.h @@ -289,8 +289,8 @@ extern PGDLLIMPORT uint64 (*pg_popcount_masked_optimized) (const char *buf, int #else /* Use a portable implementation -- no need for a function pointer. */ -extern uint64 pg_popcount_optimized(const char *buf, int bytes); -extern uint64 pg_popcount_masked_optimized(const char *buf, int bytes, bits8 mask); +#define pg_popcount_optimized(buf, bytes) pg_popcount_portable(buf, bytes) +#define pg_popcount_masked_optimized(buf, bytes, mask) pg_popcount_masked_portable(buf, bytes, mask) #endif diff --git a/src/port/pg_bitutils.c b/src/port/pg_bitutils.c index 49b130f1306..047044b2917 100644 --- a/src/port/pg_bitutils.c +++ b/src/port/pg_bitutils.c @@ -161,34 +161,3 @@ pg_popcount_masked_portable(const char *buf, int bytes, bits8 mask) return popcnt; } - -#if !defined(HAVE_X86_64_POPCNTQ) && !defined(USE_NEON) - -/* - * When special CPU instructions are not available, there's no point in using - * function pointers to vary the implementation. We instead just make these - * actual external functions. The compiler should be able to inline the - * portable versions here. - */ - -/* - * pg_popcount_optimized - * Returns the number of 1-bits in buf - */ -uint64 -pg_popcount_optimized(const char *buf, int bytes) -{ - return pg_popcount_portable(buf, bytes); -} - -/* - * pg_popcount_masked_optimized - * Returns the number of 1-bits in buf after applying the mask to each byte - */ -uint64 -pg_popcount_masked_optimized(const char *buf, int bytes, bits8 mask) -{ - return pg_popcount_masked_portable(buf, bytes, mask); -} - -#endif /* ! HAVE_X86_64_POPCNTQ && ! USE_NEON */