1 // an implementation of sqrt for Thumb using hardware double-precision VFP instructions 2 sqrt(double x)3 double sqrt(double x) { 4 double ret; 5 asm volatile ( 6 "vsqrt.f64 %P0, %P1\n" 7 : "=w" (ret) 8 : "w" (x)); 9 return ret; 10 } 11