asmfpsqrt.py 309 B

123456789101112131415
  1. # test vsqrt, vneg
  2. @micropython.asm_thumb # r0 = -(int)(sqrt(r0)*r1)
  3. def sqrt_test(r0, r1):
  4. vmov(s1, r0)
  5. vcvt_f32_s32(s1, s1)
  6. vsqrt(s1, s1)
  7. vmov(s2, r1)
  8. vcvt_f32_s32(s2, s2)
  9. vmul(s0, s1, s2)
  10. vneg(s7, s0)
  11. vcvt_s32_f32(s31, s7)
  12. vmov(r0, s31)
  13. print(sqrt_test(256, 10))