qemu/fpu
Richard Henderson 9261b245f0 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>
2021-06-03 13:59:34 -07:00
..
softfloat-parts-addsub.c.inc softfloat: Move addsub_floats to softfloat-parts.c.inc 2021-05-16 07:13:51 -05:00
softfloat-parts.c.inc softfloat: Move sqrt_float to softfloat-parts.c.inc 2021-06-03 13:59:34 -07:00
softfloat-specialize.c.inc softfloat: Convert float128_default_nan to parts 2021-05-16 07:13:51 -05:00
softfloat.c softfloat: Move sqrt_float to softfloat-parts.c.inc 2021-06-03 13:59:34 -07:00