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:
Richard Henderson 2013-03-25 13:45:32 -07:00
parent d05ef16045
commit a22971f99f
1 changed files with 1 additions and 1 deletions

View File

@ -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;