aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tcg/lm32/test_sl.S
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/lm32/test_sl.S')
-rw-r--r--tests/tcg/lm32/test_sl.S45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/tcg/lm32/test_sl.S b/tests/tcg/lm32/test_sl.S
new file mode 100644
index 00000000..0aee17fd
--- /dev/null
+++ b/tests/tcg/lm32/test_sl.S
@@ -0,0 +1,45 @@
+.include "macros.inc"
+
+start
+
+test_name SL_1
+mvi r1, 1
+mvi r2, 0
+sl r3, r1, r2
+check_r3 1
+
+test_name SL_2
+mvi r1, 0
+mvi r2, 1
+sl r3, r1, r2
+check_r3 0
+
+test_name SL_3
+mvi r1, 1
+mvi r2, 31
+sl r3, r1, r2
+check_r3 0x80000000
+
+test_name SL_4
+mvi r1, 16
+mvi r2, 31
+sl r3, r1, r2
+check_r3 0
+
+test_name SL_5
+mvi r1, 1
+mvi r2, 34
+sl r3, r1, r2
+check_r3 4
+
+test_name SL_6
+mvi r1, 2
+sl r3, r1, r1
+check_r3 8
+
+test_name SL_7
+mvi r3, 2
+sl r3, r3, r3
+check_r3 8
+
+end