On 6/1/21 5:01 PM, Richard Henderson wrote:
> We already had the 32-bit versions for a 32-bit host; expand this
> to 64-bit hosts as well.  The 64-bit opcodes are new.
> 
> Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org>
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  tcg/tci/tcg-target.h     |  8 ++++----
>  tcg/tci.c                | 40 ++++++++++++++++++++++++++--------------
>  tcg/tci/tcg-target.c.inc | 15 ++++++++-------
>  3 files changed, 38 insertions(+), 25 deletions(-)

> +#if TCG_TARGET_HAS_add2_i64
> +        case INDEX_op_add2_i64:
> +            tci_args_rrrrrr(insn, &r0, &r1, &r2, &r3, &r4, &r5);
> +            T1 = regs[r2] + regs[r4];

// lo

> +            T2 = regs[r3] + regs[r5] + (T1 < regs[r2]);

// hi + lo ovf

> +            regs[r0] = T1;

// lo

> +            regs[r1] = T2;

// hi

OK.

Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>

> +            break;
> +#endif
> +#if TCG_TARGET_HAS_add2_i64
> +        case INDEX_op_sub2_i64:
> +            tci_args_rrrrrr(insn, &r0, &r1, &r2, &r3, &r4, &r5);
> +            T1 = regs[r2] - regs[r4];
> +            T2 = regs[r3] - regs[r5] - (regs[r2] < regs[r4]);
> +            regs[r0] = T1;
> +            regs[r1] = T2;
> +            break;
> +#endif

Reply via email to