diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-11-03 10:38:34 -0700 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2024-02-03 16:46:10 +1000 |
| commit | 1ccd6e13ccc0913bd3750f47c697c3d7c31cd418 (patch) | |
| tree | 208d0192302aa1529556baf95fb5be8842b65994 /target/sparc/translate.c | |
| parent | 41535ca6f4d708cf376d731930fd89f44c84c98a (diff) | |
| download | focaccia-qemu-1ccd6e13ccc0913bd3750f47c697c3d7c31cd418.tar.gz focaccia-qemu-1ccd6e13ccc0913bd3750f47c697c3d7c31cd418.zip | |
target/sparc: Introduce cpu_get_fsr, cpu_put_fsr
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@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-16-richard.henderson@linaro.org>
Diffstat (limited to 'target/sparc/translate.c')
| -rw-r--r-- | target/sparc/translate.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target/sparc/translate.c b/target/sparc/translate.c index d12de5ae5c..da4f167fa6 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -4417,13 +4417,18 @@ TRANS(LDXFSR, 64, do_ldfsr, a, MO_TEUQ, FSR_LDXFSR_MASK, FSR_LDXFSR_OLDMASK) static bool do_stfsr(DisasContext *dc, arg_r_r_ri *a, MemOp mop) { TCGv addr = gen_ldst_addr(dc, a->rs1, a->imm, a->rs2_or_imm); + TCGv fsr; + if (addr == NULL) { return false; } if (gen_trap_ifnofpu(dc)) { return true; } - tcg_gen_qemu_st_tl(cpu_fsr, addr, dc->mem_idx, mop | MO_ALIGN); + + fsr = tcg_temp_new(); + gen_helper_get_fsr(fsr, tcg_env); + tcg_gen_qemu_st_tl(fsr, addr, dc->mem_idx, mop | MO_ALIGN); return advance_pc(dc); } |