mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Add support for the rep movs[bwd] instructions, and emit them when code
generating the llvm.memcpy intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11351 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -470,6 +470,9 @@ void Emitter::emitInstruction(MachineInstr &MI) {
|
||||
unsigned Opcode = MI.getOpcode();
|
||||
const TargetInstrDescriptor &Desc = II->get(Opcode);
|
||||
|
||||
// Emit the repeat opcode prefix as needed.
|
||||
if ((Desc.TSFlags & X86II::Op0Mask) == X86II::REP) MCE.emitByte(0xF3);
|
||||
|
||||
// Emit instruction prefixes if necessary
|
||||
if (Desc.TSFlags & X86II::OpSize) MCE.emitByte(0x66);// Operand size...
|
||||
|
||||
@@ -477,6 +480,7 @@ void Emitter::emitInstruction(MachineInstr &MI) {
|
||||
case X86II::TB:
|
||||
MCE.emitByte(0x0F); // Two-byte opcode prefix
|
||||
break;
|
||||
case X86II::REP: break; // already handled.
|
||||
case X86II::D8: case X86II::D9: case X86II::DA: case X86II::DB:
|
||||
case X86II::DC: case X86II::DD: case X86II::DE: case X86II::DF:
|
||||
MCE.emitByte(0xD8+
|
||||
|
||||
Reference in New Issue
Block a user