• Home
  • Raw
  • Download

Lines Matching refs:X86

46     return (STI.getFeatureBits() & X86::Mode64Bit) != 0;  in is64BitMode()
51 return (STI.getFeatureBits() & X86::Mode64Bit) == 0; in is32BitMode()
165 const MCOperand &BaseReg = MI.getOperand(Op+X86::AddrBaseReg); in Is32BitMemOperand()
166 const MCOperand &IndexReg = MI.getOperand(Op+X86::AddrIndexReg); in Is32BitMemOperand()
169 X86MCRegisterClasses[X86::GR32RegClassID].contains(BaseReg.getReg())) || in Is32BitMemOperand()
171 X86MCRegisterClasses[X86::GR32RegClassID].contains(IndexReg.getReg()))) in Is32BitMemOperand()
180 const MCOperand &BaseReg = MI.getOperand(Op+X86::AddrBaseReg); in Is64BitMemOperand()
181 const MCOperand &IndexReg = MI.getOperand(Op+X86::AddrIndexReg); in Is64BitMemOperand()
184 X86MCRegisterClasses[X86::GR64RegClassID].contains(BaseReg.getReg())) || in Is64BitMemOperand()
186 X86MCRegisterClasses[X86::GR64RegClassID].contains(IndexReg.getReg()))) in Is64BitMemOperand()
195 const MCOperand &BaseReg = MI.getOperand(Op+X86::AddrBaseReg); in Is16BitMemOperand()
196 const MCOperand &IndexReg = MI.getOperand(Op+X86::AddrIndexReg); in Is16BitMemOperand()
199 X86MCRegisterClasses[X86::GR16RegClassID].contains(BaseReg.getReg())) || in Is16BitMemOperand()
201 X86MCRegisterClasses[X86::GR16RegClassID].contains(IndexReg.getReg()))) in Is16BitMemOperand()
260 FixupKind == MCFixupKind(X86::reloc_signed_4byte))) { in EmitImmediate()
265 FixupKind = MCFixupKind(X86::reloc_global_offset_table); in EmitImmediate()
279 FixupKind == MCFixupKind(X86::reloc_riprel_4byte) || in EmitImmediate()
280 FixupKind == MCFixupKind(X86::reloc_riprel_4byte_movq_load)) in EmitImmediate()
301 const MCOperand &Disp = MI.getOperand(Op+X86::AddrDisp); in EmitMemModRMByte()
302 const MCOperand &Base = MI.getOperand(Op+X86::AddrBaseReg); in EmitMemModRMByte()
303 const MCOperand &Scale = MI.getOperand(Op+X86::AddrScaleAmt); in EmitMemModRMByte()
304 const MCOperand &IndexReg = MI.getOperand(Op+X86::AddrIndexReg); in EmitMemModRMByte()
308 if (BaseReg == X86::RIP) { // [disp32+RIP] in X86-64 mode in EmitMemModRMByte()
313 unsigned FixupKind = X86::reloc_riprel_4byte; in EmitMemModRMByte()
318 if (MI.getOpcode() == X86::MOV64rm) in EmitMemModRMByte()
319 FixupKind = X86::reloc_riprel_4byte_movq_load; in EmitMemModRMByte()
374 EmitImmediate(Disp, MI.getLoc(), 4, MCFixupKind(X86::reloc_signed_4byte), CurByte, OS, in EmitMemModRMByte()
380 assert(IndexReg.getReg() != X86::ESP && in EmitMemModRMByte()
381 IndexReg.getReg() != X86::RSP && "Cannot use ESP as index reg!"); in EmitMemModRMByte()
435 EmitImmediate(Disp, MI.getLoc(), 4, MCFixupKind(X86::reloc_signed_4byte), in EmitMemModRMByte()
567 if (SrcReg >= X86::YMM0 && SrcReg <= X86::YMM15) in EmitVEXOpcodePrefix()
581 if (X86II::isX86_64ExtendedReg(MI.getOperand(X86::AddrBaseReg).getReg())) in EmitVEXOpcodePrefix()
583 if (X86II::isX86_64ExtendedReg(MI.getOperand(X86::AddrIndexReg).getReg())) in EmitVEXOpcodePrefix()
586 CurOp = X86::AddrNumOperands; in EmitVEXOpcodePrefix()
612 MI.getOperand(MemOperand+X86::AddrBaseReg).getReg())) in EmitVEXOpcodePrefix()
615 MI.getOperand(MemOperand+X86::AddrIndexReg).getReg())) in EmitVEXOpcodePrefix()
619 VEX_4V = getVEXRegisterEncoding(MI, X86::AddrNumOperands+1); in EmitVEXOpcodePrefix()
632 MI.getOperand(MemOperand+X86::AddrBaseReg).getReg())) in EmitVEXOpcodePrefix()
635 MI.getOperand(MemOperand+X86::AddrIndexReg).getReg())) in EmitVEXOpcodePrefix()
771 unsigned e = (isTwoAddr ? X86::AddrNumOperands+1 : X86::AddrNumOperands); in DetermineREXPrefix()
812 switch (MI.getOperand(MemOperand+X86::AddrSegmentReg).getReg()) { in EmitSegmentOverridePrefix()
815 case X86::CS: EmitByte(0x2E, CurByte, OS); break; in EmitSegmentOverridePrefix()
816 case X86::SS: EmitByte(0x36, CurByte, OS); break; in EmitSegmentOverridePrefix()
817 case X86::DS: EmitByte(0x3E, CurByte, OS); break; in EmitSegmentOverridePrefix()
818 case X86::ES: EmitByte(0x26, CurByte, OS); break; in EmitSegmentOverridePrefix()
819 case X86::FS: EmitByte(0x64, CurByte, OS); break; in EmitSegmentOverridePrefix()
820 case X86::GS: EmitByte(0x65, CurByte, OS); break; in EmitSegmentOverridePrefix()
1037 SrcRegNum = CurOp + X86::AddrNumOperands; in EncodeInstruction()
1068 int AddrOperands = X86::AddrNumOperands; in EncodeInstruction()
1107 CurOp += X86::AddrNumOperands; in EncodeInstruction()
1178 if (MI.getOpcode() == X86::ADD64ri32 || in EncodeInstruction()
1179 MI.getOpcode() == X86::MOV64ri32 || in EncodeInstruction()
1180 MI.getOpcode() == X86::MOV64mi32 || in EncodeInstruction()
1181 MI.getOpcode() == X86::PUSH64i32) in EncodeInstruction()
1182 FixupKind = X86::reloc_signed_4byte; in EncodeInstruction()