mirror of
https://github.com/qemu/qemu.git
synced 2024-12-01 15:53:35 +08:00
target-ppc: fix flags computation for tcg_gen_qemu_st
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5644 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e1638bd858
commit
e32ad5c268
@ -2759,7 +2759,7 @@ static always_inline void gen_qemu_ld64(TCGv arg0, TCGv arg1, int flags)
|
||||
|
||||
static always_inline void gen_qemu_st8(TCGv arg0, TCGv arg1, int flags)
|
||||
{
|
||||
gen_qemu_st8_ppc32(arg0, arg1, flags >> 1);
|
||||
gen_qemu_st8_ppc32(arg0, arg1, flags);
|
||||
}
|
||||
|
||||
static always_inline void gen_qemu_st16(TCGv arg0, TCGv arg1, int flags)
|
||||
@ -2768,10 +2768,10 @@ static always_inline void gen_qemu_st16(TCGv arg0, TCGv arg1, int flags)
|
||||
TCGv temp = tcg_temp_new(TCG_TYPE_I32);
|
||||
tcg_gen_ext16u_i32(temp, arg0);
|
||||
tcg_gen_bswap16_i32(temp, temp);
|
||||
gen_qemu_st16_ppc32(temp, arg1, flags >> 1);
|
||||
gen_qemu_st16_ppc32(temp, arg1, flags);
|
||||
tcg_temp_free(temp);
|
||||
} else
|
||||
gen_qemu_st16_ppc32(arg0, arg1, flags >> 1);
|
||||
gen_qemu_st16_ppc32(arg0, arg1, flags);
|
||||
}
|
||||
|
||||
static always_inline void gen_qemu_st32(TCGv arg0, TCGv arg1, int flags)
|
||||
@ -2779,10 +2779,10 @@ static always_inline void gen_qemu_st32(TCGv arg0, TCGv arg1, int flags)
|
||||
if (unlikely(flags & 1)) {
|
||||
TCGv temp = tcg_temp_new(TCG_TYPE_I32);
|
||||
tcg_gen_bswap_i32(temp, arg0);
|
||||
gen_qemu_st32_ppc32(temp, arg1, flags >> 1);
|
||||
gen_qemu_st32_ppc32(temp, arg1, flags);
|
||||
tcg_temp_free(temp);
|
||||
} else
|
||||
gen_qemu_st32_ppc32(arg0, arg1, flags >> 1);
|
||||
gen_qemu_st32_ppc32(arg0, arg1, flags);
|
||||
}
|
||||
|
||||
static always_inline void gen_qemu_st64(TCGv arg0, TCGv arg1, int flags)
|
||||
@ -2790,10 +2790,10 @@ static always_inline void gen_qemu_st64(TCGv arg0, TCGv arg1, int flags)
|
||||
if (unlikely(flags & 1)) {
|
||||
TCGv temp = tcg_temp_new(TCG_TYPE_I64);
|
||||
tcg_gen_bswap_i64(temp, arg0);
|
||||
gen_qemu_st64_ppc32(temp, arg1, flags >> 1);
|
||||
gen_qemu_st64_ppc32(temp, arg1, flags);
|
||||
tcg_temp_free(temp);
|
||||
} else
|
||||
gen_qemu_st64_ppc32(arg0, arg1, flags >> 1);
|
||||
gen_qemu_st64_ppc32(arg0, arg1, flags);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user