aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/lm32/test_lh.S
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/lm32/test_lh.S')
-rw-r--r--tests/tcg/lm32/test_lh.S45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/tcg/lm32/test_lh.S b/tests/tcg/lm32/test_lh.S
new file mode 100644
index 0000000000..e57d9e35cf
--- /dev/null
+++ b/tests/tcg/lm32/test_lh.S
@@ -0,0 +1,45 @@
+.include "macros.inc"
+
+start
+
+test_name LH_1
+load r1 data
+lh r3, (r1+0)
+check_r3 0x7e7f
+
+test_name LH_2
+lh r3, (r1+2)
+check_r3 0x7071
+
+test_name LH_3
+lh r3, (r1+-2)
+check_r3 0x7c7d
+
+test_name LH_4
+load r1 data_msb
+lh r3, (r1+0)
+check_r3 0xfffffeff
+
+test_name LH_5
+lh r3, (r1+2)
+check_r3 0xfffff0f1
+
+test_name LH_6
+lh r3, (r1+-2)
+check_r3 0xfffffcfd
+
+test_name LH_7
+load r3 data
+lh r3, (r3+0)
+check_r3 0x7e7f
+
+end
+
+.data
+ .align 4
+ .byte 0x7a, 0x7b, 0x7c, 0x7d
+data:
+ .byte 0x7e, 0x7f, 0x70, 0x71
+ .byte 0xfa, 0xfb, 0xfc, 0xfd
+data_msb:
+ .byte 0xfe, 0xff, 0xf0, 0xf1