aboutsummaryrefslogtreecommitdiffstats
path: root/tcg/ppc64
diff options
context:
space:
mode:
authormalc <av1474@comtv.ru>2009-12-15 19:44:20 +0300
committermalc <av1474@comtv.ru>2009-12-15 19:45:28 +0300
commit591d6f1dfdb60ab0a4cc487cd5781fa799dcac4b (patch)
treebd5c938a088a78cccb2797ea14c7d0659ab5ad63 /tcg/ppc64
parentd9a50a366f2178a4ddaada87bcf67764c9d0af87 (diff)
tcg/ppc64: Fix loading of 32bit constants
Signed-off-by: malc <av1474@comtv.ru>
Diffstat (limited to 'tcg/ppc64')
-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 0c11917c1..803db481f 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 {