target/ppc: fix cpu_ov setting for 32-bit
A bug was introduced in following commit:
dc0ad84
target/ppc: update overflow flags for add/sub
As for 32-bit ppc target extracting bit 63 for overflow is not correct.
Made it dependent on TARGET_LOG_BITS. This had broken booting MacOS
9.2.1 image
Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
f244115cbd
commit
38a61d3487
@ -818,7 +818,7 @@ static inline void gen_op_arith_compute_ov(DisasContext *ctx, TCGv arg0,
|
|||||||
if (is_isa300(ctx)) {
|
if (is_isa300(ctx)) {
|
||||||
tcg_gen_extract_tl(cpu_ov32, cpu_ov, 31, 1);
|
tcg_gen_extract_tl(cpu_ov32, cpu_ov, 31, 1);
|
||||||
}
|
}
|
||||||
tcg_gen_extract_tl(cpu_ov, cpu_ov, 63, 1);
|
tcg_gen_extract_tl(cpu_ov, cpu_ov, TARGET_LONG_BITS - 1, 1);
|
||||||
}
|
}
|
||||||
tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov);
|
tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user