tcg-sparc: Fix small 32-bit movi
We tested imm13 before discarding garbage high bits. Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
35e2da1556
commit
035b239826
@ -432,6 +432,11 @@ static void tcg_out_movi(TCGContext *s, TCGType type,
|
||||
{
|
||||
tcg_target_long hi, lo = (int32_t)arg;
|
||||
|
||||
/* Make sure we test 32-bit constants for imm13 properly. */
|
||||
if (type == TCG_TYPE_I32) {
|
||||
arg = lo;
|
||||
}
|
||||
|
||||
/* A 13-bit constant sign-extended to 64-bits. */
|
||||
if (check_fit_tl(arg, 13)) {
|
||||
tcg_out_movi_imm13(s, ret, arg);
|
||||
|
Loading…
Reference in New Issue
Block a user