Commit Graph

9 Commits

Author SHA1 Message Date
Erik de Castro Lopo
7c66452886 include/share/endswap.h : Improvements to fallthrough ENDSWAP_*.
According to patch author GCC can optimize expressions like
"(a<<8)|(a>>8)", but has problems with "(a<<8)+(a>>8)".

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-08-09 12:49:38 +10:00
Erik de Castro Lopo
b08c520d33 include/share/endswap.h : Fix default ENDSWAP_16.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-07-13 20:37:00 +10:00
Ralph Giles
22d4893d28 Fix bswap16 issue on Debian 6.
Versions of GCC prior to 4.8 didn't provide an implementation
of __builtin_bswap16 on x86_64. Detect those versions and
supply a fallback implementation. A cleaner fix would be
to detect bswap16 independently of bswap32 in configure
and handle them separately.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2014-07-03 18:59:49 +10:00
Erik de Castro Lopo
0d1cb19525 include/share/endswap.h : Fix fallback ENDSWAP_16 macro. 2014-06-30 09:20:09 +10:00
Erik de Castro Lopo
699e7c457a include/share/endswap.h : Add endswapping of 16 bit values.
Also add macros H2LE_16 and H2LE_32, which do host to little-endian
swapping of 16 and 32 bit values respectively.
2014-06-29 20:20:06 +10:00
Erik de Castro Lopo
b9574fe589 Fix a bunch of compiler warnings (mainly MinGW). 2013-04-07 13:44:45 +10:00
Erik de Castro Lopo
2f8b6a0349 Rename ENDSWAP_INT to ENDSWAP_32. 2012-03-05 21:12:20 +11:00
Erik de Castro Lopo
d7bfc779c8 Add XIPH_BSWAP32 configure macro to detect __builtin_bswap32() intrinsic. 2012-02-06 07:15:48 +11:00
Erik de Castro Lopo
a5d1d4f0c5 Improve endswapping (especially purge ntohl). 2012-02-05 11:24:14 +11:00