ppcopcodes: Fix rlwnm when shift > 31.

This commit is contained in:
joevt 2023-10-30 17:10:51 -07:00 committed by dingusdev
parent 29e5bbdcc0
commit 6c49b87a06

View File

@ -778,6 +778,7 @@ void dppc_interpreter::ppc_rlwinm() {
void dppc_interpreter::ppc_rlwnm() { void dppc_interpreter::ppc_rlwnm() {
ppc_grab_regssab(); ppc_grab_regssab();
ppc_result_b &= 31;
unsigned rot_mb = (ppc_cur_instruction >> 6) & 31; unsigned rot_mb = (ppc_cur_instruction >> 6) & 31;
unsigned rot_me = (ppc_cur_instruction >> 1) & 31; unsigned rot_me = (ppc_cur_instruction >> 1) & 31;
uint32_t mask = rot_mask(rot_mb, rot_me); uint32_t mask = rot_mask(rot_mb, rot_me);