diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-11-03 10:38:31 -0700 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2024-02-03 16:46:10 +1000 |
| commit | fdc50716a0c9e522ea91a7e909a624f2a1c65e59 (patch) | |
| tree | d143a933308e616b113d898725fc761b4d13d3d9 /target/sparc/translate.c | |
| parent | 0b2a61cc26caa8e3ba6425f7c4159aa75fe520b9 (diff) | |
| download | focaccia-qemu-fdc50716a0c9e522ea91a7e909a624f2a1c65e59.tar.gz focaccia-qemu-fdc50716a0c9e522ea91a7e909a624f2a1c65e59.zip | |
target/sparc: Use i128 for FdTOq, FxTOq
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-Id: <20231103173841.33651-13-richard.henderson@linaro.org>
Diffstat (limited to 'target/sparc/translate.c')
| -rw-r--r-- | target/sparc/translate.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 6522a9b0c8..d478a2fcd0 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -4750,9 +4750,10 @@ TRANS(FiTOq, ALL, do_env_qf, a, gen_helper_fitoq) TRANS(FsTOq, ALL, do_env_qf, a, gen_helper_fstoq) static bool do_env_qd(DisasContext *dc, arg_r_r *a, - void (*func)(TCGv_env, TCGv_i64)) + void (*func)(TCGv_i128, TCGv_env, TCGv_i64)) { TCGv_i64 src; + TCGv_i128 dst; if (gen_trap_ifnofpu(dc)) { return true; @@ -4763,9 +4764,9 @@ static bool do_env_qd(DisasContext *dc, arg_r_r *a, gen_op_clear_ieee_excp_and_FTT(); src = gen_load_fpr_D(dc, a->rs); - func(tcg_env, src); - gen_op_store_QT0_fpr(QFPREG(a->rd)); - gen_update_fprs_dirty(dc, QFPREG(a->rd)); + dst = tcg_temp_new_i128(); + func(dst, tcg_env, src); + gen_store_fpr_Q(dc, a->rd, dst); return advance_pc(dc); } |