aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tcg/ppc64/tcg-target.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c
index 0c11917c15..803db481fd 100644
--- a/tcg/ppc64/tcg-target.c
+++ b/tcg/ppc64/tcg-target.c
@@ -463,8 +463,9 @@ static void tcg_out_movi (TCGContext *s, TCGType type,
int ret, tcg_target_long arg)
{
int32_t arg32 = arg;
+ arg = type == TCG_TYPE_I32 ? arg & 0xffffffff : arg;
- if (type == TCG_TYPE_I32 || arg == arg32) {
+ if (arg == arg32) {
tcg_out_movi32 (s, ret, arg32);
}
else {