| Index: src/IceInstX8632.h
|
| diff --git a/src/IceInstX8632.h b/src/IceInstX8632.h
|
| index 514c37463394b548916ffd669b9cf88df3e39ac3..facd4f47420786cda3a7b8dc31ac23484621d61b 100644
|
| --- a/src/IceInstX8632.h
|
| +++ b/src/IceInstX8632.h
|
| @@ -895,6 +895,7 @@ public:
|
| InstX8632Cmov(Func, Dest, Source, Cond);
|
| }
|
| virtual void emit(const Cfg *Func) const;
|
| + virtual void emitIAS(const Cfg *Func) const;
|
| virtual void dump(const Cfg *Func) const;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Cmov); }
|
|
|
| @@ -945,6 +946,7 @@ public:
|
| InstX8632Cmpxchg(Func, DestOrAddr, Eax, Desired, Locked);
|
| }
|
| virtual void emit(const Cfg *Func) const;
|
| + virtual void emitIAS(const Cfg *Func) const;
|
| virtual void dump(const Cfg *Func) const;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Cmpxchg); }
|
|
|
| @@ -964,18 +966,19 @@ private:
|
| // <m64> must be a memory operand.
|
| class InstX8632Cmpxchg8b : public InstX8632Lockable {
|
| public:
|
| - static InstX8632Cmpxchg8b *create(Cfg *Func, OperandX8632 *Dest,
|
| + static InstX8632Cmpxchg8b *create(Cfg *Func, OperandX8632Mem *Dest,
|
| Variable *Edx, Variable *Eax, Variable *Ecx,
|
| Variable *Ebx, bool Locked) {
|
| return new (Func->allocate<InstX8632Cmpxchg8b>())
|
| InstX8632Cmpxchg8b(Func, Dest, Edx, Eax, Ecx, Ebx, Locked);
|
| }
|
| virtual void emit(const Cfg *Func) const;
|
| + virtual void emitIAS(const Cfg *Func) const;
|
| virtual void dump(const Cfg *Func) const;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Cmpxchg8b); }
|
|
|
| private:
|
| - InstX8632Cmpxchg8b(Cfg *Func, OperandX8632 *Dest, Variable *Edx,
|
| + InstX8632Cmpxchg8b(Cfg *Func, OperandX8632Mem *Dest, Variable *Edx,
|
| Variable *Eax, Variable *Ecx, Variable *Ebx, bool Locked);
|
| InstX8632Cmpxchg8b(const InstX8632Cmpxchg8b &) LLVM_DELETED_FUNCTION;
|
| InstX8632Cmpxchg8b &
|
| @@ -1319,6 +1322,7 @@ public:
|
| InstX8632Xadd(Func, Dest, Source, Locked);
|
| }
|
| virtual void emit(const Cfg *Func) const;
|
| + virtual void emitIAS(const Cfg *Func) const;
|
| virtual void dump(const Cfg *Func) const;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Xadd); }
|
|
|
| @@ -1342,6 +1346,7 @@ public:
|
| InstX8632Xchg(Func, Dest, Source);
|
| }
|
| virtual void emit(const Cfg *Func) const;
|
| + virtual void emitIAS(const Cfg *Func) const;
|
| virtual void dump(const Cfg *Func) const;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Xchg); }
|
|
|
| @@ -1378,6 +1383,8 @@ template <> void InstX8632Psub::emit(const Cfg *Func) const;
|
| template <> void InstX8632Sqrtss::emit(const Cfg *Func) const;
|
| template <> void InstX8632Subss::emit(const Cfg *Func) const;
|
|
|
| +template <> void InstX8632Cbwdq::emitIAS(const Cfg *Func) const;
|
| +
|
| } // end of namespace Ice
|
|
|
| #endif // SUBZERO_SRC_ICEINSTX8632_H
|
|
|