aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite')
-rw-r--r--sim/testsuite/sim/fr30/enter.cgs34
1 files changed, 34 insertions, 0 deletions
diff --git a/sim/testsuite/sim/fr30/enter.cgs b/sim/testsuite/sim/fr30/enter.cgs
new file mode 100644
index 0000000..ae75e16
--- /dev/null
+++ b/sim/testsuite/sim/fr30/enter.cgs
@@ -0,0 +1,34 @@
+# fr30 testcase for enter $u10
+# mach(): fr30
+
+ .include "testutils.inc"
+
+ START
+
+ .text
+ .global enter
+enter:
+ ; Test enter $u10
+ mvr_h_gr sp,r7 ; save stack pointer
+ mvr_h_gr sp,r8 ; shadow stack pointer
+ mvr_h_gr sp,r14 ; Initialize
+ set_cc 0x0f ; Condition codes are irrelevent
+ enter 0
+ test_cc 1 1 1 1
+ testr_h_gr r8,sp
+ inci_h_gr -4,r8
+ testr_h_gr r14,r8
+ testr_h_mem r7,r14
+
+ mvr_h_gr sp,r8 ; shadow stack pointer
+ mvr_h_gr r14,r9 ; save
+ set_cc 0x0e ; Condition codes are irrelevent
+ enter 0x3fc
+ test_cc 1 1 1 0
+ inci_h_gr -4,r8
+ testr_h_gr r14,r8
+ testr_h_mem r9,r14
+ inci_h_gr -0x3f8,r8
+ testr_h_gr r8,sp
+
+ pass