From: Stefan Weil Date: Fri, 27 May 2011 17:03:25 +0000 (+0200) Subject: target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~2818^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e3d5ff87dae009a8893cd99d32304a80921a6710;p=sdk%2Femulator%2Fqemu.git target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() tcg_gen_shl_i64 needs a 3rd argument of type TCGv_i64. Set tmp4 so it can be used here. v2: Don't call tcg_const_i64() inside of the loop because it creates additional code. Signed-off-by: Stefan Weil Signed-off-by: Alexander Graf --- diff --git a/target-s390x/translate.c b/target-s390x/translate.c index 8e71df3d26..865a9dfa53 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -2056,7 +2056,7 @@ do_mh: even for very long ones... */ tmp = get_address(s, 0, b2, d2); tmp3 = tcg_const_i64(stm_len); - tmp4 = tcg_const_i64(32); + tmp4 = tcg_const_i64(op == 0x26 ? 32 : 4); for (i = r1;; i = (i + 1) % 16) { switch (op) { case 0x4: @@ -2070,7 +2070,7 @@ do_mh: #else tmp2 = tcg_temp_new_i64(); tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s)); - tcg_gen_shl_i64(tmp2, tmp2, 4); + tcg_gen_shl_i64(tmp2, tmp2, tmp4); tcg_gen_ext32u_i64(regs[i], regs[i]); tcg_gen_or_i64(regs[i], regs[i], tmp2); #endif