diff options
author | Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | 2025-07-15 21:12:29 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2025-07-15 14:36:47 -0700 |
commit | 0132f114efe90fb5f0baf61dbda8a1a33eace929 (patch) | |
tree | baa2c5ab88f14f56660ed0ede00542521b320224 /commit.c | |
parent | 4544cd19e429975882e20fa89dab7e73956f26e4 (diff) |
bswap.h: remove optimized x86 version of bswap32/64
On x86 the bswap32/64 macro is implemented based on the x86 opcode which
performs the required shifting in just one opcode.
The other CPUs fallback to the generic shifting as implemented by
default_swab32() and default_bswap64() if needed.
I've been looking at how good a compiler is at recognizing the default
shift and emitting an optimized operation:
- x86, arm64 msvc v19.20
default_swab32() optimized
default_bswap64() shifts
_byteswap_uint64() optimized
- x86, arm64 msvc v19.37
default_swab32() optimized
default_bswap64() optimized
_byteswap_uint64() optimized
- arm64, gcc-4.9.4: optimized
- x86-64, gcc-4.4.7: shifts
- x86-64, gcc-4.5.3: optimized
- x86-64, clang-3.0: optimized
Given that gcc-4.5 and clang-3.0 are fairly old, any recent compiler
should recognize the shift.
Remove the optimized x86 version and rely on the compiler.
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.c')
0 files changed, 0 insertions, 0 deletions