[ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter.
This commit is contained in:
parent
53498dafeb
commit
81d7986202
|
@ -612,9 +612,15 @@ void ARMXEmitter::LSL (ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedData
|
||||||
void ARMXEmitter::LSLS(ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(0, true, dest, src, op2);}
|
void ARMXEmitter::LSLS(ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(0, true, dest, src, op2);}
|
||||||
void ARMXEmitter::LSL (ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(1, false, dest, src, op2);}
|
void ARMXEmitter::LSL (ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(1, false, dest, src, op2);}
|
||||||
void ARMXEmitter::LSLS(ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(1, true, dest, src, op2);}
|
void ARMXEmitter::LSLS(ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(1, true, dest, src, op2);}
|
||||||
void ARMXEmitter::LSR (ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(3, false, dest, src, op2);}
|
void ARMXEmitter::LSR (ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(2, false, dest, src, op2);}
|
||||||
|
void ARMXEmitter::LSRS(ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(2, true, dest, src, op2);}
|
||||||
|
void ARMXEmitter::LSR (ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(3, false, dest, src, op2);}
|
||||||
|
void ARMXEmitter::LSRS(ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(3, true, dest, src, op2);}
|
||||||
void ARMXEmitter::ASR (ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(4, false, dest, src, op2);}
|
void ARMXEmitter::ASR (ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(4, false, dest, src, op2);}
|
||||||
void ARMXEmitter::ASRS(ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(4, true, dest, src, op2);}
|
void ARMXEmitter::ASRS(ARMReg dest, ARMReg src, Operand2 op2) { WriteShiftedDataOp(4, true, dest, src, op2);}
|
||||||
|
void ARMXEmitter::ASR (ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(5, false, dest, src, op2);}
|
||||||
|
void ARMXEmitter::ASRS(ARMReg dest, ARMReg src, ARMReg op2) { WriteShiftedDataOp(5, true, dest, src, op2);}
|
||||||
|
|
||||||
void ARMXEmitter::MUL (ARMReg dest, ARMReg src, ARMReg op2)
|
void ARMXEmitter::MUL (ARMReg dest, ARMReg src, ARMReg op2)
|
||||||
{
|
{
|
||||||
Write32(condition | (dest << 16) | (src << 8) | (9 << 4) | op2);
|
Write32(condition | (dest << 16) | (src << 8) | (9 << 4) | op2);
|
||||||
|
|
|
@ -448,8 +448,13 @@ public:
|
||||||
void LSLS(ARMReg dest, ARMReg src, Operand2 op2);
|
void LSLS(ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
void LSLS(ARMReg dest, ARMReg src, ARMReg op2);
|
void LSLS(ARMReg dest, ARMReg src, ARMReg op2);
|
||||||
void LSR (ARMReg dest, ARMReg src, Operand2 op2);
|
void LSR (ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
|
void LSRS(ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
|
void LSR (ARMReg dest, ARMReg src, ARMReg op2);
|
||||||
|
void LSRS(ARMReg dest, ARMReg src, ARMReg op2);
|
||||||
void ASR (ARMReg dest, ARMReg src, Operand2 op2);
|
void ASR (ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
void ASRS(ARMReg dest, ARMReg src, Operand2 op2);
|
void ASRS(ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
|
void ASR (ARMReg dest, ARMReg src, ARMReg op2);
|
||||||
|
void ASRS(ARMReg dest, ARMReg src, ARMReg op2);
|
||||||
void SBC (ARMReg dest, ARMReg src, Operand2 op2);
|
void SBC (ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
void SBCS(ARMReg dest, ARMReg src, Operand2 op2);
|
void SBCS(ARMReg dest, ARMReg src, Operand2 op2);
|
||||||
void RBIT(ARMReg dest, ARMReg src);
|
void RBIT(ARMReg dest, ARMReg src);
|
||||||
|
|
Loading…
Reference in New Issue