diff options
Diffstat (limited to 'tests/inlineasm/thumb/asmfpmuldiv.py')
| -rw-r--r-- | tests/inlineasm/thumb/asmfpmuldiv.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/inlineasm/thumb/asmfpmuldiv.py b/tests/inlineasm/thumb/asmfpmuldiv.py new file mode 100644 index 000000000..930ddd053 --- /dev/null +++ b/tests/inlineasm/thumb/asmfpmuldiv.py @@ -0,0 +1,15 @@ +@micropython.asm_thumb # r0 = (int)(r0*r1/r2) +def muldiv(r0, r1, r2): + vmov(s0, r0) + vcvt_f32_s32(s0, s0) + vmov(s1, r1) + vcvt_f32_s32(s1, s1) + vmov(s2, r2) + vcvt_f32_s32(s2, s2) + vmul(s7, s0, s1) + vdiv(s8, s7, s2) + vcvt_s32_f32(s31, s8) + vmov(r0, s31) + + +print(muldiv(100, 10, 50)) |
