Revert "Fix LR update in bc instructions"

This reverts commit 5a0a7b12e4.
This commit is contained in:
Maxim Poliakovski
2024-11-25 21:56:02 +01:00
parent f4b5ac2d16
commit 04280ecda4
+11 -12
View File
@@ -1138,12 +1138,11 @@ void dppc_interpreter::ppc_bc() {
ppc_next_instruction_address = br_bd;
else
ppc_next_instruction_address = uint32_t(ppc_state.pc + br_bd);
exec_flags = EXEF_BRANCH;
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
}
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
}
template void dppc_interpreter::ppc_bc<LK0, AA0>();
@@ -1175,11 +1174,11 @@ void dppc_interpreter::ppc_bcctr() {
if (ctr_ok && cnd_ok) {
ppc_next_instruction_address = (ctr & ~3UL);
exec_flags = EXEF_BRANCH;
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
exec_flags = EXEF_BRANCH;
}
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
}
template void dppc_interpreter::ppc_bcctr<LK0, NOT601>();
@@ -1202,11 +1201,11 @@ void dppc_interpreter::ppc_bclr() {
if (ctr_ok && cnd_ok) {
ppc_next_instruction_address = (ppc_state.spr[SPR::LR] & ~3UL);
exec_flags = EXEF_BRANCH;
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
exec_flags = EXEF_BRANCH;
}
if (l)
ppc_state.spr[SPR::LR] = uint32_t(ppc_state.pc + 4);
}
template void dppc_interpreter::ppc_bclr<LK0>();