diff --git a/cpu/ppc/ppcopcodes.cpp b/cpu/ppc/ppcopcodes.cpp index ee65dcd..2b4f64a 100644 --- a/cpu/ppc/ppcopcodes.cpp +++ b/cpu/ppc/ppcopcodes.cpp @@ -1262,7 +1262,7 @@ void dppc_interpreter::ppc_crandc() { } void dppc_interpreter::ppc_creqv() { ppc_grab_regsdab(); - uint8_t ir = ~((ppc_state.cr >> (31 - reg_a)) ^ (ppc_state.cr >> (31 - reg_b))); + uint8_t ir = ~((ppc_state.cr & (31 - reg_a)) ^ (ppc_state.cr & (31 - reg_b))); if (ir & 1) { ppc_state.cr |= (0x80000000UL >> reg_d); } else {