translate.c (4448a83606b5861cfa11528c0395868fc2b0e99e) | translate.c (e1933d1435d1d0ace7c93bdc429f7e4f0c499e92) |
---|---|
1/* 2 * SH4 translation 3 * 4 * Copyright (c) 2005 Samuel Tardieu 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 206 unchanged lines hidden (view full) --- 215static inline void gen_save_cpu_state(DisasContext *ctx, bool save_pc) 216{ 217 if (save_pc) { 218 tcg_gen_movi_i32(cpu_pc, ctx->pc); 219 } 220 if (ctx->delayed_pc != (uint32_t) -1) { 221 tcg_gen_movi_i32(cpu_delayed_pc, ctx->delayed_pc); 222 } | 1/* 2 * SH4 translation 3 * 4 * Copyright (c) 2005 Samuel Tardieu 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 206 unchanged lines hidden (view full) --- 215static inline void gen_save_cpu_state(DisasContext *ctx, bool save_pc) 216{ 217 if (save_pc) { 218 tcg_gen_movi_i32(cpu_pc, ctx->pc); 219 } 220 if (ctx->delayed_pc != (uint32_t) -1) { 221 tcg_gen_movi_i32(cpu_delayed_pc, ctx->delayed_pc); 222 } |
223 if ((ctx->tbflags & DELAY_SLOT_MASK) != ctx->envflags) { | 223 if ((ctx->tbflags & TB_FLAG_ENVFLAGS_MASK) != ctx->envflags) { |
224 tcg_gen_movi_i32(cpu_flags, ctx->envflags); 225 } 226} 227 228static inline bool use_goto_tb(DisasContext *ctx, target_ulong dest) 229{ 230 if (unlikely(ctx->singlestep_enabled)) { 231 return false; --- 1582 unchanged lines hidden (view full) --- 1814 DisasContext ctx; 1815 target_ulong pc_start; 1816 int num_insns; 1817 int max_insns; 1818 1819 pc_start = tb->pc; 1820 ctx.pc = pc_start; 1821 ctx.tbflags = (uint32_t)tb->flags; | 224 tcg_gen_movi_i32(cpu_flags, ctx->envflags); 225 } 226} 227 228static inline bool use_goto_tb(DisasContext *ctx, target_ulong dest) 229{ 230 if (unlikely(ctx->singlestep_enabled)) { 231 return false; --- 1582 unchanged lines hidden (view full) --- 1814 DisasContext ctx; 1815 target_ulong pc_start; 1816 int num_insns; 1817 int max_insns; 1818 1819 pc_start = tb->pc; 1820 ctx.pc = pc_start; 1821 ctx.tbflags = (uint32_t)tb->flags; |
1822 ctx.envflags = tb->flags & DELAY_SLOT_MASK; | 1822 ctx.envflags = tb->flags & TB_FLAG_ENVFLAGS_MASK; |
1823 ctx.bstate = BS_NONE; 1824 ctx.memidx = (ctx.tbflags & (1u << SR_MD)) == 0 ? 1 : 0; 1825 /* We don't know if the delayed pc came from a dynamic or static branch, 1826 so assume it is a dynamic branch. */ 1827 ctx.delayed_pc = -1; /* use delayed pc from env pointer */ 1828 ctx.tb = tb; 1829 ctx.singlestep_enabled = cs->singlestep_enabled; 1830 ctx.features = env->features; --- 98 unchanged lines hidden --- | 1823 ctx.bstate = BS_NONE; 1824 ctx.memidx = (ctx.tbflags & (1u << SR_MD)) == 0 ? 1 : 0; 1825 /* We don't know if the delayed pc came from a dynamic or static branch, 1826 so assume it is a dynamic branch. */ 1827 ctx.delayed_pc = -1; /* use delayed pc from env pointer */ 1828 ctx.tb = tb; 1829 ctx.singlestep_enabled = cs->singlestep_enabled; 1830 ctx.features = env->features; --- 98 unchanged lines hidden --- |