diff options
Diffstat (limited to 'circuitpython/lib/libm_dbl/thumb_vfp_sqrt.c')
-rw-r--r-- | circuitpython/lib/libm_dbl/thumb_vfp_sqrt.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/circuitpython/lib/libm_dbl/thumb_vfp_sqrt.c b/circuitpython/lib/libm_dbl/thumb_vfp_sqrt.c new file mode 100644 index 0000000..dd37a07 --- /dev/null +++ b/circuitpython/lib/libm_dbl/thumb_vfp_sqrt.c @@ -0,0 +1,10 @@ +// an implementation of sqrt for Thumb using hardware double-precision VFP instructions + +double sqrt(double x) { + double ret; + asm volatile ( + "vsqrt.f64 %P0, %P1\n" + : "=w" (ret) + : "w" (x)); + return ret; +} |