summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>2025-07-15 21:12:30 +0200
committerJunio C Hamano <gitster@pobox.com>2025-07-15 14:36:51 -0700
commitf4ac32c03af5ac53964a05c4de435da53a59615c (patch)
treeb962c42b74172edecdc00ec32ddae38cf33f56e5 /commit.c
parent0132f114efe90fb5f0baf61dbda8a1a33eace929 (diff)
bswap.h: provide a built-in based version of bswap32/64 if possible
The compiler is in general able to recognize the endian shift and replace it with an optimized opcode if possible. On certain architectures such as RiscV or MIPS the situation can get complicated. They don't provide an optimized opcode and masking the "higher" bits may required loading a constant which needs shifting. This causes the compiler to emit a lot of instructions for the operation. The provided builtin directive on these architecture calls a function which does the operation instead of emitting the code for operation. Bring back the change from commit 6547d1c9 (bswap.h: add support for built-in bswap functions, 2025-04-23). The bswap32/64 macro can now be defined unconditionally so it won't regress on big endian architectures. 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