diff options
| author | Alex Bennée | 2017-12-07 20:09:24 +0100 |
|---|---|---|
| committer | Alex Bennée | 2018-02-21 11:20:28 +0100 |
| commit | 5f10aef521427b3909c24a0c7a82839b43f876e2 (patch) | |
| tree | 1f7c85d94de1ecada31c4a88311a6f78aff5b2e1 /include | |
| parent | include/fpu/softfloat: implement float16_abs helper (diff) | |
| download | qemu-5f10aef521427b3909c24a0c7a82839b43f876e2.tar.gz qemu-5f10aef521427b3909c24a0c7a82839b43f876e2.tar.xz qemu-5f10aef521427b3909c24a0c7a82839b43f876e2.zip | |
include/fpu/softfloat: implement float16_chs helper
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/fpu/softfloat.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h index 1d34f2c3eb..f75aa59100 100644 --- a/include/fpu/softfloat.h +++ b/include/fpu/softfloat.h @@ -272,6 +272,15 @@ static inline float16 float16_abs(float16 a) */ return make_float16(float16_val(a) & 0x7fff); } + +static inline float16 float16_chs(float16 a) +{ + /* Note that chs does *not* handle NaN specially, nor does + * it flush denormal inputs to zero. + */ + return make_float16(float16_val(a) ^ 0x8000); +} + /*---------------------------------------------------------------------------- | The pattern for a default generated half-precision NaN. *----------------------------------------------------------------------------*/ |
