target/arm: Improve REV32
authorRichard Henderson <richard.henderson@linaro.org>
Sun, 13 Jun 2021 23:17:03 +0000 (16:17 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 29 Jun 2021 17:04:57 +0000 (10:04 -0700)
commit2b0a39e51e64ae501192b18233bddcc81c098312
tree12f577bb0f25438bd704eeb97945f6abd5cab60b
parentb53357acb4d2c96adaf4dbf1f21999b0e1cf5bda
target/arm: Improve REV32

For the sf version, we are performing two 32-bit bswaps
in either half of the register.  This is equivalent to
performing one 64-bit bswap followed by a rotate.

For the non-sf version, we can remove TCG_BSWAP_IZ
and the preceding zero-extension.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/arm/translate-a64.c