qemu-arm: Add tests for freezing viper and asm_thumb code.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George 2022-02-21 10:36:04 +11:00
parent 0a2895b099
commit 414b59d39c
6 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,29 @@
# Test freezing inline-asm code.
import micropython
@micropython.asm_thumb
def asm_add(r0, r1):
add(r0, r0, r1)
@micropython.asm_thumb
def asm_add1(r0) -> object:
lsl(r0, r0, 1)
add(r0, r0, 3)
@micropython.asm_thumb
def asm_cast_bool(r0) -> bool:
pass
@micropython.asm_thumb
def asm_shift_int(r0) -> int:
lsl(r0, r0, 29)
@micropython.asm_thumb
def asm_shift_uint(r0) -> uint:
lsl(r0, r0, 29)

View File

@ -0,0 +1,8 @@
# Test freezing viper code.
import micropython
@micropython.viper
def viper_add(x, y):
print(x + y)

View File

@ -0,0 +1,7 @@
import frozen_asm
print(frozen_asm.asm_add(1, 2))
print(frozen_asm.asm_add1(3))
print(frozen_asm.asm_cast_bool(0), frozen_asm.asm_cast_bool(3))
print(frozen_asm.asm_shift_int(4))
print(frozen_asm.asm_shift_uint(4))

View File

@ -0,0 +1,5 @@
3
4
False True
-2147483648
2147483648

View File

@ -0,0 +1,3 @@
import frozen_viper
frozen_viper.viper_add(1, 2)

View File

@ -0,0 +1 @@
3