| 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 867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 878 static constexpr Type RexTypeIrrelevant = IceType_i32; | 878 static constexpr Type RexTypeIrrelevant = IceType_i32; |
| 879 static constexpr Type RexTypeForceRexW = IceType_i64; | 879 static constexpr Type RexTypeForceRexW = IceType_i64; |
| 880 static constexpr typename Traits::GPRRegister RexRegIrrelevant = | 880 static constexpr typename Traits::GPRRegister RexRegIrrelevant = |
| 881 Traits::GPRRegister::Encoded_Reg_eax; | 881 Traits::GPRRegister::Encoded_Reg_eax; |
| 882 | 882 |
| 883 inline void emitInt16(int16_t value); | 883 inline void emitInt16(int16_t value); |
| 884 inline void emitInt32(int32_t value); | 884 inline void emitInt32(int32_t value); |
| 885 inline void emitRegisterOperand(int rm, int reg); | 885 inline void emitRegisterOperand(int rm, int reg); |
| 886 template <typename RegType, typename RmType> | 886 template <typename RegType, typename RmType> |
| 887 inline void emitXmmRegisterOperand(RegType reg, RmType rm); | 887 inline void emitXmmRegisterOperand(RegType reg, RmType rm); |
| 888 inline void emitFixup(AssemblerFixup *fixup); | |
| 889 inline void emitOperandSizeOverride(); | 888 inline void emitOperandSizeOverride(); |
| 890 | 889 |
| 891 void emitOperand(int rm, const typename Traits::Operand &operand); | 890 void emitOperand(int rm, const typename Traits::Operand &operand); |
| 892 void emitImmediate(Type ty, const Immediate &imm); | 891 void emitImmediate(Type ty, const Immediate &imm); |
| 893 void emitComplexI8(int rm, const typename Traits::Operand &operand, | 892 void emitComplexI8(int rm, const typename Traits::Operand &operand, |
| 894 const Immediate &immediate); | 893 const Immediate &immediate); |
| 895 void emitComplex(Type Ty, int rm, const typename Traits::Operand &operand, | 894 void emitComplex(Type Ty, int rm, const typename Traits::Operand &operand, |
| 896 const Immediate &immediate); | 895 const Immediate &immediate); |
| 897 void emitLabel(Label *label, intptr_t instruction_size); | 896 void emitLabel(Label *label, intptr_t instruction_size); |
| 898 void emitLabelLink(Label *label); | 897 void emitLabelLink(Label *label); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1056 } | 1055 } |
| 1057 | 1056 |
| 1058 template <class Machine> | 1057 template <class Machine> |
| 1059 template <typename RegType, typename RmType> | 1058 template <typename RegType, typename RmType> |
| 1060 inline void AssemblerX86Base<Machine>::emitXmmRegisterOperand(RegType reg, | 1059 inline void AssemblerX86Base<Machine>::emitXmmRegisterOperand(RegType reg, |
| 1061 RmType rm) { | 1060 RmType rm) { |
| 1062 emitRegisterOperand(gprEncoding(reg), gprEncoding(rm)); | 1061 emitRegisterOperand(gprEncoding(reg), gprEncoding(rm)); |
| 1063 } | 1062 } |
| 1064 | 1063 |
| 1065 template <class Machine> | 1064 template <class Machine> |
| 1066 inline void AssemblerX86Base<Machine>::emitFixup(AssemblerFixup *fixup) { | |
| 1067 Buffer.emitFixup(fixup); | |
| 1068 } | |
| 1069 | |
| 1070 template <class Machine> | |
| 1071 inline void AssemblerX86Base<Machine>::emitOperandSizeOverride() { | 1065 inline void AssemblerX86Base<Machine>::emitOperandSizeOverride() { |
| 1072 emitUint8(0x66); | 1066 emitUint8(0x66); |
| 1073 } | 1067 } |
| 1074 | 1068 |
| 1075 } // end of namespace X86Internal | 1069 } // end of namespace X86Internal |
| 1076 | 1070 |
| 1077 } // end of namespace Ice | 1071 } // end of namespace Ice |
| 1078 | 1072 |
| 1079 #include "IceAssemblerX86BaseImpl.h" | 1073 #include "IceAssemblerX86BaseImpl.h" |
| 1080 | 1074 |
| 1081 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 1075 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
| OLD | NEW |