Chromium Code Reviews| 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 79 void emitSegmentOverride(X8632::AssemblerX8632 *Asm) const; | 79 void emitSegmentOverride(X8632::AssemblerX8632 *Asm) const; |
| 80 X8632::Address toAsmAddress(Assembler *Asm) const; | 80 X8632::Address toAsmAddress(Assembler *Asm) const; |
| 81 void emit(const Cfg *Func) const override; | 81 void emit(const Cfg *Func) const override; |
| 82 using OperandX8632::dump; | 82 using OperandX8632::dump; |
| 83 void dump(const Cfg *Func, Ostream &Str) const override; | 83 void dump(const Cfg *Func, Ostream &Str) const override; |
| 84 | 84 |
| 85 static bool classof(const Operand *Operand) { | 85 static bool classof(const Operand *Operand) { |
| 86 return Operand->getKind() == static_cast<OperandKind>(kMem); | 86 return Operand->getKind() == static_cast<OperandKind>(kMem); |
| 87 } | 87 } |
| 88 | 88 |
| 89 // A flag to show if this memory operand is a randomized one. | |
| 90 // Randomized memory operands are generated in | |
| 91 // TargetX8632::randomizeOrPoolImmediate() | |
| 92 bool Randomized; | |
|
Jim Stichnoth
2015/06/19 16:57:22
Make this private, with getter/setter methods.
qining
2015/06/19 20:22:26
Done.
| |
| 93 | |
| 89 private: | 94 private: |
| 90 OperandX8632Mem(Cfg *Func, Type Ty, Variable *Base, Constant *Offset, | 95 OperandX8632Mem(Cfg *Func, Type Ty, Variable *Base, Constant *Offset, |
| 91 Variable *Index, uint16_t Shift, SegmentRegisters SegmentReg); | 96 Variable *Index, uint16_t Shift, SegmentRegisters SegmentReg); |
| 92 ~OperandX8632Mem() override {} | 97 ~OperandX8632Mem() override {} |
| 93 Variable *Base; | 98 Variable *Base; |
| 94 Constant *Offset; | 99 Constant *Offset; |
| 95 Variable *Index; | 100 Variable *Index; |
| 96 uint16_t Shift; | 101 uint16_t Shift; |
| 97 SegmentRegisters SegmentReg : 16; | 102 SegmentRegisters SegmentReg : 16; |
| 98 }; | 103 }; |
| (...skipping 1702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1801 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; | 1806 template <> void InstX8632Pinsr::emitIAS(const Cfg *Func) const; |
| 1802 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; | 1807 template <> void InstX8632Movsx::emitIAS(const Cfg *Func) const; |
| 1803 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; | 1808 template <> void InstX8632Movzx::emitIAS(const Cfg *Func) const; |
| 1804 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; | 1809 template <> void InstX8632Pmull::emitIAS(const Cfg *Func) const; |
| 1805 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; | 1810 template <> void InstX8632Pshufd::emitIAS(const Cfg *Func) const; |
| 1806 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; | 1811 template <> void InstX8632Shufps::emitIAS(const Cfg *Func) const; |
| 1807 | 1812 |
| 1808 } // end of namespace Ice | 1813 } // end of namespace Ice |
| 1809 | 1814 |
| 1810 #endif // SUBZERO_SRC_ICEINSTX8632_H | 1815 #endif // SUBZERO_SRC_ICEINSTX8632_H |
| OLD | NEW |