Subject: Re: [PATCH v3 0/5] bswap.h: Rework ntohl handling

From: Junio C Hamano <[email-masked]>
Date: Tue, 15 Jul 2025 14:52:01 -0700

Sebastian Andrzej Siewior <[email-masked]> writes:

> this series continues the rework of the bswap32/64()/ nothl() handling. 
>
> I've been looking at recent compiler and they manage to recognize the
> manual shifting and use an optimize opcode if available. The ntohl
> version provided by glibc already provides an "optimized" version which
> makes an optimisation in git almost not needed.
> One of the motivation behind overwriting/ providing an optimized
> version was to provide a macro instead of using a function call. One
> libc that is still providing ntohl as a function call is musl.
>
> While ntohl() is provided by the libc, the ntohll() is not. I found it
> only on Windows provided by winsock.h.
>
> I haven't touched the put/get_be*() macros. gcc & clang are both smart
> enough to swap the content accordingly and perform a single store/ load.
> Only the msvc seems to strugle here and performs multiple bytes stores/
> loads and shifts.
>
> v2…v3 https://lore.kernel.org/all/[email-masked]/
>   - Fixed typos in the patch description

Thanks for updating the proposed log messages with typofixes.  I
understand the patch text has no changes?

Cc'ed those who gave comments on the previous round.  How does this
version look to you folks?

Thanks.