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

Signed-off-by: Damien George <damien@micropython.org>
pull/8191/head
Damien George 2022-02-21 10:36:04 +11:00
rodzic 0a2895b099
commit 414b59d39c
6 zmienionych plików z 53 dodań i 0 usunięć

Wyświetl plik

@ -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)

Wyświetl plik

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

Wyświetl plik

@ -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))

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -0,0 +1 @@
3