OLD | NEW |
1 //===- subzero/src/IceInstX8632.h - x86-32 machine instructions -*- C++ -*-===// | 1 //===- subzero/src/IceInstX8632.h - x86-32 machine instructions -*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares the InstX8632 and OperandX8632 classes and | 10 // This file declares the InstX8632 and OperandX8632 classes and |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 Test, | 258 Test, |
259 Ucomiss, | 259 Ucomiss, |
260 UD2, | 260 UD2, |
261 Xadd, | 261 Xadd, |
262 Xchg, | 262 Xchg, |
263 Xor | 263 Xor |
264 }; | 264 }; |
265 | 265 |
266 static const char *getWidthString(Type Ty); | 266 static const char *getWidthString(Type Ty); |
267 static const char *getFldString(Type Ty); | 267 static const char *getFldString(Type Ty); |
| 268 static CondX86::BrCond getOppositeCondition(CondX86::BrCond Cond); |
268 void dump(const Cfg *Func) const override; | 269 void dump(const Cfg *Func) const override; |
269 | 270 |
270 protected: | 271 protected: |
271 InstX8632(Cfg *Func, InstKindX8632 Kind, SizeT Maxsrcs, Variable *Dest) | 272 InstX8632(Cfg *Func, InstKindX8632 Kind, SizeT Maxsrcs, Variable *Dest) |
272 : InstTarget(Func, static_cast<InstKind>(Kind), Maxsrcs, Dest) {} | 273 : InstTarget(Func, static_cast<InstKind>(Kind), Maxsrcs, Dest) {} |
273 ~InstX8632() override {} | 274 ~InstX8632() override {} |
274 static bool isClassof(const Inst *Inst, InstKindX8632 MyKind) { | 275 static bool isClassof(const Inst *Inst, InstKindX8632 MyKind) { |
275 return Inst->getKind() == static_cast<InstKind>(MyKind); | 276 return Inst->getKind() == static_cast<InstKind>(MyKind); |
276 } | 277 } |
277 // Most instructions that operate on vector arguments require vector | 278 // Most instructions that operate on vector arguments require vector |
(...skipping 1424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1702 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; | 1703 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; |
1703 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; | 1704 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; |
1704 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; | 1705 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; |
1705 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; | 1706 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; |
1706 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; | 1707 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; |
1707 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; | 1708 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; |
1708 | 1709 |
1709 } // end of namespace Ice | 1710 } // end of namespace Ice |
1710 | 1711 |
1711 #endif // SUBZERO_SRC_ICEINSTX8632_H | 1712 #endif // SUBZERO_SRC_ICEINSTX8632_H |
OLD | NEW |