tcg/tci: Reuse tci_args_l for calls.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2021-01-29 21:58:20 -10:00
parent b95aa12ed2
commit 2ed8a38192
1 changed files with 19 additions and 19 deletions

View File

@ -437,30 +437,30 @@ uintptr_t QEMU_DISABLE_CFI tcg_qemu_tb_exec(CPUArchState *env,
switch (opc) { switch (opc) {
case INDEX_op_call: case INDEX_op_call:
t0 = tci_read_i(&tb_ptr); tci_args_l(&tb_ptr, &ptr);
tci_tb_ptr = (uintptr_t)tb_ptr; tci_tb_ptr = (uintptr_t)tb_ptr;
#if TCG_TARGET_REG_BITS == 32 #if TCG_TARGET_REG_BITS == 32
tmp64 = ((helper_function)t0)(tci_read_reg(regs, TCG_REG_R0), tmp64 = ((helper_function)ptr)(tci_read_reg(regs, TCG_REG_R0),
tci_read_reg(regs, TCG_REG_R1), tci_read_reg(regs, TCG_REG_R1),
tci_read_reg(regs, TCG_REG_R2), tci_read_reg(regs, TCG_REG_R2),
tci_read_reg(regs, TCG_REG_R3), tci_read_reg(regs, TCG_REG_R3),
tci_read_reg(regs, TCG_REG_R4), tci_read_reg(regs, TCG_REG_R4),
tci_read_reg(regs, TCG_REG_R5), tci_read_reg(regs, TCG_REG_R5),
tci_read_reg(regs, TCG_REG_R6), tci_read_reg(regs, TCG_REG_R6),
tci_read_reg(regs, TCG_REG_R7), tci_read_reg(regs, TCG_REG_R7),
tci_read_reg(regs, TCG_REG_R8), tci_read_reg(regs, TCG_REG_R8),
tci_read_reg(regs, TCG_REG_R9), tci_read_reg(regs, TCG_REG_R9),
tci_read_reg(regs, TCG_REG_R10), tci_read_reg(regs, TCG_REG_R10),
tci_read_reg(regs, TCG_REG_R11)); tci_read_reg(regs, TCG_REG_R11));
tci_write_reg(regs, TCG_REG_R0, tmp64); tci_write_reg(regs, TCG_REG_R0, tmp64);
tci_write_reg(regs, TCG_REG_R1, tmp64 >> 32); tci_write_reg(regs, TCG_REG_R1, tmp64 >> 32);
#else #else
tmp64 = ((helper_function)t0)(tci_read_reg(regs, TCG_REG_R0), tmp64 = ((helper_function)ptr)(tci_read_reg(regs, TCG_REG_R0),
tci_read_reg(regs, TCG_REG_R1), tci_read_reg(regs, TCG_REG_R1),
tci_read_reg(regs, TCG_REG_R2), tci_read_reg(regs, TCG_REG_R2),
tci_read_reg(regs, TCG_REG_R3), tci_read_reg(regs, TCG_REG_R3),
tci_read_reg(regs, TCG_REG_R4), tci_read_reg(regs, TCG_REG_R4),
tci_read_reg(regs, TCG_REG_R5)); tci_read_reg(regs, TCG_REG_R5));
tci_write_reg(regs, TCG_REG_R0, tmp64); tci_write_reg(regs, TCG_REG_R0, tmp64);
#endif #endif
break; break;