forked from OSchip/llvm-project
Add missing MRM_XX forms to the old JIT emitter for consistency.
llvm-svn: 198258
This commit is contained in:
parent
99f02458e5
commit
df912ba6ec
|
@ -1416,33 +1416,46 @@ void Emitter<CodeEmitter>::emitInstruction(MachineInstr &MI,
|
|||
break;
|
||||
}
|
||||
|
||||
case X86II::MRM_C1:
|
||||
case X86II::MRM_C1: case X86II::MRM_C2: case X86II::MRM_C3:
|
||||
case X86II::MRM_C4: case X86II::MRM_C8: case X86II::MRM_C9:
|
||||
case X86II::MRM_CA: case X86II::MRM_CB: case X86II::MRM_D0:
|
||||
case X86II::MRM_D1: case X86II::MRM_D4: case X86II::MRM_D5:
|
||||
case X86II::MRM_D6: case X86II::MRM_D8: case X86II::MRM_D9:
|
||||
case X86II::MRM_DA: case X86II::MRM_DB: case X86II::MRM_DC:
|
||||
case X86II::MRM_DD: case X86II::MRM_DE: case X86II::MRM_DF:
|
||||
case X86II::MRM_E8: case X86II::MRM_F0: case X86II::MRM_F8:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xC1);
|
||||
break;
|
||||
case X86II::MRM_C8:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xC8);
|
||||
break;
|
||||
case X86II::MRM_C9:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xC9);
|
||||
break;
|
||||
case X86II::MRM_CA:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xCA);
|
||||
break;
|
||||
case X86II::MRM_CB:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xCB);
|
||||
break;
|
||||
case X86II::MRM_E8:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xE8);
|
||||
break;
|
||||
case X86II::MRM_F0:
|
||||
MCE.emitByte(BaseOpcode);
|
||||
MCE.emitByte(0xF0);
|
||||
|
||||
unsigned char MRM;
|
||||
switch (TSFlags & X86II::FormMask) {
|
||||
default: llvm_unreachable("Invalid Form");
|
||||
case X86II::MRM_C1: MRM = 0xC1; break;
|
||||
case X86II::MRM_C2: MRM = 0xC2; break;
|
||||
case X86II::MRM_C3: MRM = 0xC3; break;
|
||||
case X86II::MRM_C4: MRM = 0xC4; break;
|
||||
case X86II::MRM_C8: MRM = 0xC8; break;
|
||||
case X86II::MRM_C9: MRM = 0xC9; break;
|
||||
case X86II::MRM_CA: MRM = 0xCA; break;
|
||||
case X86II::MRM_CB: MRM = 0xCB; break;
|
||||
case X86II::MRM_D0: MRM = 0xD0; break;
|
||||
case X86II::MRM_D1: MRM = 0xD1; break;
|
||||
case X86II::MRM_D4: MRM = 0xD4; break;
|
||||
case X86II::MRM_D5: MRM = 0xD5; break;
|
||||
case X86II::MRM_D6: MRM = 0xD6; break;
|
||||
case X86II::MRM_D8: MRM = 0xD8; break;
|
||||
case X86II::MRM_D9: MRM = 0xD9; break;
|
||||
case X86II::MRM_DA: MRM = 0xDA; break;
|
||||
case X86II::MRM_DB: MRM = 0xDB; break;
|
||||
case X86II::MRM_DC: MRM = 0xDC; break;
|
||||
case X86II::MRM_DD: MRM = 0xDD; break;
|
||||
case X86II::MRM_DE: MRM = 0xDE; break;
|
||||
case X86II::MRM_DF: MRM = 0xDF; break;
|
||||
case X86II::MRM_E8: MRM = 0xE8; break;
|
||||
case X86II::MRM_F0: MRM = 0xF0; break;
|
||||
case X86II::MRM_F8: MRM = 0xF8; break;
|
||||
case X86II::MRM_F9: MRM = 0xF9; break;
|
||||
}
|
||||
MCE.emitByte(MRM);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue