mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 16:56:50 +00:00
mips16 fixes.
1. Add MoveR3216 2. Correct spelling for Move32R16 Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163869 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e30ba2ebcf
commit
99258f6755
@ -62,7 +62,7 @@ void Mips16InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
|
||||
|
||||
if (Mips::CPURegsRegClass.contains(DestReg)) { // Copy to CPU Reg.
|
||||
if (Mips::CPURegsRegClass.contains(SrcReg))
|
||||
Opc = Mips::Mov32R16;
|
||||
Opc = Mips::Move32R16;
|
||||
}
|
||||
|
||||
assert(Opc && "Cannot copy registers");
|
||||
|
@ -19,6 +19,13 @@ class FRRR16_ins<bits<2> _f, string asmstr, InstrItinClass itin> :
|
||||
FRRR16<_f, (outs CPU16Regs:$rz), (ins CPU16Regs:$rx, CPU16Regs:$ry),
|
||||
!strconcat(asmstr, "\t$rz, $rx, $ry"), [], itin>;
|
||||
|
||||
//
|
||||
// I8_MOVR32 instruction format (used only by the MOVR32 instructio
|
||||
//
|
||||
class FI8_MOVR3216_ins<string asmstr, InstrItinClass itin>:
|
||||
FI8_MOVR3216<(outs CPU16Regs:$rz), (ins CPURegs:$r32),
|
||||
!strconcat(asmstr, "\t$rz, $r32"), [], itin>;
|
||||
|
||||
//
|
||||
// I8_MOV32R instruction format (used only by MOV32R instruction)
|
||||
//
|
||||
@ -204,7 +211,14 @@ def LwRxRyOffMemX16: FEXT_RRI16_mem_ins<0b10011, "lw", mem16, IIAlu>;
|
||||
// Purpose: Move
|
||||
// To move the contents of a GPR to a GPR.
|
||||
//
|
||||
def Mov32R16: FI8_MOV32R16_ins<"move", IIAlu>;
|
||||
def Move32R16: FI8_MOV32R16_ins<"move", IIAlu>;
|
||||
|
||||
//
|
||||
// Format: MOVE ry, r32 MIPS16e
|
||||
//Purpose: Move
|
||||
// To move the contents of a GPR to a GPR.
|
||||
//
|
||||
def MoveR3216: FI8_MOVR3216_ins<"move", IIAlu>;
|
||||
|
||||
//
|
||||
// Format: NEG rx, ry MIPS16e
|
||||
|
Loading…
Reference in New Issue
Block a user