>From 334cc1d441c7724a618e7480f8b06db54f19e3bf Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Tue, 24 Aug 2010 17:35:06 -0300 Subject: [PATCH 2/4] Define extra SSE2 xmmN registers. This moves JIT_FPTMP to %xmm15 and reduces JIT_FPR_NUM from 9 to 7, because the System V abi specifies up to 8 float register arguments. --- lightning/i386/asm.h | 8 ++++++++ lightning/i386/fp-64.h | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lightning/i386/asm.h b/lightning/i386/asm.h index 2dec4b9..29f3ab1 100644 --- a/lightning/i386/asm.h +++ b/lightning/i386/asm.h @@ -103,6 +103,14 @@ typedef _uc jit_insn; #define _XMM5 0x75 #define _XMM6 0x76 #define _XMM7 0x77 +#define _XMM8 0x78 +#define _XMM9 0x79 +#define _XMM10 0x7a +#define _XMM11 0x7b +#define _XMM12 0x7c +#define _XMM13 0x7d +#define _XMM14 0x7e +#define _XMM15 0x7f #define _ST0 0 #define _ST1 1 diff --git a/lightning/i386/fp-64.h b/lightning/i386/fp-64.h index bb4b65f..84820d7 100644 --- a/lightning/i386/fp-64.h +++ b/lightning/i386/fp-64.h @@ -35,10 +35,10 @@ #include -#define JIT_FPR_NUM 9 +#define JIT_FPR_NUM 7 #define JIT_FPRET _XMM0 -#define JIT_FPR(i) (_XMM7 + (i)) -#define JIT_FPTMP _XMM6 +#define JIT_FPR(i) (_XMM8 + (i)) +#define JIT_FPTMP _XMM15 /* Either use a temporary register that is finally AND/OR/XORed with RS = RD, or use RD as the temporary register and to the AND/OR/XOR with RS. */ -- 1.7.2.1