diff options
author | = <peter@hinch.me.uk> | 2015-04-14 13:14:57 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-04-19 15:47:05 +0100 |
commit | 5008972fefdd0d8cad214d4c0a2fb3daea0ac3c8 (patch) | |
tree | 3fb510017d83a6862fd6b16834ac96653ef3d8aa /tests/inlineasm/asmfpldrstr.py | |
parent | d8cbbcaa9d057f210b192bde68fde551972e426c (diff) | |
download | micropython-5008972fefdd0d8cad214d4c0a2fb3daea0ac3c8.tar.gz micropython-5008972fefdd0d8cad214d4c0a2fb3daea0ac3c8.zip |
py/inlinethumb: Support for core floating point instructions.
Adds support for the following Thumb2 VFP instructions, via the option
MICROPY_EMIT_INLINE_THUMB_FLOAT:
vcmp
vsqrt
vneg
vcvt_f32_to_s32
vcvt_s32_to_f32
vmrs
vmov
vldr
vstr
vadd
vsub
vmul
vdiv
Diffstat (limited to 'tests/inlineasm/asmfpldrstr.py')
-rw-r--r-- | tests/inlineasm/asmfpldrstr.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/inlineasm/asmfpldrstr.py b/tests/inlineasm/asmfpldrstr.py new file mode 100644 index 0000000000..75054a6796 --- /dev/null +++ b/tests/inlineasm/asmfpldrstr.py @@ -0,0 +1,12 @@ +import array +@micropython.asm_thumb # test vldr, vstr +def arrayadd(r0): + vldr(s0, [r0, 0]) + vldr(s1, [r0, 1]) + vadd(s2, s0, s1) + vstr(s2, [r0, 2]) + +z = array.array("f", [2, 4, 10]) +arrayadd(z) +print(z[2]) + |