| Index: src/IceInstX8632.cpp
|
| diff --git a/src/IceInstX8632.cpp b/src/IceInstX8632.cpp
|
| index 1f7508bc413a6f1d26850b97d51188548978bc81..13be72d6c37316af18d179a4d23abafe0bf815cb 100644
|
| --- a/src/IceInstX8632.cpp
|
| +++ b/src/IceInstX8632.cpp
|
| @@ -256,6 +256,9 @@ InstX8632Movzx::InstX8632Movzx(Cfg *Func, Variable *Dest, Operand *Source)
|
| addSource(Source);
|
| }
|
|
|
| +InstX8632Nop::InstX8632Nop(Cfg *Func, SizeT Length)
|
| + : InstX8632(Func, InstX8632::Nop, 0, NULL), Length(Length) {}
|
| +
|
| InstX8632Fld::InstX8632Fld(Cfg *Func, Operand *Src)
|
| : InstX8632(Func, InstX8632::Fld, 1, NULL) {
|
| addSource(Src);
|
| @@ -1123,6 +1126,20 @@ void InstX8632Movzx::dump(const Cfg *Func) const {
|
| dumpSources(Func);
|
| }
|
|
|
| +void InstX8632Nop::emit(const Cfg *Func) const {
|
| + Ostream &Str = Func->getContext()->getStrEmit();
|
| + assert(Length);
|
| + // TODO: When an assembler is used, use the recommended opcodes in the
|
| + // Intel manual to emit nop instructions based on the length.
|
| + Str << "\tnop\t# length = " << Length << (Length > 1 ? " bytes" : " byte")
|
| + << "\n";
|
| +}
|
| +
|
| +void InstX8632Nop::dump(const Cfg *Func) const {
|
| + Ostream &Str = Func->getContext()->getStrDump();
|
| + Str << "nop (length = " << Length << (Length > 1 ? " bytes)" : " byte)");
|
| +}
|
| +
|
| void InstX8632Fld::emit(const Cfg *Func) const {
|
| Ostream &Str = Func->getContext()->getStrEmit();
|
| assert(getSrcSize() == 1);
|
|
|