On Mon, 21 Jun 2021 at 19:12, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> On 6/21/21 7:01 AM, Peter Maydell wrote:
> > Side note: it's rather confusing that tcg_out_rev32() doesn't
> > emit a REV32 insn (it emits REV with sf==0).
>
> Which is REV with SF=0 also has OPC=10, which is REV32.

No, REV32 has SF=1. The two operations are different:

 REV <Wd>, <Wn> -- swaps byte order of the bottom 32 bits
                   (zeroes the top half of Xd, as usual for Wn ops)
 REV32 <Xd>, <Xn> -- swaps byte order of bottom 32 bits and
                     also swaps byte order of top 32 bits
                     (ie it is a 64-bit to 64-bit operation
                      which does does two bswap32()s)

-- PMM

Reply via email to