Support more sphinx-build versions in configure script
[ghc.git] / rts / StgCRunAsm.S
1 #include "ghcconfig.h"
2 #include "rts/Constants.h"
3 #ifdef powerpc64le_HOST_ARCH
4 #ifdef linux_HOST_OS
5 #define STACK_FRAME_SIZE RESERVED_C_STACK_BYTES+304
6         .file   "StgCRun.c"
7         .abiversion 2
8         .section        ".toc","aw"
9         .section        ".text"
10         .align 2
11 .globl StgRun
12 .hidden StgRun
13 .type StgRun,@function
14 StgRun:
15 .localentry StgRun,.-StgRun
16         mflr 0
17         mr 5, 1
18         std 0, 16(1)
19         stdu 1, -(STACK_FRAME_SIZE)(1)
20         std 2, -296(5)
21         std 14, -288(5)
22         std 15, -280(5)
23         std 16, -272(5)
24         std 17, -264(5)
25         std 18, -256(5)
26         std 19, -248(5)
27         std 20, -240(5)
28         std 21, -232(5)
29         std 22, -224(5)
30         std 23, -216(5)
31         std 24, -208(5)
32         std 25, -200(5)
33         std 26, -192(5)
34         std 27, -184(5)
35         std 28, -176(5)
36         std 29, -168(5)
37         std 30, -160(5)
38         std 31, -152(5)
39         stfd 14, -144(5)
40         stfd 15, -136(5)
41         stfd 16, -128(5)
42         stfd 17, -120(5)
43         stfd 18, -112(5)
44         stfd 19, -104(5)
45         stfd 20, -96(5)
46         stfd 21, -88(5)
47         stfd 22, -80(5)
48         stfd 23, -72(5)
49         stfd 24, -64(5)
50         stfd 25, -56(5)
51         stfd 26, -48(5)
52         stfd 27, -40(5)
53         stfd 28, -32(5)
54         stfd 29, -24(5)
55         stfd 30, -16(5)
56         stfd 31, -8(5)
57         mr 27, 4
58         mtctr 3
59         mr 12, 3
60         bctr
61 .globl StgReturn
62 .type StgReturn,@function
63 StgReturn:
64 .localentry StgReturn,.-StgReturn
65         mr 3,14
66         la 5, STACK_FRAME_SIZE(1)
67         ld 2, -296(5)
68         ld 14, -288(5)
69         ld 15, -280(5)
70         ld 16, -272(5)
71         ld 17, -264(5)
72         ld 18, -256(5)
73         ld 19, -248(5)
74         ld 20, -240(5)
75         ld 21, -232(5)
76         ld 22, -224(5)
77         ld 23, -216(5)
78         ld 24, -208(5)
79         ld 25, -200(5)
80         ld 26, -192(5)
81         ld 27, -184(5)
82         ld 28, -176(5)
83         ld 29, -168(5)
84         ld 30, -160(5)
85         ld 31, -152(5)
86         lfd 14, -144(5)
87         lfd 15, -136(5)
88         lfd 16, -128(5)
89         lfd 17, -120(5)
90         lfd 18, -112(5)
91         lfd 19, -104(5)
92         lfd 20, -96(5)
93         lfd 21, -88(5)
94         lfd 22, -80(5)
95         lfd 23, -72(5)
96         lfd 24, -64(5)
97         lfd 25, -56(5)
98         lfd 26, -48(5)
99         lfd 27, -40(5)
100         lfd 28, -32(5)
101         lfd 29, -24(5)
102         lfd 30, -16(5)
103         lfd 31, -8(5)
104         mr 1, 5
105         ld 0, 16(1)
106         mtlr 0
107         blr
108
109         .section        .note.GNU-stack,"",@progbits
110 #else // linux_HOST_OS
111 #error Only Linux support for power64 little endian right now.
112 #endif
113
114 #endif