gas/
2005-05-09 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (tc_x86_regname_to_dw2regnum): Correct 64-bit mode names to match ABI. Add more registers for 32-bit and 64-bit modes. Make name array static and const. Adjust lookup to account for NULL entries (standing for unused register numbers).
This commit is contained in:
parent
f41bbced45
commit
089dfecdde
@ -1,3 +1,10 @@
|
||||
2005-05-09 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* config/tc-i386.c (tc_x86_regname_to_dw2regnum): Correct 64-bit mode
|
||||
names to match ABI. Add more registers for 32-bit and 64-bit modes.
|
||||
Make name array static and const. Adjust lookup to account for NULL
|
||||
entries (standing for unused register numbers).
|
||||
|
||||
2005-05-09 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* config/tc-i386.c (parse_insn): Consider all matching instructions
|
||||
|
@ -6789,21 +6789,36 @@ tc_x86_regname_to_dw2regnum (const char *regname)
|
||||
{
|
||||
unsigned int regnum;
|
||||
unsigned int regnames_count;
|
||||
char *regnames_32[] =
|
||||
static const char *const regnames_32[] =
|
||||
{
|
||||
"eax", "ecx", "edx", "ebx",
|
||||
"esp", "ebp", "esi", "edi",
|
||||
"eip"
|
||||
"eip", "eflags", NULL,
|
||||
"st0", "st1", "st2", "st3",
|
||||
"st4", "st5", "st6", "st7",
|
||||
NULL, NULL,
|
||||
"xmm0", "xmm1", "xmm2", "xmm3",
|
||||
"xmm4", "xmm5", "xmm6", "xmm7",
|
||||
"mm0", "mm1", "mm2", "mm3",
|
||||
"mm4", "mm5", "mm6", "mm7"
|
||||
};
|
||||
char *regnames_64[] =
|
||||
static const char *const regnames_64[] =
|
||||
{
|
||||
"rax", "rbx", "rcx", "rdx",
|
||||
"rdi", "rsi", "rbp", "rsp",
|
||||
"rax", "rdx", "rcx", "rbx",
|
||||
"rsi", "rdi", "rbp", "rsp",
|
||||
"r8", "r9", "r10", "r11",
|
||||
"r12", "r13", "r14", "r15",
|
||||
"rip"
|
||||
"rip",
|
||||
"xmm0", "xmm1", "xmm2", "xmm3",
|
||||
"xmm4", "xmm5", "xmm6", "xmm7",
|
||||
"xmm8", "xmm9", "xmm10", "xmm11",
|
||||
"xmm12", "xmm13", "xmm14", "xmm15",
|
||||
"st0", "st1", "st2", "st3",
|
||||
"st4", "st5", "st6", "st7",
|
||||
"mm0", "mm1", "mm2", "mm3",
|
||||
"mm4", "mm5", "mm6", "mm7"
|
||||
};
|
||||
char **regnames;
|
||||
const char *const *regnames;
|
||||
|
||||
if (flag_code == CODE_64BIT)
|
||||
{
|
||||
@ -6817,7 +6832,8 @@ tc_x86_regname_to_dw2regnum (const char *regname)
|
||||
}
|
||||
|
||||
for (regnum = 0; regnum < regnames_count; regnum++)
|
||||
if (strcmp (regname, regnames[regnum]) == 0)
|
||||
if (regnames[regnum] != NULL
|
||||
&& strcmp (regname, regnames[regnum]) == 0)
|
||||
return regnum;
|
||||
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user