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 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 void align(intptr_t alignment, intptr_t offset); | 885 void align(intptr_t alignment, intptr_t offset); |
886 void bind(Label *label); | 886 void bind(Label *label); |
887 | 887 |
888 intptr_t CodeSize() const { return Buffer.size(); } | 888 intptr_t CodeSize() const { return Buffer.size(); } |
889 | 889 |
890 protected: | 890 protected: |
891 inline void emitUint8(uint8_t value); | 891 inline void emitUint8(uint8_t value); |
892 | 892 |
893 private: | 893 private: |
894 static constexpr Type RexTypeIrrelevant = IceType_i32; | 894 static constexpr Type RexTypeIrrelevant = IceType_i32; |
895 static constexpr Type IceType_ForceRexW = IceType_i64; | 895 static constexpr Type RexTypeForceRexW = IceType_i64; |
896 static constexpr typename Traits::GPRRegister RexRegIrrelevant = | 896 static constexpr typename Traits::GPRRegister RexRegIrrelevant = |
897 Traits::GPRRegister::Encoded_Reg_eax; | 897 Traits::GPRRegister::Encoded_Reg_eax; |
898 | 898 |
899 inline void emitInt16(int16_t value); | 899 inline void emitInt16(int16_t value); |
900 inline void emitInt32(int32_t value); | 900 inline void emitInt32(int32_t value); |
901 inline void emitRegisterOperand(int rm, int reg); | 901 inline void emitRegisterOperand(int rm, int reg); |
902 template <typename RegType, typename RmType> | 902 template <typename RegType, typename RmType> |
903 inline void emitXmmRegisterOperand(RegType reg, RmType rm); | 903 inline void emitXmmRegisterOperand(RegType reg, RmType rm); |
904 inline void emitFixup(AssemblerFixup *fixup); | 904 inline void emitFixup(AssemblerFixup *fixup); |
905 inline void emitOperandSizeOverride(); | 905 inline void emitOperandSizeOverride(); |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1085 emitUint8(0x66); | 1085 emitUint8(0x66); |
1086 } | 1086 } |
1087 | 1087 |
1088 } // end of namespace X86Internal | 1088 } // end of namespace X86Internal |
1089 | 1089 |
1090 } // end of namespace Ice | 1090 } // end of namespace Ice |
1091 | 1091 |
1092 #include "IceAssemblerX86BaseImpl.h" | 1092 #include "IceAssemblerX86BaseImpl.h" |
1093 | 1093 |
1094 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 1094 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
OLD | NEW |