Richard Henderson <r...@twiddle.net> writes:

> On 07/25/2016 10:50 PM, Nikunj A Dadhania wrote:
>>      if (compute_ov) {
>> -        tcg_gen_movi_tl(cpu_ov, 1);
>> -        tcg_gen_movi_tl(cpu_so, 1);
>> +        tcg_gen_extu_i32_tl(cpu_ov, t2);
>> +        tcg_gen_extu_i32_tl(cpu_so, t2);
>>      }
>
> This should be
>
>    tcg_gen_extu_i32_tl(cpu_ov, t2);
>    tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov);
>
> I.e. the summary overflow accumulates.

Sure, i missed that bit. In the previous case it was always setting it
to 1, because an overflow had occurred. And not changing it otherwise. 

Regards
Nikunj


Reply via email to