OLD | NEW |
1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// | 1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// |
2 // | 2 // |
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
4 // for details. All rights reserved. Use of this source code is governed by a | 4 // for details. All rights reserved. Use of this source code is governed by a |
5 // BSD-style license that can be found in the LICENSE file. | 5 // BSD-style license that can be found in the LICENSE file. |
6 // | 6 // |
7 // Modified by the Subzero authors. | 7 // Modified by the Subzero authors. |
8 // | 8 // |
9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
10 // | 10 // |
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 void align(intptr_t alignment, intptr_t offset); | 838 void align(intptr_t alignment, intptr_t offset); |
839 void bind(Label *label); | 839 void bind(Label *label); |
840 | 840 |
841 intptr_t CodeSize() const { return Buffer.size(); } | 841 intptr_t CodeSize() const { return Buffer.size(); } |
842 | 842 |
843 protected: | 843 protected: |
844 inline void emitUint8(uint8_t value); | 844 inline void emitUint8(uint8_t value); |
845 | 845 |
846 private: | 846 private: |
847 static constexpr Type RexTypeIrrelevant = IceType_i32; | 847 static constexpr Type RexTypeIrrelevant = IceType_i32; |
848 static constexpr Type IceType_ForceRexW = IceType_i64; | 848 static constexpr Type RexTypeForceRexW = IceType_i64; |
849 static constexpr typename Traits::GPRRegister RexRegIrrelevant = | 849 static constexpr typename Traits::GPRRegister RexRegIrrelevant = |
850 Traits::GPRRegister::Encoded_Reg_eax; | 850 Traits::GPRRegister::Encoded_Reg_eax; |
851 | 851 |
852 inline void emitInt16(int16_t value); | 852 inline void emitInt16(int16_t value); |
853 inline void emitInt32(int32_t value); | 853 inline void emitInt32(int32_t value); |
854 inline void emitRegisterOperand(int rm, int reg); | 854 inline void emitRegisterOperand(int rm, int reg); |
855 template <typename RegType, typename RmType> | 855 template <typename RegType, typename RmType> |
856 inline void emitXmmRegisterOperand(RegType reg, RmType rm); | 856 inline void emitXmmRegisterOperand(RegType reg, RmType rm); |
857 inline void emitFixup(AssemblerFixup *fixup); | 857 inline void emitFixup(AssemblerFixup *fixup); |
858 inline void emitOperandSizeOverride(); | 858 inline void emitOperandSizeOverride(); |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1038 emitUint8(0x66); | 1038 emitUint8(0x66); |
1039 } | 1039 } |
1040 | 1040 |
1041 } // end of namespace X86Internal | 1041 } // end of namespace X86Internal |
1042 | 1042 |
1043 } // end of namespace Ice | 1043 } // end of namespace Ice |
1044 | 1044 |
1045 #include "IceAssemblerX86BaseImpl.h" | 1045 #include "IceAssemblerX86BaseImpl.h" |
1046 | 1046 |
1047 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 1047 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
OLD | NEW |