Lines Matching refs:CurByte

97   void EmitByte(uint8_t C, unsigned &CurByte, raw_ostream &OS) const {  in EmitByte()  argument
99 ++CurByte; in EmitByte()
102 void EmitConstant(uint64_t Val, unsigned Size, unsigned &CurByte, in EmitConstant() argument
106 EmitByte(Val & 255, CurByte, OS); in EmitConstant()
113 unsigned &CurByte, raw_ostream &OS,
123 unsigned &CurByte, raw_ostream &OS) const { in EmitRegModRMByte() argument
124 EmitByte(ModRMByte(3, RegOpcodeFld, GetX86RegNum(ModRMReg)), CurByte, OS); in EmitRegModRMByte()
128 unsigned &CurByte, raw_ostream &OS) const { in EmitSIBByte() argument
130 EmitByte(ModRMByte(SS, Index, Base), CurByte, OS); in EmitSIBByte()
134 uint64_t TSFlags, bool Rex, unsigned &CurByte,
142 void EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, int MemOperand,
146 void EmitSegmentOverridePrefix(unsigned &CurByte, unsigned SegOperand,
149 bool emitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, int MemOperand,
301 MCFixupKind FixupKind, unsigned &CurByte, raw_ostream &OS, in EmitImmediate() argument
310 EmitConstant(DispOp.getImm()+ImmOffset, Size, CurByte, OS); in EmitImmediate()
334 ImmOffset = CurByte; in EmitImmediate()
373 Fixups.push_back(MCFixup::create(CurByte, Expr, FixupKind, Loc)); in EmitImmediate()
374 EmitConstant(0, Size, CurByte, OS); in EmitImmediate()
380 unsigned &CurByte, raw_ostream &OS, in emitMemModRMByte() argument
395 EmitByte(ModRMByte(0, RegOpcodeField, 5), CurByte, OS); in emitMemModRMByte()
437 CurByte, OS, Fixups, -ImmSize); in emitMemModRMByte()
483 EmitByte(ModRMByte(0, RegOpcodeField, RMfield), CurByte, OS); in emitMemModRMByte()
487 EmitByte(ModRMByte(1, RegOpcodeField, RMfield), CurByte, OS); in emitMemModRMByte()
488 EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups); in emitMemModRMByte()
492 EmitByte(ModRMByte(2, RegOpcodeField, RMfield), CurByte, OS); in emitMemModRMByte()
495 EmitByte(ModRMByte(0, RegOpcodeField, 6), CurByte, OS); in emitMemModRMByte()
499 EmitImmediate(Disp, MI.getLoc(), 2, FK_Data_2, CurByte, OS, Fixups); in emitMemModRMByte()
519 EmitByte(ModRMByte(0, RegOpcodeField, 5), CurByte, OS); in emitMemModRMByte()
520 EmitImmediate(Disp, MI.getLoc(), 4, FK_Data_4, CurByte, OS, Fixups); in emitMemModRMByte()
529 EmitByte(ModRMByte(0, RegOpcodeField, BaseRegNo), CurByte, OS); in emitMemModRMByte()
536 EmitByte(ModRMByte(1, RegOpcodeField, BaseRegNo), CurByte, OS); in emitMemModRMByte()
537 EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups); in emitMemModRMByte()
544 EmitByte(ModRMByte(1, RegOpcodeField, BaseRegNo), CurByte, OS); in emitMemModRMByte()
545 EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups, in emitMemModRMByte()
552 EmitByte(ModRMByte(2, RegOpcodeField, BaseRegNo), CurByte, OS); in emitMemModRMByte()
556 EmitImmediate(Disp, MI.getLoc(), 4, MCFixupKind(FixupKind), CurByte, OS, in emitMemModRMByte()
572 EmitByte(ModRMByte(0, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
576 EmitByte(ModRMByte(2, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
583 EmitByte(ModRMByte(0, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
586 EmitByte(ModRMByte(1, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
590 EmitByte(ModRMByte(1, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
595 EmitByte(ModRMByte(2, RegOpcodeField, 4), CurByte, OS); in emitMemModRMByte()
610 EmitSIBByte(SS, IndexRegNo, 5, CurByte, OS); in emitMemModRMByte()
617 EmitSIBByte(SS, IndexRegNo, GetX86RegNum(Base), CurByte, OS); in emitMemModRMByte()
622 EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups, ImmOffset); in emitMemModRMByte()
625 CurByte, OS, Fixups); in emitMemModRMByte()
630 void X86MCCodeEmitter::EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, in EmitVEXOpcodePrefix() argument
983 EmitByte(0xC5, CurByte, OS); in EmitVEXOpcodePrefix()
984 EmitByte(LastByte | (VEX_R << 7), CurByte, OS); in EmitVEXOpcodePrefix()
989 EmitByte(Encoding == X86II::XOP ? 0x8F : 0xC4, CurByte, OS); in EmitVEXOpcodePrefix()
990 EmitByte(VEX_R << 7 | VEX_X << 6 | VEX_B << 5 | VEX_5M, CurByte, OS); in EmitVEXOpcodePrefix()
991 EmitByte(LastByte | (VEX_W << 7), CurByte, OS); in EmitVEXOpcodePrefix()
1002 EmitByte(0x62, CurByte, OS); in EmitVEXOpcodePrefix()
1007 VEX_5M, CurByte, OS); in EmitVEXOpcodePrefix()
1011 VEX_PP, CurByte, OS); in EmitVEXOpcodePrefix()
1017 EVEX_aaa, CurByte, OS); in EmitVEXOpcodePrefix()
1024 EVEX_aaa, CurByte, OS); in EmitVEXOpcodePrefix()
1106 void X86MCCodeEmitter::EmitSegmentOverridePrefix(unsigned &CurByte, in EmitSegmentOverridePrefix() argument
1114 case X86::CS: EmitByte(0x2E, CurByte, OS); break; in EmitSegmentOverridePrefix()
1115 case X86::SS: EmitByte(0x36, CurByte, OS); break; in EmitSegmentOverridePrefix()
1116 case X86::DS: EmitByte(0x3E, CurByte, OS); break; in EmitSegmentOverridePrefix()
1117 case X86::ES: EmitByte(0x26, CurByte, OS); break; in EmitSegmentOverridePrefix()
1118 case X86::FS: EmitByte(0x64, CurByte, OS); break; in EmitSegmentOverridePrefix()
1119 case X86::GS: EmitByte(0x65, CurByte, OS); break; in EmitSegmentOverridePrefix()
1129 bool X86MCCodeEmitter::emitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, in emitOpcodePrefix() argument
1138 EmitByte(0x66, CurByte, OS); in emitOpcodePrefix()
1142 EmitByte(0xF0, CurByte, OS); in emitOpcodePrefix()
1146 EmitByte(0x3E, CurByte, OS); in emitOpcodePrefix()
1150 EmitByte(0x66, CurByte, OS); in emitOpcodePrefix()
1153 EmitByte(0xF3, CurByte, OS); in emitOpcodePrefix()
1156 EmitByte(0xF2, CurByte, OS); in emitOpcodePrefix()
1164 EmitByte(0x40 | REX, CurByte, OS); in emitOpcodePrefix()
1177 EmitByte(0x0F, CurByte, OS); in emitOpcodePrefix()
1183 EmitByte(0x38, CurByte, OS); in emitOpcodePrefix()
1186 EmitByte(0x3A, CurByte, OS); in emitOpcodePrefix()
1209 unsigned CurByte = 0; in encodeInstruction() local
1231 EmitSegmentOverridePrefix(CurByte, MemoryOperand+X86::AddrSegmentReg, in encodeInstruction()
1236 EmitByte(0xF3, CurByte, OS); in encodeInstruction()
1238 EmitByte(0xF2, CurByte, OS); in encodeInstruction()
1262 EmitByte(0x67, CurByte, OS); in encodeInstruction()
1266 Rex = emitOpcodePrefix(TSFlags, CurByte, MemoryOperand, MI, Desc, STI, OS); in encodeInstruction()
1268 EmitVEXOpcodePrefix(TSFlags, CurByte, MemoryOperand, MI, Desc, OS); in encodeInstruction()
1289 EmitSegmentOverridePrefix(CurByte, 2, MI, OS); in encodeInstruction()
1293 EmitByte(0x67, CurByte, OS); in encodeInstruction()
1295 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1302 EmitSegmentOverridePrefix(CurByte, 1, MI, OS); in encodeInstruction()
1306 EmitByte(0x67, CurByte, OS); in encodeInstruction()
1308 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1316 EmitByte(0x67, CurByte, OS); in encodeInstruction()
1318 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1322 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1329 MCFixupKind(X86::reloc_branch_4byte_pcrel), CurByte, OS, in encodeInstruction()
1335 EmitSegmentOverridePrefix(CurByte, 1, MI, OS); in encodeInstruction()
1336 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1339 CurByte, OS, Fixups); in encodeInstruction()
1343 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1346 CurByte, OS, Fixups); in encodeInstruction()
1347 EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(), 1, FK_Data_1, CurByte, in encodeInstruction()
1351 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1354 CurByte, OS, Fixups); in encodeInstruction()
1355 EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(), 2, FK_Data_2, CurByte, in encodeInstruction()
1360 EmitByte(BaseOpcode + GetX86RegNum(MI.getOperand(CurOp++)), CurByte, OS); in encodeInstruction()
1364 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1374 GetX86RegNum(MI.getOperand(SrcRegNum)), CurByte, OS); in encodeInstruction()
1379 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1389 Rex, CurByte, OS, Fixups, STI); in encodeInstruction()
1394 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1404 GetX86RegNum(MI.getOperand(CurOp)), CurByte, OS); in encodeInstruction()
1414 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1418 GetX86RegNum(MI.getOperand(CurOp)), CurByte, OS); in encodeInstruction()
1424 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1435 GetX86RegNum(MI.getOperand(CurOp)), CurByte, OS); in encodeInstruction()
1448 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1451 TSFlags, Rex, CurByte, OS, Fixups, STI); in encodeInstruction()
1460 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1463 TSFlags, Rex, CurByte, OS, Fixups, STI); in encodeInstruction()
1477 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1480 TSFlags, Rex, CurByte, OS, Fixups, STI); in encodeInstruction()
1494 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1497 CurByte, OS); in encodeInstruction()
1509 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1512 Rex, CurByte, OS, Fixups, STI); in encodeInstruction()
1538 EmitByte(BaseOpcode, CurByte, OS); in encodeInstruction()
1539 EmitByte(0xC0 + Form - X86II::MRM_C0, CurByte, OS); in encodeInstruction()
1554 CurByte, OS, Fixups); in encodeInstruction()
1562 CurByte, OS, Fixups); in encodeInstruction()
1567 EmitByte(X86II::getBaseOpcodeFor(TSFlags), CurByte, OS); in encodeInstruction()