diff options
author | Stefan Weil <sw@weilnetz.de> | 2019-04-10 21:48:38 +0200 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2019-10-28 10:26:02 +0100 |
commit | 2f160e0f9797c7522bfd0d09218d0c9340a5137c (patch) | |
tree | 05ab10fcf135f4fde7e772549725ceaccd34b1ef /tcg/tci.c | |
parent | 187f35512106501fe9a11057f4d8705431e0026d (diff) | |
download | qemu-2f160e0f9797c7522bfd0d09218d0c9340a5137c.zip qemu-2f160e0f9797c7522bfd0d09218d0c9340a5137c.tar.gz qemu-2f160e0f9797c7522bfd0d09218d0c9340a5137c.tar.bz2 |
tci: Add implementation for INDEX_op_ld16u_i64
This fixes "make check-tcg" on a Debian x86_64 host.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190410194838.10123-1-sw@weilnetz.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/tci.c')
-rw-r--r-- | tcg/tci.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -128,6 +128,12 @@ static void tci_write_reg8(tcg_target_ulong *regs, TCGReg index, uint8_t value) } static void +tci_write_reg16(tcg_target_ulong *regs, TCGReg index, uint16_t value) +{ + tci_write_reg(regs, index, value); +} + +static void tci_write_reg32(tcg_target_ulong *regs, TCGReg index, uint32_t value) { tci_write_reg(regs, index, value); @@ -585,6 +591,8 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) tci_write_reg8(regs, t0, *(uint8_t *)(t1 + t2)); break; case INDEX_op_ld8s_i32: + TODO(); + break; case INDEX_op_ld16u_i32: TODO(); break; @@ -854,7 +862,14 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) tci_write_reg8(regs, t0, *(uint8_t *)(t1 + t2)); break; case INDEX_op_ld8s_i64: + TODO(); + break; case INDEX_op_ld16u_i64: + t0 = *tb_ptr++; + t1 = tci_read_r(regs, &tb_ptr); + t2 = tci_read_s32(&tb_ptr); + tci_write_reg16(regs, t0, *(uint16_t *)(t1 + t2)); + break; case INDEX_op_ld16s_i64: TODO(); break; |