qemu/bswap: Replace bswapXXs() by compiler __builtin_bswap()

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230111163147.71761-3-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2023-01-11 17:31:43 +01:00 committed by Thomas Huth
parent 6366ca31ef
commit b1032a23ed
1 changed files with 9 additions and 7 deletions

View File

@ -50,29 +50,31 @@ static inline uint64_t bswap64(uint64_t x)
static inline void bswap16s(uint16_t *s)
{
*s = bswap16(*s);
*s = __builtin_bswap16(*s);
}
static inline void bswap32s(uint32_t *s)
{
*s = bswap32(*s);
*s = __builtin_bswap32(*s);
}
static inline void bswap64s(uint64_t *s)
{
*s = bswap64(*s);
*s = __builtin_bswap64(*s);
}
#if HOST_BIG_ENDIAN
#define be_bswap(v, size) (v)
#define le_bswap(v, size) glue(bswap, size)(v)
#define le_bswap(v, size) glue(__builtin_bswap, size)(v)
#define be_bswaps(v, size)
#define le_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#define le_bswaps(p, size) \
do { *p = glue(__builtin_bswap, size)(*p); } while (0)
#else
#define le_bswap(v, size) (v)
#define be_bswap(v, size) glue(bswap, size)(v)
#define be_bswap(v, size) glue(__builtin_bswap, size)(v)
#define le_bswaps(v, size)
#define be_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#define be_bswaps(p, size) \
do { *p = glue(__builtin_bswap, size)(*p); } while (0)
#endif
/**