* real one is 2 or 4 bytes. Instruction preload wouldn't trigger
* additional page fault.
*/
- opcode = translator_ldl(env, &ctx->base, ctx->base.pc_next);
+ opcode = translator_ldl_end(env, &ctx->base, ctx->base.pc_next,
+ mo_endian(ctx));
} else {
/*
* For unaligned pc, instruction preload may trigger additional
* page fault so we only load 2 bytes here.
*/
- opcode = (uint32_t) translator_lduw(env, &ctx->base, ctx->base.pc_next);
+ opcode = (uint32_t) translator_lduw_end(env, &ctx->base,
+ ctx->base.pc_next,
+ mo_endian(ctx));
}
ctx->ol = ctx->xl;
if (!pc_is_4byte_align) {
/* Load last 2 bytes of instruction here */
opcode = deposit32(opcode, 16, 16,
- translator_lduw(env, &ctx->base,
- ctx->base.pc_next + 2));
+ translator_lduw_end(env, &ctx->base,
+ ctx->base.pc_next + 2,
+ mo_endian(ctx)));
}
ctx->opcode = opcode;
if (page_ofs > TARGET_PAGE_SIZE - MAX_INSN_LEN) {
uint16_t next_insn =
- translator_lduw(env, &ctx->base, ctx->base.pc_next);
+ translator_lduw_end(env, &ctx->base, ctx->base.pc_next,
+ mo_endian(ctx));
int len = insn_len(next_insn);
if (!translator_is_same_page(&ctx->base, ctx->base.pc_next + len - 1)) {