Skip to content

Commit

Permalink
ppc: Don't set access_type on all load/stores on hash64
Browse files Browse the repository at this point in the history
We don't use it so let's not generate the updates.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Signed-off-by: David Gibson <[email protected]>
  • Loading branch information
ozbenh authored and dgibson committed Sep 7, 2016
1 parent fbc3b39 commit 5f2a625
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion target-ppc/translate.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ struct DisasContext {
/* Routine used to access memory */
bool pr, hv, dr, le_mode;
bool lazy_tlb_flush;
bool need_access_type;
int mem_idx;
int access_type;
/* Translation flags */
Expand Down Expand Up @@ -252,7 +253,7 @@ struct opc_handler_t {

static inline void gen_set_access_type(DisasContext *ctx, int access_type)
{
if (ctx->access_type != access_type) {
if (ctx->need_access_type && ctx->access_type != access_type) {
tcg_gen_movi_i32(cpu_access_type, access_type);
ctx->access_type = access_type;
}
Expand Down Expand Up @@ -6927,6 +6928,7 @@ void gen_intermediate_code(CPUPPCState *env, struct TranslationBlock *tb)
ctx.insns_flags = env->insns_flags;
ctx.insns_flags2 = env->insns_flags2;
ctx.access_type = -1;
ctx.need_access_type = !(env->mmu_model & POWERPC_MMU_64B);
ctx.le_mode = !!(env->hflags & (1 << MSR_LE));
ctx.default_tcg_memop_mask = ctx.le_mode ? MO_LE : MO_BE;
#if defined(TARGET_PPC64)
Expand Down

0 comments on commit 5f2a625

Please sign in to comment.