summaryrefslogtreecommitdiff
path: root/target/m68k/softfloat.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2020-06-08 16:55:11 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2020-06-26 09:39:37 -0400
commit6b8b0136ab3018e4b552b485f808bf66bcf19ead (patch)
tree40b45e6b43f886ef73ffd192e78392d67b6d42ac /target/m68k/softfloat.h
parenteca30647fc078f4d9ed1b455bd67960f99dbeb7a (diff)
downloadqemu-6b8b0136ab3018e4b552b485f808bf66bcf19ead.zip
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>
Diffstat (limited to 'target/m68k/softfloat.h')
-rw-r--r--target/m68k/softfloat.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/target/m68k/softfloat.h b/target/m68k/softfloat.h
index 365ef6ac7a..4bb9567134 100644
--- a/target/m68k/softfloat.h
+++ b/target/m68k/softfloat.h
@@ -23,7 +23,6 @@
#define TARGET_M68K_SOFTFLOAT_H
#include "fpu/softfloat.h"
-floatx80 floatx80_mod(floatx80 a, floatx80 b, float_status *status);
floatx80 floatx80_getman(floatx80 a, float_status *status);
floatx80 floatx80_getexp(floatx80 a, float_status *status);
floatx80 floatx80_scale(floatx80 a, floatx80 b, float_status *status);