113a114,119
> //////////////////////////////////////////////////////////////////////////////
> //
> // X86 specific
> //
> //////////////////////////////////////////////////////////////////////////////
>
125c131
< %(class_name)s(ExtMachInst machInst, EmulEnv env);
---
> %(class_name)s(ExtMachInst machInst, X86ISA::EmulEnv env);
132c138,139
< inline X86Macroop::%(class_name)s::%(class_name)s(ExtMachInst machInst, EmulEnv env)
---
> inline X86Macroop::%(class_name)s::%(class_name)s(
> ExtMachInst machInst, EmulEnv env)
135a143
> %(do_modrm)s;
143,147d150
< //////////////////////////////////////////////////////////////////////////////
< //
< // X86 specific
< //
<
159a163
> self.doModRM = ""
183c187,188
< "adjust_env" : self.adjust_env})
---
> "adjust_env" : self.adjust_env,
> "do_modrm" : self.doModRM})
187,207d191
< output header {{
< struct EmulEnv
< {
< X86ISA::RegIndex reg;
< X86ISA::RegIndex regm;
< uint8_t scale;
< X86ISA::RegIndex index;
< X86ISA::RegIndex base;
< int dataSize;
< int addressSize;
< int stackSize;
<
< EmulEnv(X86ISA::RegIndex _reg, X86ISA::RegIndex _regm,
< int _dataSize, int _addressSize, int _stackSize) :
< reg(_reg), regm(_regm),
< dataSize(_dataSize), addressSize(_addressSize),
< stackSize(_stackSize)
< {;}
< };
< }};
<
217a202,203
> self.doModRM = False
>
236a223
> doModRMString = "env.doModRM(machInst);\n"
242a230,231
> if env.doModRM:
> macroop.doModRM = doModRMString