mirror of https://gitee.com/openkylin/qemu.git
target/ppc: Fix load endianness for lxvwsx/lxvdsx
TARGET_WORDS_BIGENDIAN may not match the machine endianness if that's a runtime-configurable parameter. Fixes:bcb0b7b1a1
Fixes:afae37d98a
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/212 Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com> Message-Id: <20210518133020.58927-1-thatlemon@gmail.com> Tested-by: Paul A. Clarke <pc@us.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
51eb7b1d10
commit
861f10fd52
|
@ -139,7 +139,7 @@ static void gen_lxvwsx(DisasContext *ctx)
|
|||
gen_addr_reg_index(ctx, EA);
|
||||
|
||||
data = tcg_temp_new_i32();
|
||||
tcg_gen_qemu_ld_i32(data, EA, ctx->mem_idx, MO_TEUL);
|
||||
tcg_gen_qemu_ld_i32(data, EA, ctx->mem_idx, DEF_MEMOP(MO_UL));
|
||||
tcg_gen_gvec_dup_i32(MO_UL, vsr_full_offset(xT(ctx->opcode)), 16, 16, data);
|
||||
|
||||
tcg_temp_free(EA);
|
||||
|
@ -162,7 +162,7 @@ static void gen_lxvdsx(DisasContext *ctx)
|
|||
gen_addr_reg_index(ctx, EA);
|
||||
|
||||
data = tcg_temp_new_i64();
|
||||
tcg_gen_qemu_ld_i64(data, EA, ctx->mem_idx, MO_TEQ);
|
||||
tcg_gen_qemu_ld_i64(data, EA, ctx->mem_idx, DEF_MEMOP(MO_Q));
|
||||
tcg_gen_gvec_dup_i64(MO_Q, vsr_full_offset(xT(ctx->opcode)), 16, 16, data);
|
||||
|
||||
tcg_temp_free(EA);
|
||||
|
|
Loading…
Reference in New Issue