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