mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
softfloat: Add float{16,32,64}_muladd_scalbn
We currently have a flag, float_muladd_halve_result, to scale the result by 2**-1. Extend this to handle arbitrary scaling. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@@ -238,6 +238,8 @@ float16 float16_add(float16, float16, float_status *status);
|
||||
float16 float16_sub(float16, float16, float_status *status);
|
||||
float16 float16_mul(float16, float16, float_status *status);
|
||||
float16 float16_muladd(float16, float16, float16, int, float_status *status);
|
||||
float16 float16_muladd_scalbn(float16, float16, float16,
|
||||
int, int, float_status *status);
|
||||
float16 float16_div(float16, float16, float_status *status);
|
||||
float16 float16_scalbn(float16, int, float_status *status);
|
||||
float16 float16_min(float16, float16, float_status *status);
|
||||
@@ -597,6 +599,8 @@ float32 float32_mul(float32, float32, float_status *status);
|
||||
float32 float32_div(float32, float32, float_status *status);
|
||||
float32 float32_rem(float32, float32, float_status *status);
|
||||
float32 float32_muladd(float32, float32, float32, int, float_status *status);
|
||||
float32 float32_muladd_scalbn(float32, float32, float32,
|
||||
int, int, float_status *status);
|
||||
float32 float32_sqrt(float32, float_status *status);
|
||||
float32 float32_exp2(float32, float_status *status);
|
||||
float32 float32_log2(float32, float_status *status);
|
||||
@@ -792,6 +796,8 @@ float64 float64_mul(float64, float64, float_status *status);
|
||||
float64 float64_div(float64, float64, float_status *status);
|
||||
float64 float64_rem(float64, float64, float_status *status);
|
||||
float64 float64_muladd(float64, float64, float64, int, float_status *status);
|
||||
float64 float64_muladd_scalbn(float64, float64, float64,
|
||||
int, int, float_status *status);
|
||||
float64 float64_sqrt(float64, float_status *status);
|
||||
float64 float64_log2(float64, float_status *status);
|
||||
FloatRelation float64_compare(float64, float64, float_status *status);
|
||||
|
||||
Reference in New Issue
Block a user