mirror of https://gitee.com/openkylin/qemu.git
tcg-s390: Fix movi
The code to load the high 64 bits assumed that the insn used to load the low 64 bits zero-extended. Enforce that.
This commit is contained in:
parent
d05ef16045
commit
a22971f99f
|
@ -770,7 +770,7 @@ static void tcg_out_movi(TCGContext *s, TCGType type,
|
||||||
/* If we get here, both the high and low parts have non-zero bits. */
|
/* If we get here, both the high and low parts have non-zero bits. */
|
||||||
|
|
||||||
/* Recurse to load the lower 32-bits. */
|
/* Recurse to load the lower 32-bits. */
|
||||||
tcg_out_movi(s, TCG_TYPE_I32, ret, sval);
|
tcg_out_movi(s, TCG_TYPE_I64, ret, uval & 0xffffffff);
|
||||||
|
|
||||||
/* Insert data into the high 32-bits. */
|
/* Insert data into the high 32-bits. */
|
||||||
uval = uval >> 31 >> 1;
|
uval = uval >> 31 >> 1;
|
||||||
|
|
Loading…
Reference in New Issue