[libc-commits] [libc] [libc] Add generic cpp::byteswap to CPP/bit.h (PR #196274)

Jeff Bailey via libc-commits libc-commits at lists.llvm.org
Fri May 8 22:26:28 PDT 2026


================
@@ -29,38 +30,6 @@ namespace LIBC_NAMESPACE_DECL {
 
 namespace internal {
 
-template <typename T> LIBC_INLINE T byte_swap(T value);
-
-template <> LIBC_INLINE uint16_t byte_swap<uint16_t>(uint16_t value) {
-#if __has_builtin(__builtin_bswap16)
-  return __builtin_bswap16(value);
-#else
-  return (value << 8) | (value >> 8);
-#endif // __builtin_bswap16
-}
-
-template <> LIBC_INLINE uint32_t byte_swap<uint32_t>(uint32_t value) {
-#if __has_builtin(__builtin_bswap32)
-  return __builtin_bswap32(value);
-#else
-  return byte_swap<uint16_t>(static_cast<uint16_t>(value >> 16)) ||
----------------
kaladron wrote:

Hi!  I don't understand your comment.  Could you please tell me more?  Is there some behaviour that I missed?

https://github.com/llvm/llvm-project/pull/196274


More information about the libc-commits mailing list