提交 21fc3cfc 编写于 作者: P pbrook

32-bit host sign extension fix (Juergen Lock).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4017 c046a42c-6fe2-441c-8c8c-71466251a162
上级 f32d7ec5
......@@ -1172,7 +1172,7 @@ static inline void tcg_gen_qemu_ld8s(TCGv ret, TCGv addr, int mem_index)
tcg_gen_op3i(INDEX_op_qemu_ld8s, ret, addr, mem_index);
#else
tcg_gen_op4i(INDEX_op_qemu_ld8s, ret, addr, TCGV_HIGH(addr), mem_index);
tcg_gen_ext8s_i32(TCGV_HIGH(ret), ret);
tcg_gen_sari_i32(TCGV_HIGH(ret), ret, 31);
#endif
}
......@@ -1192,7 +1192,7 @@ static inline void tcg_gen_qemu_ld16s(TCGv ret, TCGv addr, int mem_index)
tcg_gen_op3i(INDEX_op_qemu_ld16s, ret, addr, mem_index);
#else
tcg_gen_op4i(INDEX_op_qemu_ld16s, ret, addr, TCGV_HIGH(addr), mem_index);
tcg_gen_ext16s_i32(TCGV_HIGH(ret), ret);
tcg_gen_sari_i32(TCGV_HIGH(ret), ret, 31);
#endif
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册