Implement thumb1_AND_reg

This commit is contained in:
MerryMage
2016-07-08 17:43:28 +08:00
parent 5b56fd12aa
commit 8a0511d297
9 changed files with 33 additions and 3 deletions

View File

@@ -436,6 +436,15 @@ void EmitX64::EmitAddWithCarry(IR::Value* value_) {
}
}
void EmitX64::EmitAnd(IR::Value* value_) {
auto value = reinterpret_cast<IR::Inst*>(value_);
X64Reg andend = reg_alloc.UseRegister(value->GetArg(1).get());
X64Reg result = reg_alloc.UseDefRegister(value->GetArg(0).get(), value);
code->AND(32, R(result), R(andend));
}
void EmitX64::EmitAddCycles(size_t cycles) {
ASSERT(cycles < std::numeric_limits<u32>::max());
code->SUB(64, MDisp(R15, offsetof(JitState, cycles_remaining)), Imm32(static_cast<u32>(cycles)));