aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2017-05-01 23:20:43 +0200
committerAurelien Jarno <aurelien@aurel32.net>2017-05-13 11:17:29 +0200
commit24b09d9d8ba589402f9c8e0d8d36bcf5c4a933da (patch)
tree8a0cb6755c3ea5bb0f6e7579029a0528ea06a517
parent39682608111713404b53ade46edc87a7f85a0f12 (diff)
downloadqemu-24b09d9d8ba589402f9c8e0d8d36bcf5c4a933da.zip
qemu-24b09d9d8ba589402f9c8e0d8d36bcf5c4a933da.tar.gz
qemu-24b09d9d8ba589402f9c8e0d8d36bcf5c4a933da.tar.bz2
target/sh4: do not include DELAY_SLOT_TRUE in the TB state
DELAY_SLOT_TRUE is used as a dynamic condition for the branch after the delay slot instruction. It is not used in code generation, so there is no need to including in the TB state. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--target/sh4/cpu.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/sh4/cpu.h b/target/sh4/cpu.h
index 9445cc7..da8d15f 100644
--- a/target/sh4/cpu.h
+++ b/target/sh4/cpu.h
@@ -382,8 +382,7 @@ static inline void cpu_get_tb_cpu_state(CPUSH4State *env, target_ulong *pc,
{
*pc = env->pc;
*cs_base = 0;
- *flags = (env->flags & (DELAY_SLOT | DELAY_SLOT_CONDITIONAL
- | DELAY_SLOT_TRUE)) /* Bits 0- 2 */
+ *flags = (env->flags & (DELAY_SLOT | DELAY_SLOT_CONDITIONAL)) /* Bits 0-1 */
| (env->fpscr & (FPSCR_FR | FPSCR_SZ | FPSCR_PR)) /* Bits 19-21 */
| (env->sr & ((1u << SR_MD) | (1u << SR_RB))) /* Bits 29-30 */
| (env->sr & (1u << SR_FD)) /* Bit 15 */