| Index: src/IceInstX86Base.h
|
| diff --git a/src/IceInstX86Base.h b/src/IceInstX86Base.h
|
| index 761d412c518b4c23574796bb6318b353249b81c2..1c2e8e6faca33dad15a46eeb41013d04bdd049be 100644
|
| --- a/src/IceInstX86Base.h
|
| +++ b/src/IceInstX86Base.h
|
| @@ -107,6 +107,7 @@ template <typename TraitsType> struct InstImpl {
|
| Imul,
|
| ImulImm,
|
| Insertps,
|
| + Int3,
|
| Jmp,
|
| Label,
|
| Lea,
|
| @@ -2442,6 +2443,27 @@ template <typename TraitsType> struct InstImpl {
|
| explicit InstX86UD2(Cfg *Func);
|
| };
|
|
|
| + /// Int3 instruction.
|
| + class InstX86Int3 final : public InstX86Base {
|
| + InstX86Int3() = delete;
|
| + InstX86Int3(const InstX86Int3 &) = delete;
|
| + InstX86Int3 &operator=(const InstX86Int3 &) = delete;
|
| +
|
| + public:
|
| + static InstX86Int3 *create(Cfg *Func) {
|
| + return new (Func->allocate<InstX86Int3>()) InstX86Int3(Func);
|
| + }
|
| + void emit(const Cfg *Func) const override;
|
| + void emitIAS(const Cfg *Func) const override;
|
| + void dump(const Cfg *Func) const override;
|
| + static bool classof(const Inst *Instr) {
|
| + return InstX86Base::isClassof(Instr, InstX86Base::Int3);
|
| + }
|
| +
|
| + private:
|
| + explicit InstX86Int3(Cfg *Func);
|
| + };
|
| +
|
| /// Test instruction.
|
| class InstX86Test final : public InstX86Base {
|
| InstX86Test() = delete;
|
| @@ -2914,6 +2936,7 @@ template <typename TraitsType> struct Insts {
|
| using Icmp = typename InstImpl<TraitsType>::InstX86Icmp;
|
| using Ucomiss = typename InstImpl<TraitsType>::InstX86Ucomiss;
|
| using UD2 = typename InstImpl<TraitsType>::InstX86UD2;
|
| + using Int3 = typename InstImpl<TraitsType>::InstX86Int3;
|
| using Test = typename InstImpl<TraitsType>::InstX86Test;
|
| using Mfence = typename InstImpl<TraitsType>::InstX86Mfence;
|
| using Store = typename InstImpl<TraitsType>::InstX86Store;
|
|
|