MIPS: Switch to dual-number mode. Fix soft-float interpreter.

This commit is contained in:
Mike Pall
2016-01-29 07:03:36 +01:00
parent 2f6b2967c7
commit 60de2f3d51
7 changed files with 1442 additions and 1450 deletions

View File

@@ -295,6 +295,31 @@
#define LJ_ARCH_NAME "mips"
#define LJ_ARCH_ENDIAN LUAJIT_BE
#endif
#if !defined(LJ_ARCH_HASFPU)
#ifdef __mips_soft_float
#define LJ_ARCH_HASFPU 0
#else
#define LJ_ARCH_HASFPU 1
#endif
#endif
/* Temporarily disable features until the code has been merged. */
#if !LJ_ARCH_HASFPU
#define LJ_ARCH_NOJIT 1
#endif
#if !defined(LUAJIT_NO_UNWIND) && __GNU_COMPACT_EH__
#define LUAJIT_NO_UNWIND 1
#endif
#if !defined(LJ_ABI_SOFTFP)
#ifdef __mips_soft_float
#define LJ_ABI_SOFTFP 1
#else
#define LJ_ABI_SOFTFP 0
#endif
#endif
#define LJ_ARCH_BITS 32
#define LJ_TARGET_MIPS 1
#define LJ_TARGET_EHRETREG 4
@@ -302,14 +327,7 @@
#define LJ_TARGET_MASKSHIFT 1
#define LJ_TARGET_MASKROT 1
#define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */
#define LJ_ARCH_NUMMODE LJ_NUMMODE_SINGLE
#if !defined(LJ_ARCH_HASFPU) && defined(__mips_soft_float)
#define LJ_ARCH_HASFPU 0
#endif
#if !defined(LJ_ABI_SOFTFP) && defined(__mips_soft_float)
#define LJ_ABI_SOFTFP 1
#endif
#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL
#if _MIPS_ARCH_MIPS32R2
#define LJ_ARCH_VERSION 20