Pekka Enberg noticed that 8 XMM registers were not covered in x86-64
definitions. This adds them, along with register name definitions for
all XMM registers.

Reported-by: Pekka Enberg <penb...@cs.helsinki.fi>
Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>
---
 arch/x86/include/arch/registers_64.h |   10 +++++++++-
 arch/x86/registers_64.c              |   27 ++++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/arch/registers_64.h 
b/arch/x86/include/arch/registers_64.h
index 300bd80..ce78a47 100644
--- a/arch/x86/include/arch/registers_64.h
+++ b/arch/x86/include/arch/registers_64.h
@@ -31,6 +31,14 @@ enum machine_reg {
        MACH_REG_XMM5,
        MACH_REG_XMM6,
        MACH_REG_XMM7,
+       MACH_REG_XMM8,
+       MACH_REG_XMM9,
+       MACH_REG_XMM10,
+       MACH_REG_XMM11,
+       MACH_REG_XMM12,
+       MACH_REG_XMM13,
+       MACH_REG_XMM14,
+       MACH_REG_XMM15,
 
        /* The above registers are available for register allocator.  */
        NR_REGISTERS,
@@ -56,7 +64,7 @@ enum machine_reg {
 
 #define GPR_VM_TYPE    J_LONG
 
-#define NR_CALLER_SAVE_REGS 17
+#define NR_CALLER_SAVE_REGS 25
 extern enum machine_reg caller_save_regs[NR_CALLER_SAVE_REGS];
 
 const char *reg_name(enum machine_reg reg);
diff --git a/arch/x86/registers_64.c b/arch/x86/registers_64.c
index 4d5bdad..dd17781 100644
--- a/arch/x86/registers_64.c
+++ b/arch/x86/registers_64.c
@@ -47,7 +47,15 @@ enum machine_reg caller_save_regs[NR_CALLER_SAVE_REGS] = {
        MACH_REG_XMM4,
        MACH_REG_XMM5,
        MACH_REG_XMM6,
-       MACH_REG_XMM7
+       MACH_REG_XMM7,
+       MACH_REG_XMM8,
+       MACH_REG_XMM9,
+       MACH_REG_XMM10,
+       MACH_REG_XMM11,
+       MACH_REG_XMM12,
+       MACH_REG_XMM13,
+       MACH_REG_XMM14,
+       MACH_REG_XMM15,
 };
 
 static const char *register_names[] = {
@@ -67,6 +75,23 @@ static const char *register_names[] = {
        [MACH_REG_R15] = "R15",
        [MACH_REG_RSP] = "RSP",
        [MACH_REG_RBP] = "RBP",
+
+       [MACH_REG_XMM0]         = "XMM0",
+       [MACH_REG_XMM1]         = "XMM1",
+       [MACH_REG_XMM2]         = "XMM2",
+       [MACH_REG_XMM3]         = "XMM3",
+       [MACH_REG_XMM4]         = "XMM4",
+       [MACH_REG_XMM5]         = "XMM5",
+       [MACH_REG_XMM6]         = "XMM6",
+       [MACH_REG_XMM7]         = "XMM7",
+       [MACH_REG_XMM8]         = "XMM8",
+       [MACH_REG_XMM9]         = "XMM9",
+       [MACH_REG_XMM10]        = "XMM10",
+       [MACH_REG_XMM11]        = "XMM11",
+       [MACH_REG_XMM12]        = "XMM12",
+       [MACH_REG_XMM13]        = "XMM13",
+       [MACH_REG_XMM14]        = "XMM14",
+       [MACH_REG_XMM15]        = "XMM15",
 };
 
 const char *reg_name(enum machine_reg reg)
-- 
1.6.0.6


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to