diff options
| author | Paul Eggert | 2013-10-07 14:37:19 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-10-07 14:37:19 -0700 |
| commit | 595e113b15e2ce80b95d39d1851ce78f25ffa1f4 (patch) | |
| tree | 42c02de46a13e0af39fcc83de9d57c29e309f99e /src/ChangeLog | |
| parent | ddb317ba828f05eb48e98fda530443955485e75d (diff) | |
| download | emacs-595e113b15e2ce80b95d39d1851ce78f25ffa1f4.tar.gz emacs-595e113b15e2ce80b95d39d1851ce78f25ffa1f4.zip | |
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
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8e22e4f7cf1..753e123378c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Improve support for popcount and counting trailing zeros (Bug#15550). | ||
| 4 | * data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>. | ||
| 5 | (USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE) | ||
| 6 | (NEED_GENERIC_POPCOUNT, popcount_size_t_generic) | ||
| 7 | (popcount_size_t_msc, popcount_size_t_gcc): | ||
| 8 | Remove; now done by Gnulib. | ||
| 9 | (popcount_size_t): Now a macro that defers to Gnulib. | ||
| 10 | (count_trailing_zero_bits): Return int, for consistency with | ||
| 11 | Gnulib and because Emacs prefers signed to unsigned int. | ||
| 12 | Don't assume that size_t is either unsigned int or unsigned long | ||
| 13 | or unsigned long long. | ||
| 14 | (size_t_to_host_endian): Do not assume that size_t is either | ||
| 15 | exactly 32 or exactly 64 bits wide. | ||
| 16 | * lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG | ||
| 17 | etc., so that it's now an enum constant, not a macro. | ||
| 18 | No need to assume that it's either 32 or 64. | ||
| 19 | |||
| 1 | 2013-10-07 Jan Djärv <jan.h.d@swipnet.se> | 20 | 2013-10-07 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 21 | ||
| 3 | * nsterm.m (windowDidEnterFullScreen:): setPresentationOptions only | 22 | * nsterm.m (windowDidEnterFullScreen:): setPresentationOptions only |