tcg: initial mips support

Based on a patch from Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>

A few words about design choices:
* Two registers, at and t0, are reserved for TCG internal use. They are
  useful for bswap and 64-bit ops.
* Most ops supports a constant argument with value 0, which is actually
  mapped to the zero register.
* While the at register is available for constant loading, ops only
  support a limited range of constants. TCG does a better job doing the
  register allocation and constant loading by itself. There are plenty of
  registers available anyway.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
Aurelien Jarno 2009-10-17 14:17:47 +02:00
parent e7139c440c
commit afa05235a5
3 changed files with 1452 additions and 1 deletions

7
configure vendored
View file

@ -134,13 +134,15 @@ elif check_define _ARCH_PPC ; then
else
cpu="ppc"
fi
elif check_define __mips__ ; then
cpu="mips"
else
cpu=`uname -m`
fi
target_list=""
case "$cpu" in
alpha|cris|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|sparc64)
alpha|cris|ia64|m68k|microblaze|ppc|ppc64|sparc64)
cpu="$cpu"
;;
i386|i486|i586|i686|i86pc|BePC)
@ -158,6 +160,9 @@ case "$cpu" in
parisc|parisc64)
cpu="hppa"
;;
mips*)
cpu="mips"
;;
s390*)
cpu="s390"
;;