mirror of https://github.com/xemu-project/xemu.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 <weil@mail.berlios.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
d4a3ef6970
commit
be82ee2aca
|
@ -2056,7 +2056,7 @@ do_mh:
|
||||||
even for very long ones... */
|
even for very long ones... */
|
||||||
tmp = get_address(s, 0, b2, d2);
|
tmp = get_address(s, 0, b2, d2);
|
||||||
tmp3 = tcg_const_i64(stm_len);
|
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) {
|
for (i = r1;; i = (i + 1) % 16) {
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case 0x4:
|
case 0x4:
|
||||||
|
@ -2070,7 +2070,7 @@ do_mh:
|
||||||
#else
|
#else
|
||||||
tmp2 = tcg_temp_new_i64();
|
tmp2 = tcg_temp_new_i64();
|
||||||
tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
|
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_ext32u_i64(regs[i], regs[i]);
|
||||||
tcg_gen_or_i64(regs[i], regs[i], tmp2);
|
tcg_gen_or_i64(regs[i], regs[i], tmp2);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue