mirror of https://github.com/xemu-project/xemu.git
target/i386: Use tcg_gen_ext_tl
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
2f02c14b21
commit
23f3d586e4
|
@ -701,33 +701,11 @@ static inline void gen_op_movl_T0_Dshift(DisasContext *s, MemOp ot)
|
||||||
|
|
||||||
static TCGv gen_ext_tl(TCGv dst, TCGv src, MemOp size, bool sign)
|
static TCGv gen_ext_tl(TCGv dst, TCGv src, MemOp size, bool sign)
|
||||||
{
|
{
|
||||||
switch (size) {
|
if (size == MO_TL) {
|
||||||
case MO_8:
|
|
||||||
if (sign) {
|
|
||||||
tcg_gen_ext8s_tl(dst, src);
|
|
||||||
} else {
|
|
||||||
tcg_gen_ext8u_tl(dst, src);
|
|
||||||
}
|
|
||||||
return dst;
|
|
||||||
case MO_16:
|
|
||||||
if (sign) {
|
|
||||||
tcg_gen_ext16s_tl(dst, src);
|
|
||||||
} else {
|
|
||||||
tcg_gen_ext16u_tl(dst, src);
|
|
||||||
}
|
|
||||||
return dst;
|
|
||||||
#ifdef TARGET_X86_64
|
|
||||||
case MO_32:
|
|
||||||
if (sign) {
|
|
||||||
tcg_gen_ext32s_tl(dst, src);
|
|
||||||
} else {
|
|
||||||
tcg_gen_ext32u_tl(dst, src);
|
|
||||||
}
|
|
||||||
return dst;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
|
tcg_gen_ext_tl(dst, src, size | (sign ? MO_SIGN : 0));
|
||||||
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_extu(MemOp ot, TCGv reg)
|
static void gen_extu(MemOp ot, TCGv reg)
|
||||||
|
|
Loading…
Reference in New Issue