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