diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-01-04 22:15:49 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-01-08 19:07:21 +0000 |
commit | f71a2ae50e728f775446302d84e509bf0af43899 (patch) | |
tree | 1b53aab783373582924b547c45fcceae736e2082 /target-arm/helper.c | |
parent | e2f90565e7b3e2824fffcfcbcecf86205a1f14e2 (diff) |
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-arm/helper.c')
-rw-r--r-- | target-arm/helper.c | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index f91e3fd35d..d0b7c27749 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -3864,6 +3864,10 @@ VFP_BINOP(add) VFP_BINOP(sub) VFP_BINOP(mul) VFP_BINOP(div) +VFP_BINOP(min) +VFP_BINOP(max) +VFP_BINOP(minnum) +VFP_BINOP(maxnum) #undef VFP_BINOP float32 VFP_HELPER(neg, s)(float32 a) @@ -4317,28 +4321,3 @@ float64 VFP_HELPER(muladd, d)(float64 a, float64 b, float64 c, void *fpstp) float_status *fpst = fpstp; return float64_muladd(a, b, c, 0, fpst); } - -/* ARMv8 VMAXNM/VMINNM */ -float32 VFP_HELPER(maxnm, s)(float32 a, float32 b, void *fpstp) -{ - float_status *fpst = fpstp; - return float32_maxnum(a, b, fpst); -} - -float64 VFP_HELPER(maxnm, d)(float64 a, float64 b, void *fpstp) -{ - float_status *fpst = fpstp; - return float64_maxnum(a, b, fpst); -} - -float32 VFP_HELPER(minnm, s)(float32 a, float32 b, void *fpstp) -{ - float_status *fpst = fpstp; - return float32_minnum(a, b, fpst); -} - -float64 VFP_HELPER(minnm, d)(float64 a, float64 b, void *fpstp) -{ - float_status *fpst = fpstp; - return float64_minnum(a, b, fpst); -} |