Files
emacs/lib
Paul Eggert 595e113b15 Improve support for popcount and counting trailing zeros.
Do this by using the Gnulib modules for this.
This should generate faster code on non-GCC, non-MSC platforms,
and make the code a bit more portable, at least in theory.
* admin/merge-gnulib (GNULIB_MODULES): Add count-one-bits
and count-trailing-zeros.
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
* m4/count-one-bits.m4, m4/count-trailing-zeros.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
* src/data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>.
(USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE)
(NEED_GENERIC_POPCOUNT, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc):
Remove; now done by Gnulib.
(popcount_size_t): Now a macro that defers to Gnulib.
(count_trailing_zero_bits): Return int, for consistency with
Gnulib and because Emacs prefers signed to unsigned int.
Don't assume that size_t is either unsigned int or unsigned long
or unsigned long long.
(size_t_to_host_endian): Do not assume that size_t is either
exactly 32 or exactly 64 bits wide.
* src/lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG
etc., so that it's now an enum constant, not a macro.
No need to assume that it's either 32 or 64.

Fixes: debbugs:15550
2013-10-07 14:37:19 -07:00
..
2013-09-19 14:40:08 -07:00
2013-01-02 08:37:04 -08:00
2013-09-19 14:40:08 -07:00
2013-06-09 08:59:30 -07:00
2013-02-08 15:37:17 -08:00
2013-02-08 15:37:17 -08:00
2013-01-02 08:37:04 -08:00
2013-09-19 14:40:08 -07:00
2013-10-03 00:06:52 -07:00
2013-01-02 08:37:04 -08:00
2013-09-19 14:40:08 -07:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-03-13 11:42:22 -07:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-08-11 17:52:17 -07:00
2013-03-13 11:42:22 -07:00
2013-10-03 00:06:52 -07:00
2013-09-19 14:40:08 -07:00
2013-01-09 18:19:44 -08:00
2013-01-02 08:37:04 -08:00
2013-04-27 12:30:33 -07:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-02-11 15:37:18 -08:00
2013-09-19 14:40:08 -07:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-01-02 08:37:04 -08:00
2013-05-16 00:10:39 -07:00
2013-06-09 08:59:30 -07:00
2013-09-19 14:40:08 -07:00
2013-09-19 14:40:08 -07:00
2013-01-02 08:37:04 -08:00
2013-01-16 09:45:39 -08:00
2013-09-19 14:40:08 -07:00
2013-02-11 15:15:46 -08:00
2013-01-09 00:25:11 -08:00
2013-02-11 15:37:18 -08:00
2013-03-23 17:49:50 -07:00
2013-01-02 08:37:04 -08:00
2013-08-11 17:52:17 -07:00
2013-09-24 20:44:34 -07:00
2013-09-24 20:44:34 -07:00
2013-09-19 14:40:08 -07:00
2013-09-19 14:40:08 -07:00
2013-10-03 00:06:52 -07:00
2013-02-11 15:15:46 -08:00
2013-09-19 14:40:08 -07:00
2013-09-19 14:40:08 -07:00
2013-10-03 00:06:52 -07:00
2013-01-02 08:37:04 -08:00