Richard Henderson <r...@twiddle.net> writes: > On 02/24/2017 06:56 AM, Nikunj A Dadhania wrote: >> @@ -320,22 +320,24 @@ target_ulong helper_divo(CPUPPCState *env, >> target_ulong arg1, >> target_ulong arg2) >> { >> uint64_t tmp = (uint64_t)arg1 << 32 | env->spr[SPR_MQ]; >> + int ov; >> >> if (((int32_t)tmp == INT32_MIN && (int32_t)arg2 == (int32_t)-1) || >> (int32_t)arg2 == 0) { >> - env->so = env->ov = 1; >> + ov = 1; >> env->spr[SPR_MQ] = 0; >> return INT32_MIN; >> } else { >> env->spr[SPR_MQ] = tmp % arg2; >> tmp /= (int32_t)arg2; >> if ((int32_t)tmp != tmp) { >> - env->so = env->ov = 1; >> + ov = 1; >> } else { >> - env->ov = 0; >> + ov = 0; >> } >> return tmp; >> } >> + helper_update_ov_legacy(env, ov); >> } >> > > You're attempting to run the helper after "return".
Right, will correct it. Regards Nikunj