summary refs log tree commit diff stats
path: root/include/fpu/softfloat-types.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2020-11-18 12:14:37 -0800
committerRichard Henderson <richard.henderson@linaro.org>2021-06-03 13:59:34 -0700
commit9261b245f061cb80410fdae7be8460eaa21a5d7d (patch)
treeba15449329741217804db6a3dba2756f9319ad6a /include/fpu/softfloat-types.h
parent39626b0ce830e6cd99459a8168b35c6a57be21bc (diff)
downloadfocaccia-qemu-9261b245f061cb80410fdae7be8460eaa21a5d7d.tar.gz
focaccia-qemu-9261b245f061cb80410fdae7be8460eaa21a5d7d.zip
softfloat: Move sqrt_float to softfloat-parts.c.inc
Rename to parts$N_sqrt.
Reimplement float128_sqrt with FloatParts128.

Reimplement with the inverse sqrt newton-raphson algorithm from musl.
This is significantly faster than even the berkeley sqrt n-r algorithm,
because it does not use division instructions, only multiplication.

Ordinarily, changing algorithms at the same time as migrating code is
a bad idea, but this is the only way I found that didn't break one of
the routines at the same time.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/fpu/softfloat-types.h')
0 files changed, 0 insertions, 0 deletions