]> git.proxmox.com Git - mirror_qemu.git/commit
tcg-mips: Move bswap code to a subroutine
authorJin Guojie <jinguojie@loongson.cn>
Thu, 5 Jan 2017 04:57:46 +0000 (12:57 +0800)
committerRichard Henderson <rth@twiddle.net>
Fri, 6 Jan 2017 18:03:54 +0000 (10:03 -0800)
commitbb08afe9f0aee1a3f5c23508e2511b882ca31e1b
tree351a7eb593bfc57e2c88ef4bcf1865c4fedf2df4
parentffe22bf51065dd33022cf91f77a821d1f11c250d
tcg-mips: Move bswap code to a subroutine

Without the mips32r2 instructions to perform swapping, bswap is quite large,
dominating the size of each reverse-endian qemu_ld/qemu_st operation.

Create a subroutine in the prologue block.  The subroutine requires 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-2-git-send-email-jinguojie@loongson.cn>
tcg/mips/tcg-target.h
tcg/mips/tcg-target.inc.c