]> gcc.gnu.org Git - gcc.git/blame - boehm-gc/powerpc_darwin_mach_dep.s
Move from root of repository to intented place.
[gcc.git] / boehm-gc / powerpc_darwin_mach_dep.s
CommitLineData
6991c6c9
JS
1
2; GC_push_regs function. Under some optimization levels GCC will clobber
3; some of the non-volatile registers before we get a chance to save them
4; therefore, this can't be inline asm.
5
6.text
7 .align 2
8 .globl _GC_push_regs
9_GC_push_regs:
10
11 ; Prolog
12 mflr r0
13 stw r0,8(r1)
14 stwu r1,-80(r1)
15
16 ; Push r13-r31
17 mr r3,r13
18 bl L_GC_push_one$stub
19 mr r3,r14
20 bl L_GC_push_one$stub
21 mr r3,r15
22 bl L_GC_push_one$stub
23 mr r3,r16
24 bl L_GC_push_one$stub
25 mr r3,r17
26 bl L_GC_push_one$stub
27 mr r3,r18
28 bl L_GC_push_one$stub
29 mr r3,r19
30 bl L_GC_push_one$stub
31 mr r3,r20
32 bl L_GC_push_one$stub
33 mr r3,r21
34 bl L_GC_push_one$stub
35 mr r3,r22
36 bl L_GC_push_one$stub
37 mr r3,r23
38 bl L_GC_push_one$stub
39 mr r3,r24
40 bl L_GC_push_one$stub
41 mr r3,r25
42 bl L_GC_push_one$stub
43 mr r3,r26
44 bl L_GC_push_one$stub
45 mr r3,r27
46 bl L_GC_push_one$stub
47 mr r3,r28
48 bl L_GC_push_one$stub
49 mr r3,r29
50 bl L_GC_push_one$stub
51 mr r3,r30
52 bl L_GC_push_one$stub
53 mr r3,r31
54 bl L_GC_push_one$stub
55
56 ;
57 lwz r0,88(r1)
58 addi r1,r1,80
59 mtlr r0
60
61 ; Return
62 blr
63
64; PIC stuff, generated by GCC
65
66.data
cbaaa7db
AT
67.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
68 .align 2
6991c6c9
JS
69L_GC_push_one$stub:
70 .indirect_symbol _GC_push_one
71 mflr r0
72 bcl 20,31,L0$_GC_push_one
73L0$_GC_push_one:
74 mflr r11
75 addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
76 mtlr r0
cbaaa7db 77 lwzu r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
6991c6c9 78 mtctr r12
6991c6c9
JS
79 bctr
80.data
81.lazy_symbol_pointer
82L_GC_push_one$lazy_ptr:
83 .indirect_symbol _GC_push_one
84 .long dyld_stub_binding_helper
This page took 0.144486 seconds and 5 git commands to generate.