diff options
Diffstat (limited to 'testasmcomp/power-rhapsody.S')
| -rw-r--r-- | testasmcomp/power-rhapsody.S | 129 |
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 |
