diff options
Diffstat (limited to 'dyngen-exec.h')
-rw-r--r-- | dyngen-exec.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h index 69c3cd99cf..8ceb2301df 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -129,10 +129,15 @@ extern int printf(const char *, ...); #define AREG3 "r6" #endif #ifdef __mips__ -#define AREG0 "s3" +#define AREG0 "fp" #define AREG1 "s0" #define AREG2 "s1" #define AREG3 "s2" +#define AREG4 "s3" +#define AREG5 "s4" +#define AREG6 "s5" +#define AREG7 "s6" +#define AREG8 "s7" #endif #ifdef __sparc__ #ifdef HOST_SOLARIS @@ -280,5 +285,9 @@ extern int __op_jmp0, __op_jmp1, __op_jmp2, __op_jmp3; #ifdef __mc68000 #define EXIT_TB() asm volatile ("rts") #endif +#ifdef __mips__ +#define EXIT_TB() asm volatile ("jr $ra") +#define GOTO_LABEL_PARAM(n) asm volatile (".set noat; la $1, " ASM_NAME(__op_gen_label) #n "; jr $1; .set at") +#endif #endif /* !defined(__DYNGEN_EXEC_H__) */ |