data_processing_register: Clean-up

This commit is contained in:
MerryMage 2018-01-22 22:40:00 +00:00
parent ae5dbcbed6
commit 4c4efb2213
3 changed files with 40 additions and 33 deletions

View file

@ -142,6 +142,18 @@ ResultAndCarry<U32> IREmitter::RotateRightExtended(const U32& value_in, const U1
return {result, carry_out};
}
U32 IREmitter::LogicalShiftLeft(const U32& value_in, const U8& shift_amount) {
return Inst<U32>(Opcode::LogicalShiftLeft32, value_in, shift_amount, Imm1(0));
}
U64 IREmitter::LogicalShiftLeft(const U64& value_in, const U8& shift_amount) {
return Inst<U64>(Opcode::LogicalShiftLeft64, value_in, shift_amount);
}
U32 IREmitter::LogicalShiftRight(const U32& value_in, const U8& shift_amount) {
return Inst<U32>(Opcode::LogicalShiftRight32, value_in, shift_amount, Imm1(0));
}
U64 IREmitter::LogicalShiftRight(const U64& value_in, const U8& shift_amount) {
return Inst<U64>(Opcode::LogicalShiftRight64, value_in, shift_amount);
}

View file

@ -94,8 +94,11 @@ public:
ResultAndCarry<U32> LogicalShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in);
ResultAndCarry<U32> ArithmeticShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in);
ResultAndCarry<U32> RotateRight(const U32& value_in, const U8& shift_amount, const U1& carry_in);
U64 LogicalShiftRight(const U64& value_in, const U8& shift_amount);
U32 LogicalShiftLeft(const U32& value_in, const U8& shift_amount);
U64 LogicalShiftLeft(const U64& value_in, const U8& shift_amount);
U32U64 LogicalShiftLeft(const U32U64& value_in, const U8& shift_amount);
U32 LogicalShiftRight(const U32& value_in, const U8& shift_amount);
U64 LogicalShiftRight(const U64& value_in, const U8& shift_amount);
U32U64 LogicalShiftRight(const U32U64& value_in, const U8& shift_amount);
U32U64 ArithmeticShiftRight(const U32U64& value_in, const U8& shift_amount);
U32U64 RotateRight(const U32U64& value_in, const U8& shift_amount);