Index: src/IceInstX86BaseImpl.h |
diff --git a/src/IceInstX86BaseImpl.h b/src/IceInstX86BaseImpl.h |
index b9ebf516534332b0711088013ee51d7514949d94..bc5811ed1897ccdfc113d0504067086cbc3c8238 100644 |
--- a/src/IceInstX86BaseImpl.h |
+++ b/src/IceInstX86BaseImpl.h |
@@ -263,6 +263,10 @@ InstImpl<TraitsType>::InstX86UD2::InstX86UD2(Cfg *Func) |
: InstX86Base(Func, InstX86Base::UD2, 0, nullptr) {} |
template <typename TraitsType> |
+InstImpl<TraitsType>::InstX86Int3::InstX86Int3(Cfg *Func) |
+ : InstX86Base(Func, InstX86Base::Int3, 0, nullptr) {} |
+ |
+template <typename TraitsType> |
InstImpl<TraitsType>::InstX86Test::InstX86Test(Cfg *Func, Operand *Src1, |
Operand *Src2) |
: InstX86Base(Func, InstX86Base::Test, 2, nullptr) { |
@@ -1780,6 +1784,30 @@ void InstImpl<TraitsType>::InstX86UD2::dump(const Cfg *Func) const { |
} |
template <typename TraitsType> |
+void InstImpl<TraitsType>::InstX86Int3::emit(const Cfg *Func) const { |
+ if (!BuildDefs::dump()) |
+ return; |
+ Ostream &Str = Func->getContext()->getStrEmit(); |
+ assert(this->getSrcSize() == 0); |
+ Str << "\t" |
+ "int 3"; |
+} |
+ |
+template <typename TraitsType> |
+void InstImpl<TraitsType>::InstX86Int3::emitIAS(const Cfg *Func) const { |
+ Assembler *Asm = Func->getAssembler<Assembler>(); |
+ Asm->int3(); |
+} |
+ |
+template <typename TraitsType> |
+void InstImpl<TraitsType>::InstX86Int3::dump(const Cfg *Func) const { |
+ if (!BuildDefs::dump()) |
+ return; |
+ Ostream &Str = Func->getContext()->getStrDump(); |
+ Str << "int 3"; |
+} |
+ |
+template <typename TraitsType> |
void InstImpl<TraitsType>::InstX86Test::emit(const Cfg *Func) const { |
if (!BuildDefs::dump()) |
return; |