bitops.h: Provide hswap32(), hswap64(), wswap64() swapping operations
commitdbcf6f9367a6a4af05b18cf0d7badf7677f403c4
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 14 Jun 2021 15:09:26 +0000 (14 16:09 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 16 Jun 2021 13:33:52 +0000 (16 14:33 +0100)
tree3969e4b2ce66b4113fda93eae7fe9d364348ee70
parent77f96148f3f6c4106a2a3cee8146690f954fd6cd
bitops.h: Provide hswap32(), hswap64(), wswap64() swapping operations

Currently the ARM SVE helper code defines locally some utility
functions for swapping 16-bit halfwords within 32-bit or 64-bit
values and for swapping 32-bit words within 64-bit values,
parallel to the byte-swapping bswap16/32/64 functions.

We want these also for the ARM MVE code, and they're potentially
generally useful for other targets, so move them to bitops.h.
(We don't put them in bswap.h with the bswap* functions because
they are implemented in terms of the rotate operations also
defined in bitops.h, and including bitops.h from bswap.h seems
better avoided.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210614151007.4545-17-peter.maydell@linaro.org
include/qemu/bitops.h
target/arm/sve_helper.c