From: Ben Noordhuis Date: Tue, 15 Dec 2015 11:57:49 +0000 (+0100) Subject: src: remove __builtin_bswap16 call X-Git-Tag: v4.4.0~203 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=39b25036505fb9c8fa456a250516179a1083797b;p=platform%2Fupstream%2Fnodejs.git src: remove __builtin_bswap16 call Not supported by apple-gcc and I'm not convinced it's worth adding more preprocessor hacks when it should be easy as pie for the compiler to to optimize the byteswap. If it doesn't, fix the compiler. Fixes: https://github.com/nodejs/node/issues/4284 PR-URL: https://github.com/nodejs/node/pull/4290 Reviewed-By: Colin Ihrig --- diff --git a/src/util-inl.h b/src/util-inl.h index 669b7e7..69dc5b2 100644 --- a/src/util-inl.h +++ b/src/util-inl.h @@ -199,15 +199,8 @@ TypeName* Unwrap(v8::Local object) { } void SwapBytes(uint16_t* dst, const uint16_t* src, size_t buflen) { - for (size_t i = 0; i < buflen; i++) { - // __builtin_bswap16 generates more efficient code with - // g++ 4.8 on PowerPC and other big-endian archs -#ifdef __GNUC__ - dst[i] = __builtin_bswap16(src[i]); -#else + for (size_t i = 0; i < buflen; i += 1) dst[i] = (src[i] << 8) | (src[i] >> 8); -#endif - } }