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)
|
||||
{
|
||||
switch (size) {
|
||||
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:
|
||||
if (size == MO_TL) {
|
||||
return src;
|
||||
}
|
||||
tcg_gen_ext_tl(dst, src, size | (sign ? MO_SIGN : 0));
|
||||
return dst;
|
||||
}
|
||||
|
||||
static void gen_extu(MemOp ot, TCGv reg)
|
||||
|
Loading…
Reference in New Issue
Block a user