diff options
| author | Jin Guojie | 2017-01-05 05:57:49 +0100 |
|---|---|---|
| committer | Richard Henderson | 2017-01-06 19:03:54 +0100 |
| commit | 7f54eaa3b78d71cb57e45a719980f9b5ff06d21c (patch) | |
| tree | ed8a7f68d11704f5aa62521d528b02333bf458d6 /include/exec | |
| parent | tcg-mips: Support 64-bit opcodes (diff) | |
| download | qemu-7f54eaa3b78d71cb57e45a719980f9b5ff06d21c.tar.gz qemu-7f54eaa3b78d71cb57e45a719980f9b5ff06d21c.tar.xz qemu-7f54eaa3b78d71cb57e45a719980f9b5ff06d21c.zip | |
tcg-mips: Add bswap32u and bswap64
Without the mips32r2 instructions to perform swapping, bswap is quite large,
dominating the size of each reverse-endian qemu_ld/qemu_st operation.
Create two subroutines in the prologue block. The subroutines require extra
reserved registers (TCG_TMP[2, 3]). Using these within qemu_ld means that
we need not place additional restrictions on the qemu_ld outputs.
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Tested-by: James Hogan <james.hogan@imgtec.com>
Tested-by: YunQiang Su <wzssyqa@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Jin Guojie <jinguojie@loongson.cn>
Message-Id: <1483592275-4496-5-git-send-email-jinguojie@loongson.cn>
Diffstat (limited to 'include/exec')
0 files changed, 0 insertions, 0 deletions
