summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/fr30/addsp.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/fr30/addsp.cgs')
-rw-r--r--sim/testsuite/sim/fr30/addsp.cgs31
1 files changed, 31 insertions, 0 deletions
diff --git a/sim/testsuite/sim/fr30/addsp.cgs b/sim/testsuite/sim/fr30/addsp.cgs
new file mode 100644
index 00000000000..da5bc36b86a
--- /dev/null
+++ b/sim/testsuite/sim/fr30/addsp.cgs
@@ -0,0 +1,31 @@
+# fr30 testcase for addsp $s10
+# mach(): fr30
+
+ .include "testutils.inc"
+
+ START
+
+ .text
+ .global addsp
+addsp:
+ ; Test addsp $s10
+ mvr_h_gr sp,r7 ; save stack pointer permanently
+ mvr_h_gr sp,r8 ; Shadow updated sp
+ set_cc 0x0f ; Condition codes are irrelevent
+ addsp 508
+ test_cc 1 1 1 1
+ inci_h_gr 508,r8
+ testr_h_gr r8,sp
+
+ set_cc 0x0e ; Condition codes are irrelevent
+ addsp 0
+ test_cc 1 1 1 0
+ testr_h_gr r8,sp
+
+ set_cc 0x0d ; Condition codes are irrelevent
+ addsp -512
+ test_cc 1 1 0 1
+ inci_h_gr -512,r8
+ testr_h_gr r8,sp
+
+ pass