forked from OSchip/llvm-project
Modify class ReadHardware and add definition of 64-bit version of instruction
RDHWR. llvm-svn: 146101
This commit is contained in:
parent
66232aa19d
commit
4350c183d4
|
@ -219,6 +219,8 @@ let Uses = [SP_64] in
|
|||
def DynAlloc64 : EffectiveAddress<"daddiu\t$rt, $addr", CPU64Regs, mem_ea_64>,
|
||||
Requires<[IsN64]>;
|
||||
|
||||
def RDHWR64 : ReadHardware<CPU64Regs, HWRegs64>;
|
||||
|
||||
def DEXT : ExtBase<3, "dext", CPU64Regs>;
|
||||
def DINS : InsBase<7, "dins", CPU64Regs>;
|
||||
|
||||
|
|
|
@ -614,8 +614,9 @@ class ByteSwap<bits<6> func, bits<5> sa, string instr_asm>:
|
|||
}
|
||||
|
||||
// Read Hardware
|
||||
class ReadHardware: FR<0x1f, 0x3b, (outs CPURegs:$rt), (ins HWRegs:$rd),
|
||||
"rdhwr\t$rt, $rd", [], IIAlu> {
|
||||
class ReadHardware<RegisterClass CPURegClass, RegisterClass HWRegClass>
|
||||
: FR<0x1f, 0x3b, (outs CPURegClass:$rt), (ins HWRegClass:$rd),
|
||||
"rdhwr\t$rt, $rd", [], IIAlu> {
|
||||
let rs = 0;
|
||||
let shamt = 0;
|
||||
}
|
||||
|
@ -901,7 +902,7 @@ def MSUBU : MArithR<5, "msubu", MipsMSubu>;
|
|||
def MUL : ArithLogicR<0x1c, 0x02, "mul", mul, IIImul, CPURegs, 1>,
|
||||
Requires<[HasMips32]>;
|
||||
|
||||
def RDHWR : ReadHardware;
|
||||
def RDHWR : ReadHardware<CPURegs, HWRegs>;
|
||||
|
||||
def EXT : ExtBase<0, "ext", CPURegs>;
|
||||
def INS : InsBase<4, "ins", CPURegs>;
|
||||
|
|
Loading…
Reference in New Issue