diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2021-01-16 13:55:03 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2021-05-02 16:49:34 +0200 |
commit | 830a72301c35548907ff05399a99f34dab9c867d (patch) | |
tree | 1f44698a9fe597c04603cb47f92fefff92e2c827 /target/mips/fpu.c | |
parent | 58ecf15d76e6e232d908bf115236108a639daa71 (diff) | |
download | qemu-830a72301c35548907ff05399a99f34dab9c867d.zip qemu-830a72301c35548907ff05399a99f34dab9c867d.tar.gz qemu-830a72301c35548907ff05399a99f34dab9c867d.tar.bz2 |
target/mips: Move IEEE rounding mode array to new source file
restore_msa_fp_status() is declared inlined in fpu_helper.h,
and uses the ieee_rm[] array. Therefore any code calling
restore_msa_fp_status() must have access to this ieee_rm[] array.
kvm_mips_get_fpu_registers(), which is in target/mips/kvm.c,
calls restore_msa_fp_status.
Except this tiny array, the rest of fpu_helper.c is only useful
for the TCG accelerator.
To be able to restrict fpu_helper.c to TCG, we need to move the
ieee_rm[] array to a new source file.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210428170410.479308-3-f4bug@amsat.org>
Diffstat (limited to 'target/mips/fpu.c')
-rw-r--r-- | target/mips/fpu.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/target/mips/fpu.c b/target/mips/fpu.c new file mode 100644 index 0000000..39a2f7f --- /dev/null +++ b/target/mips/fpu.c @@ -0,0 +1,18 @@ +/* + * Helpers for emulation of FPU-related MIPS instructions. + * + * Copyright (C) 2004-2005 Jocelyn Mayer + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ +#include "qemu/osdep.h" +#include "fpu/softfloat-helpers.h" +#include "fpu_helper.h" + +/* convert MIPS rounding mode in FCR31 to IEEE library */ +const FloatRoundMode ieee_rm[4] = { + float_round_nearest_even, + float_round_to_zero, + float_round_up, + float_round_down +}; |