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 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 static constexpr GPRRegister RexRegIrrelevant = | 722 static constexpr GPRRegister RexRegIrrelevant = |
723 Traits::GPRRegister::Encoded_Reg_eax; | 723 Traits::GPRRegister::Encoded_Reg_eax; |
724 | 724 |
725 inline void emitInt16(int16_t value); | 725 inline void emitInt16(int16_t value); |
726 inline void emitInt32(int32_t value); | 726 inline void emitInt32(int32_t value); |
727 inline void emitRegisterOperand(int rm, int reg); | 727 inline void emitRegisterOperand(int rm, int reg); |
728 template <typename RegType, typename RmType> | 728 template <typename RegType, typename RmType> |
729 inline void emitXmmRegisterOperand(RegType reg, RmType rm); | 729 inline void emitXmmRegisterOperand(RegType reg, RmType rm); |
730 inline void emitOperandSizeOverride(); | 730 inline void emitOperandSizeOverride(); |
731 | 731 |
732 void emitOperand(int rm, const Operand &operand); | 732 void emitOperand(int rm, const Operand &operand, RelocOffsetT Addend = 0); |
733 void emitImmediate(Type ty, const Immediate &imm); | 733 void emitImmediate(Type ty, const Immediate &imm); |
734 void emitComplexI8(int rm, const Operand &operand, | 734 void emitComplexI8(int rm, const Operand &operand, |
735 const Immediate &immediate); | 735 const Immediate &immediate); |
736 void emitComplex(Type Ty, int rm, const Operand &operand, | 736 void emitComplex(Type Ty, int rm, const Operand &operand, |
737 const Immediate &immediate); | 737 const Immediate &immediate); |
738 void emitLabel(Label *label, intptr_t instruction_size); | 738 void emitLabel(Label *label, intptr_t instruction_size); |
739 void emitLabelLink(Label *label); | 739 void emitLabelLink(Label *label); |
740 void emitNearLabelLink(Label *label); | 740 void emitNearLabelLink(Label *label); |
741 | 741 |
742 void emitGenericShift(int rm, Type Ty, GPRRegister reg, const Immediate &imm); | 742 void emitGenericShift(int rm, Type Ty, GPRRegister reg, const Immediate &imm); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 emitUint8(0x66); | 915 emitUint8(0x66); |
916 } | 916 } |
917 | 917 |
918 } // end of namespace X86NAMESPACE | 918 } // end of namespace X86NAMESPACE |
919 | 919 |
920 } // end of namespace Ice | 920 } // end of namespace Ice |
921 | 921 |
922 #include "IceAssemblerX86BaseImpl.h" | 922 #include "IceAssemblerX86BaseImpl.h" |
923 | 923 |
924 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 924 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
OLD | NEW |