On 09/21/2012 09:43 AM, Aurelien Jarno wrote: > This patch series first does a bit of cleanup and bug fixing on the > MIPS TCG backend. Then some optimizations are added, mostly by > implementing new TCG operations. The last patch depends on the movcond > series by Richard Henderson. > > This has been tested on Loongson3A and Octeon CPUs by booting arm, i386, > x86_64 and ppc guests. > > Aurelien Jarno (10): > tcg-mips: fix wrong usage of 'Z' constraint > tcg/mips: kill warnings in user mode > tcg/mips: use TCGArg or TCGReg instead of int > tcg/mips: don't use global pointer > tcg/mips: use stack for TCG temps > tcg/mips: optimize brcond arg, 0 > tcg/mips: optimize bswap{16,16s,32} on MIPS32R2 > tcg/mips: implement rotl/rotr ops on MIPS32R2 > tcg/mips: implement deposit op on MIPS32R2 > tcg/mips: implement movcond op on MIPS32R2 > > tcg/mips/tcg-target.c | 336 > +++++++++++++++++++++++++++++++++++-------------- > tcg/mips/tcg-target.h | 25 +++- > 2 files changed, 266 insertions(+), 95 deletions(-) >
While I didn't double-check the actual instruction encodings, I looked through the patches for typos and logic errors. I didn't see anything except for patch 4 re the handling of the global pointer. That patch is fine as written, though I believe it could be improved. Reviewed-by: Richard Henderson <r...@twiddle.net> r~