diff options
Diffstat (limited to 'ocaml-binary-annot/testsuite/tests/asmcomp/arm.S')
| -rw-r--r-- | ocaml-binary-annot/testsuite/tests/asmcomp/arm.S | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ocaml-binary-annot/testsuite/tests/asmcomp/arm.S b/ocaml-binary-annot/testsuite/tests/asmcomp/arm.S new file mode 100644 index 0000000000..0697095189 --- /dev/null +++ b/ocaml-binary-annot/testsuite/tests/asmcomp/arm.S @@ -0,0 +1,40 @@ +/***********************************************************************/ +/* */ +/* Objective Caml */ +/* */ +/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ +/* */ +/* Copyright 1998 Institut National de Recherche en Informatique et */ +/* en Automatique. All rights reserved. This file is distributed */ +/* under the terms of the Q Public License version 1.0. */ +/* */ +/***********************************************************************/ + +/* $Id: arm.S 9212 2009-03-31 09:46:08Z xleroy $ */ + + .text + + .global call_gen_code + .type call_gen_code, %function + .align 0 +call_gen_code: + mov ip, sp + stmfd sp!, {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} + sub fp, ip, #4 + @ r0 is function to call + @ r1, r2, r3 are arguments 1, 2, 3 + mov r4, r0 + mov r0, r1 + mov r1, r2 + mov r2, r3 + mov lr, pc + mov pc, r4 + ldmea fp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} + + .global caml_c_call + .type caml_c_call, %function + .align 0 +caml_c_call: + @ function to call is in r10 + mov pc, r10 + |
