summaryrefslogtreecommitdiff
path: root/testasmcomp/power-rhapsody.S
diff options
context:
space:
mode:
Diffstat (limited to 'testasmcomp/power-rhapsody.S')
-rw-r--r--testasmcomp/power-rhapsody.S129
1 files changed, 0 insertions, 129 deletions
diff --git a/testasmcomp/power-rhapsody.S b/testasmcomp/power-rhapsody.S
deleted file mode 100644
index b456105862..0000000000
--- a/testasmcomp/power-rhapsody.S
+++ /dev/null
@@ -1,129 +0,0 @@
-/*********************************************************************/
-/* */
-/* Objective Caml */
-/* */
-/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
-/* */
-/* Copyright 1996 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$ */
-
-/* Save and restore all callee-save registers */
-/* GPR 14 at sp+16 ... GPR 31 at sp+84
- FPR 14 at sp+92 ... FPR 31 at sp+228 */
-
-#define Save_callee_save \
- addic r11, r1, 16-4; \
- stwu r14, 4(r11); \
- stwu r15, 4(r11); \
- stwu r16, 4(r11); \
- stwu r17, 4(r11); \
- stwu r18, 4(r11); \
- stwu r19, 4(r11); \
- stwu r20, 4(r11); \
- stwu r21, 4(r11); \
- stwu r22, 4(r11); \
- stwu r23, 4(r11); \
- stwu r24, 4(r11); \
- stwu r25, 4(r11); \
- stwu r26, 4(r11); \
- stwu r27, 4(r11); \
- stwu r28, 4(r11); \
- stwu r29, 4(r11); \
- stwu r30, 4(r11); \
- stwu r31, 4(r11); \
- stfdu f14, 8(r11); \
- stfdu f15, 8(r11); \
- stfdu f16, 8(r11); \
- stfdu f17, 8(r11); \
- stfdu f18, 8(r11); \
- stfdu f19, 8(r11); \
- stfdu f20, 8(r11); \
- stfdu f21, 8(r11); \
- stfdu f22, 8(r11); \
- stfdu f23, 8(r11); \
- stfdu f24, 8(r11); \
- stfdu f25, 8(r11); \
- stfdu f26, 8(r11); \
- stfdu f27, 8(r11); \
- stfdu f28, 8(r11); \
- stfdu f29, 8(r11); \
- stfdu f30, 8(r11); \
- stfdu f31, 8(r11)
-
-#define Restore_callee_save \
- addic r11, r1, 16-4; \
- lwzu r14, 4(r11); \
- lwzu r15, 4(r11); \
- lwzu r16, 4(r11); \
- lwzu r17, 4(r11); \
- lwzu r18, 4(r11); \
- lwzu r19, 4(r11); \
- lwzu r20, 4(r11); \
- lwzu r21, 4(r11); \
- lwzu r22, 4(r11); \
- lwzu r23, 4(r11); \
- lwzu r24, 4(r11); \
- lwzu r25, 4(r11); \
- lwzu r26, 4(r11); \
- lwzu r27, 4(r11); \
- lwzu r28, 4(r11); \
- lwzu r29, 4(r11); \
- lwzu r30, 4(r11); \
- lwzu r31, 4(r11); \
- lfdu f14, 8(r11); \
- lfdu f15, 8(r11); \
- lfdu f16, 8(r11); \
- lfdu f17, 8(r11); \
- lfdu f18, 8(r11); \
- lfdu f19, 8(r11); \
- lfdu f20, 8(r11); \
- lfdu f21, 8(r11); \
- lfdu f22, 8(r11); \
- lfdu f23, 8(r11); \
- lfdu f24, 8(r11); \
- lfdu f25, 8(r11); \
- lfdu f26, 8(r11); \
- lfdu f27, 8(r11); \
- lfdu f28, 8(r11); \
- lfdu f29, 8(r11); \
- lfdu f30, 8(r11); \
- lfdu f31, 8(r11)
-
- .text
-
- .globl _call_gen_code
-_call_gen_code:
- /* Allocate and link stack frame */
- stwu r1, -256(r1)
- /* Save return address */
- mflr r0
- stw r0, 256+4(r1)
- /* Save all callee-save registers */
- Save_callee_save
- /* Shuffle arguments */
- mtlr r3
- mr r3, r4
- mr r4, r5
- mr r5, r6
- mr r6, r7
- /* Call the function */
- blrl
- /* Restore callee-save registers */
- Restore_callee_save
- /* Reload return address */
- lwz r0, 256+4(r1)
- mtlr r0
- /* Return */
- addi r1, r1, 256
- blr
-
- .globl _caml_c_call
-_caml_c_call:
- /* Jump to C function (address in 11) */
- mtctr r11
- bctr