From a4972584a4cff91c74dbd50e06a24a67cca2c7ab Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 29 Aug 1999 23:44:27 +0000 Subject: [PATCH] Allow spaces in i386 FP reg names, eg. %st ( 1 ). --- include/opcode/ChangeLog | 6 ++++++ include/opcode/i386.h | 24 ++++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index d59e716cc..ef0da73bf 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,9 @@ +1999-08-29 Alan Modra + + * i386.h (i386_regtab): Move %st to top of table, and split off + other fp reg entries. + (i386_float_regtab): To here. + Sat Aug 28 00:25:25 1999 Jerry Quinn * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args diff --git a/include/opcode/i386.h b/include/opcode/i386.h index 3df27f212..7e3a56464 100644 --- a/include/opcode/i386.h +++ b/include/opcode/i386.h @@ -1061,6 +1061,8 @@ static const template i386_optab[] = { /* 386 register table */ static const reg_entry i386_regtab[] = { + /* make %st first as we test for it */ + {"st", FloatReg|FloatAcc, 0}, /* 8 bit regs */ {"al", Reg8|Acc, 0}, {"cl", Reg8|ShiftCount, 1}, @@ -1130,16 +1132,7 @@ static const reg_entry i386_regtab[] = { {"tr5", Test, 5}, {"tr6", Test, 6}, {"tr7", Test, 7}, - /* float registers */ - {"st(0)", FloatReg|FloatAcc, 0}, - {"st", FloatReg|FloatAcc, 0}, - {"st(1)", FloatReg, 1}, - {"st(2)", FloatReg, 2}, - {"st(3)", FloatReg, 3}, - {"st(4)", FloatReg, 4}, - {"st(5)", FloatReg, 5}, - {"st(6)", FloatReg, 6}, - {"st(7)", FloatReg, 7}, + /* mmx and simd registers */ {"mm0", RegMMX, 0}, {"mm1", RegMMX, 1}, {"mm2", RegMMX, 2}, @@ -1158,6 +1151,17 @@ static const reg_entry i386_regtab[] = { {"xmm7", RegXMM, 7} }; +static const reg_entry i386_float_regtab[] = { + {"st(0)", FloatReg|FloatAcc, 0}, + {"st(1)", FloatReg, 1}, + {"st(2)", FloatReg, 2}, + {"st(3)", FloatReg, 3}, + {"st(4)", FloatReg, 4}, + {"st(5)", FloatReg, 5}, + {"st(6)", FloatReg, 6}, + {"st(7)", FloatReg, 7} +}; + #define MAX_REG_NAME_SIZE 8 /* for parsing register names from input */ /* segment stuff */