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 |