diff options
author | malc <av1474@comtv.ru> | 2009-12-15 19:44:20 +0300 |
---|---|---|
committer | malc <av1474@comtv.ru> | 2009-12-15 19:45:28 +0300 |
commit | 591d6f1dfdb60ab0a4cc487cd5781fa799dcac4b (patch) | |
tree | bd5c938a088a78cccb2797ea14c7d0659ab5ad63 /tcg | |
parent | d9a50a366f2178a4ddaada87bcf67764c9d0af87 (diff) |
tcg/ppc64: Fix loading of 32bit constants
Signed-off-by: malc <av1474@comtv.ru>
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/ppc64/tcg-target.c | 3 |
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 { |