]> git.proxmox.com Git - mirror_qemu.git/commit
tcg/mips: only enable ext8s/ext16s ops on MIPS32R2
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 15 Aug 2013 15:57:59 +0000 (17:57 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 2 Sep 2013 23:34:46 +0000 (01:34 +0200)
commit3207bf2549a1a84c577d2f6a481192566a059163
treef371c713d96520070295d48d8f437905c26f8e35
parentdf81ff51d50b22c52e609e13d5292d09e4634659
tcg/mips: only enable ext8s/ext16s ops on MIPS32R2

On MIPS ext8s and ext16s ops are implemented with a dedicated
instruction only on MIPS32R2, otherwise the same kind of implementation
than at TCG level (shift left followed by shift right) is used.

Change that by only implementing the ext8s and ext16s ops on MIPS32R2 so
that optimizations can be done by the optimizer. Use an inline version to
avoid having to test again for MIPS32R2 instructions. Keep the shift
implementation for the ld/st routines.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/mips/tcg-target.c
tcg/mips/tcg-target.h