summaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/zcall.s
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/bfin/zcall.s')
-rw-r--r--sim/testsuite/bfin/zcall.s44
1 files changed, 44 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/zcall.s b/sim/testsuite/bfin/zcall.s
new file mode 100644
index 00000000000..bdb82c76c3d
--- /dev/null
+++ b/sim/testsuite/bfin/zcall.s
@@ -0,0 +1,44 @@
+# mach: bfin
+
+.include "testutils.inc"
+ start
+
+ FP = SP;
+ CALL _foo;
+ pass
+
+___main:
+ RTS;
+
+_m1:
+ LINK 0;
+ R7 = [ FP + 8 ];
+ DBGA ( R0.L , 1 );
+ DBGA ( R1.L , 2 );
+ DBGA ( R7.L , 3 );
+ UNLINK;
+ RTS;
+
+_m2:
+ LINK 0;
+ R7 = [ FP + 8 ];
+ DBGA ( R0.L , 1 );
+ DBGA ( R1.L , 2 );
+ DBGA ( R7.L , 3 );
+ [ -- SP ] = R7;
+ CALL _m1;
+ SP += 4;
+ UNLINK;
+ RTS;
+
+_foo:
+ LINK 0;
+ CALL ___main;
+ R7 = 3;
+ [ -- SP ] = R7;
+ R0 = 1;
+ R1 = 2;
+ CALL _m2;
+ SP += 4;
+ UNLINK;
+ RTS;