Changeset: 9ae07cb8cf69 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9ae07cb8cf69
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: default
Log Message:
No __popcnt64() on 32 bit Windows.
diffs (26 lines):
diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c
--- a/monetdb5/modules/mal/txtsim.c
+++ b/monetdb5/modules/mal/txtsim.c
@@ -451,14 +451,19 @@ static inline int
popcount64(uint64_t x)
{
#if defined(__GNUC__)
- return (uint32_t) __builtin_popcountll(x);
+ return (int) __builtin_popcountll(x);
#elif defined(_MSC_VER)
- return (uint32_t) __popcnt64(x);
+#if SIZEOF_OID == 4
+ /* no __popcnt64 on 32 bit Windows */
+ return (int) (__popcnt((uint32_t) x) + __popcnt((uint32_t) (x >> 32)));
+#else
+ return (int) __popcnt64(x);
+#endif
#else
x = (x & 0x5555555555555555ULL) + ((x >> 1) & 0x5555555555555555ULL);
x = (x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL);
x = (x & 0x0F0F0F0F0F0F0F0FULL) + ((x >> 4) & 0x0F0F0F0F0F0F0F0FULL);
- return (x * 0x0101010101010101ULL) >> 56;
+ return (int) ((x * 0x0101010101010101ULL) >> 56);
#endif
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]