summary refs log tree commit diff stats
path: root/tests/lm32/test_add.S
diff options
context:
space:
mode:
authorMichael Walle <michael@walle.cc>2011-02-17 23:45:16 +0100
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2011-03-07 13:42:37 +0100
commitd65f083146d269b48d53368a8e49aa7d2d4a08fd (patch)
tree4177f250548dc57c57b8ed3f9aa18efb1872e9af /tests/lm32/test_add.S
parent45664345fa3d6f2833177533c959f34867bbe573 (diff)
downloadfocaccia-qemu-d65f083146d269b48d53368a8e49aa7d2d4a08fd.tar.gz
focaccia-qemu-d65f083146d269b48d53368a8e49aa7d2d4a08fd.zip
lm32: opcode testsuite
This patch creates tests/lm32 directory and adds tests for every
LatticeMico32 opcode.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'tests/lm32/test_add.S')
-rw-r--r--tests/lm32/test_add.S75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/lm32/test_add.S b/tests/lm32/test_add.S
new file mode 100644
index 0000000000..030ad197bb
--- /dev/null
+++ b/tests/lm32/test_add.S
@@ -0,0 +1,75 @@
+.include "macros.inc"
+
+start
+
+test_name ADD_1
+mvi r1, 0
+mvi r2, 0
+add r3, r1, r2
+check_r3 0
+
+test_name ADD_2
+mvi r1, 0
+mvi r2, 1
+add r3, r1, r2
+check_r3 1
+
+test_name ADD_3
+mvi r1, 1
+mvi r2, 0
+add r3, r1, r2
+check_r3 1
+
+test_name ADD_4
+mvi r1, 1
+mvi r2, -1
+add r3, r1, r2
+check_r3 0
+
+test_name ADD_5
+mvi r1, -1
+mvi r2, 1
+add r3, r1, r2
+check_r3 0
+
+test_name ADD_6
+mvi r1, -1
+mvi r2, 0
+add r3, r1, r2
+check_r3 -1
+
+test_name ADD_7
+mvi r1, 0
+mvi r2, -1
+add r3, r1, r2
+check_r3 -1
+
+test_name ADD_8
+mvi r3, 2
+add r3, r3, r3
+check_r3 4
+
+test_name ADD_9
+mvi r1, 4
+mvi r3, 2
+add r3, r1, r3
+check_r3 6
+
+test_name ADD_10
+mvi r1, 4
+mvi r3, 2
+add r3, r3, r1
+check_r3 6
+
+test_name ADD_11
+mvi r1, 4
+add r3, r1, r1
+check_r3 8
+
+test_name ADD_12
+load r1 0x12345678
+load r2 0xabcdef97
+add r3, r1, r2
+check_r3 0xbe02460f
+
+end