qemu-e2k/target/m68k
Joseph Myers 6b8b0136ab softfloat: merge floatx80_mod and floatx80_rem
The m68k-specific softfloat code includes a function floatx80_mod that
is extremely similar to floatx80_rem, but computing the remainder
based on truncating the quotient toward zero rather than rounding it
to nearest integer.  This is also useful for emulating the x87 fprem
and fprem1 instructions.  Change the floatx80_rem implementation into
floatx80_modrem that can perform either operation, with both
floatx80_rem and floatx80_mod as thin wrappers available for all
targets.

There does not appear to be any use for the _mod operation for other
floating-point formats in QEMU (the only other architectures using
_rem at all are linux-user/arm/nwfpe, for FPA emulation, and openrisc,
for instructions that have been removed in the latest version of the
architecture), so no change is made to the code for other formats.

Signed-off-by: Joseph Myers <joseph@codesourcery.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <alpine.DEB.2.21.2006081654280.23637@digraph.polyomino.org.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-06-26 09:39:37 -04:00
..
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h cpu: Use DeviceClass reset instead of a special CPUClass reset 2020-03-17 19:48:10 -04:00
cpu.c target/m68k: fix gdb for m68xxx 2020-05-06 09:29:26 +01:00
cpu.h gdbstub: extend GByteArray to read register helpers 2020-03-17 17:38:38 +00:00
fpu_helper.c target/m68k: implement opcode fetoxm1 2020-06-02 13:59:02 +02:00
gdbstub.c gdbstub: extend GByteArray to read register helpers 2020-03-17 17:38:38 +00:00
helper.c gdbstub: Introduce gdb_get_float64() to get 64-bit float registers 2020-05-06 09:29:26 +01:00
helper.h target/m68k: implement opcode fetoxm1 2020-06-02 13:59:02 +02:00
m68k-semi.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
Makefile.objs target/m68k: add fmod/frem 2018-03-04 17:27:06 +01:00
monitor.c target: Clean up how the dump_mmu() print 2019-04-18 22:18:59 +02:00
op_helper.c target/m68k: Use cpu_*_mmuidx_ra instead of MMU_MODE{0,1}_SUFFIX 2020-01-15 15:13:10 -10:00
qregs.def target-m68k: use floatx80 internally 2017-06-21 22:10:29 +02:00
softfloat_fpsp_tables.h m68k comments break patch submission due to being incorrectly formatted 2019-06-26 17:14:39 +02:00
softfloat.c softfloat: merge floatx80_mod and floatx80_rem 2020-06-26 09:39:37 -04:00
softfloat.h softfloat: merge floatx80_mod and floatx80_rem 2020-06-26 09:39:37 -04:00
translate.c target/m68k: implement opcode fetoxm1 2020-06-02 13:59:02 +02:00