1317021Sdim	.text
2317021Sdim	.abiversion 2
3317021Sdim	.globl	__xray_FunctionEntry
4317021Sdim	.p2align	4
5317021Sdim__xray_FunctionEntry:
6317021Sdim	std 0, 16(1)
7317021Sdim	stdu 1, -408(1)
8317021Sdim# Spill r3-r10, f1-f13, and vsr34-vsr45, which are parameter registers.
9317021Sdim# If this appears to be slow, the caller needs to pass in number of generic,
10317021Sdim# floating point, and vector parameters, so that we only spill those live ones.
11317021Sdim	std 3, 32(1)
12317021Sdim	ld 3, 400(1) # FuncId
13317021Sdim	std 4, 40(1)
14317021Sdim	std 5, 48(1)
15317021Sdim	std 6, 56(1)
16317021Sdim	std 7, 64(1)
17317021Sdim	std 8, 72(1)
18317021Sdim	std 9, 80(1)
19317021Sdim	std 10, 88(1)
20317021Sdim	addi 4, 1, 96
21317021Sdim	stxsdx 1, 0, 4
22317021Sdim	addi 4, 1, 104
23317021Sdim	stxsdx 2, 0, 4
24317021Sdim	addi 4, 1, 112
25317021Sdim	stxsdx 3, 0, 4
26317021Sdim	addi 4, 1, 120
27317021Sdim	stxsdx 4, 0, 4
28317021Sdim	addi 4, 1, 128
29317021Sdim	stxsdx 5, 0, 4
30317021Sdim	addi 4, 1, 136
31317021Sdim	stxsdx 6, 0, 4
32317021Sdim	addi 4, 1, 144
33317021Sdim	stxsdx 7, 0, 4
34317021Sdim	addi 4, 1, 152
35317021Sdim	stxsdx 8, 0, 4
36317021Sdim	addi 4, 1, 160
37317021Sdim	stxsdx 9, 0, 4
38317021Sdim	addi 4, 1, 168
39317021Sdim	stxsdx 10, 0, 4
40317021Sdim	addi 4, 1, 176
41317021Sdim	stxsdx 11, 0, 4
42317021Sdim	addi 4, 1, 184
43317021Sdim	stxsdx 12, 0, 4
44317021Sdim	addi 4, 1, 192
45317021Sdim	stxsdx 13, 0, 4
46317021Sdim	addi 4, 1, 200
47317021Sdim	stxvd2x 34, 0, 4
48317021Sdim	addi 4, 1, 216
49317021Sdim	stxvd2x 35, 0, 4
50317021Sdim	addi 4, 1, 232
51317021Sdim	stxvd2x 36, 0, 4
52317021Sdim	addi 4, 1, 248
53317021Sdim	stxvd2x 37, 0, 4
54317021Sdim	addi 4, 1, 264
55317021Sdim	stxvd2x 38, 0, 4
56317021Sdim	addi 4, 1, 280
57317021Sdim	stxvd2x 39, 0, 4
58317021Sdim	addi 4, 1, 296
59317021Sdim	stxvd2x 40, 0, 4
60317021Sdim	addi 4, 1, 312
61317021Sdim	stxvd2x 41, 0, 4
62317021Sdim	addi 4, 1, 328
63317021Sdim	stxvd2x 42, 0, 4
64317021Sdim	addi 4, 1, 344
65317021Sdim	stxvd2x 43, 0, 4
66317021Sdim	addi 4, 1, 360
67317021Sdim	stxvd2x 44, 0, 4
68317021Sdim	addi 4, 1, 376
69317021Sdim	stxvd2x 45, 0, 4
70317021Sdim	std 2, 392(1)
71317021Sdim	mflr 0
72317021Sdim	std 0, 400(1)
73317021Sdim
74317021Sdim	li 4, 0
75317021Sdim	bl _ZN6__xray23CallXRayPatchedFunctionEi13XRayEntryType
76317021Sdim	nop
77317021Sdim
78317021Sdim	addi 4, 1, 96
79317021Sdim	lxsdx 1, 0, 4
80317021Sdim	addi 4, 1, 104
81317021Sdim	lxsdx 2, 0, 4
82317021Sdim	addi 4, 1, 112
83317021Sdim	lxsdx 3, 0, 4
84317021Sdim	addi 4, 1, 120
85317021Sdim	lxsdx 4, 0, 4
86317021Sdim	addi 4, 1, 128
87317021Sdim	lxsdx 5, 0, 4
88317021Sdim	addi 4, 1, 136
89317021Sdim	lxsdx 6, 0, 4
90317021Sdim	addi 4, 1, 144
91317021Sdim	lxsdx 7, 0, 4
92317021Sdim	addi 4, 1, 152
93317021Sdim	lxsdx 8, 0, 4
94317021Sdim	addi 4, 1, 160
95317021Sdim	lxsdx 9, 0, 4
96317021Sdim	addi 4, 1, 168
97317021Sdim	lxsdx 10, 0, 4
98317021Sdim	addi 4, 1, 176
99317021Sdim	lxsdx 11, 0, 4
100317021Sdim	addi 4, 1, 184
101317021Sdim	lxsdx 12, 0, 4
102317021Sdim	addi 4, 1, 192
103317021Sdim	lxsdx 13, 0, 4
104317021Sdim	addi 4, 1, 200
105317021Sdim	lxvd2x 34, 0, 4
106317021Sdim	addi 4, 1, 216
107317021Sdim	lxvd2x 35, 0, 4
108317021Sdim	addi 4, 1, 232
109317021Sdim	lxvd2x 36, 0, 4
110317021Sdim	addi 4, 1, 248
111317021Sdim	lxvd2x 37, 0, 4
112317021Sdim	addi 4, 1, 264
113317021Sdim	lxvd2x 38, 0, 4
114317021Sdim	addi 4, 1, 280
115317021Sdim	lxvd2x 39, 0, 4
116317021Sdim	addi 4, 1, 296
117317021Sdim	lxvd2x 40, 0, 4
118317021Sdim	addi 4, 1, 312
119317021Sdim	lxvd2x 41, 0, 4
120317021Sdim	addi 4, 1, 328
121317021Sdim	lxvd2x 42, 0, 4
122317021Sdim	addi 4, 1, 344
123317021Sdim	lxvd2x 43, 0, 4
124317021Sdim	addi 4, 1, 360
125317021Sdim	lxvd2x 44, 0, 4
126317021Sdim	addi 4, 1, 376
127317021Sdim	lxvd2x 45, 0, 4
128317021Sdim	ld 0, 400(1)
129317021Sdim	mtlr 0
130317021Sdim	ld 2, 392(1)
131317021Sdim	ld 3, 32(1)
132317021Sdim	ld 4, 40(1)
133317021Sdim	ld 5, 48(1)
134317021Sdim	ld 6, 56(1)
135317021Sdim	ld 7, 64(1)
136317021Sdim	ld 8, 72(1)
137317021Sdim	ld 9, 80(1)
138317021Sdim	ld 10, 88(1)
139317021Sdim
140317021Sdim	addi 1, 1, 408
141317021Sdim	ld 0, 16(1)
142317021Sdim	blr
143317021Sdim
144317021Sdim	.globl	__xray_FunctionExit
145317021Sdim	.p2align	4
146317021Sdim__xray_FunctionExit:
147317021Sdim	std 0, 16(1)
148318384Sdim	stdu 1, -256(1)
149318384Sdim# Spill r3-r4, f1-f8, and vsr34-vsr41, which are return registers.
150318384Sdim# If this appears to be slow, the caller needs to pass in number of generic,
151318384Sdim# floating point, and vector parameters, so that we only spill those live ones.
152317021Sdim	std 3, 32(1)
153318384Sdim	ld 3, 248(1) # FuncId
154318384Sdim	std 4, 40(1)
155318384Sdim	addi 4, 1, 48
156317021Sdim	stxsdx 1, 0, 4
157318384Sdim	addi 4, 1, 56
158318384Sdim	stxsdx 2, 0, 4
159318384Sdim	addi 4, 1, 64
160318384Sdim	stxsdx 3, 0, 4
161318384Sdim	addi 4, 1, 72
162318384Sdim	stxsdx 4, 0, 4
163318384Sdim	addi 4, 1, 80
164318384Sdim	stxsdx 5, 0, 4
165318384Sdim	addi 4, 1, 88
166318384Sdim	stxsdx 6, 0, 4
167318384Sdim	addi 4, 1, 96
168318384Sdim	stxsdx 7, 0, 4
169318384Sdim	addi 4, 1, 104
170318384Sdim	stxsdx 8, 0, 4
171318384Sdim	addi 4, 1, 112
172317021Sdim	stxvd2x 34, 0, 4
173318384Sdim	addi 4, 1, 128
174318384Sdim	stxvd2x 35, 0, 4
175318384Sdim	addi 4, 1, 144
176318384Sdim	stxvd2x 36, 0, 4
177318384Sdim	addi 4, 1, 160
178318384Sdim	stxvd2x 37, 0, 4
179318384Sdim	addi 4, 1, 176
180318384Sdim	stxvd2x 38, 0, 4
181318384Sdim	addi 4, 1, 192
182318384Sdim	stxvd2x 39, 0, 4
183318384Sdim	addi 4, 1, 208
184318384Sdim	stxvd2x 40, 0, 4
185318384Sdim	addi 4, 1, 224
186318384Sdim	stxvd2x 41, 0, 4
187318384Sdim	std 2, 240(1)
188317021Sdim	mflr 0
189318384Sdim	std 0, 248(1)
190318384Sdim
191317021Sdim	li 4, 1
192317021Sdim	bl _ZN6__xray23CallXRayPatchedFunctionEi13XRayEntryType
193317021Sdim	nop
194318384Sdim
195318384Sdim	addi 4, 1, 48
196318384Sdim	lxsdx 1, 0, 4
197318384Sdim	addi 4, 1, 56
198318384Sdim	lxsdx 2, 0, 4
199318384Sdim	addi 4, 1, 64
200318384Sdim	lxsdx 3, 0, 4
201318384Sdim	addi 4, 1, 72
202318384Sdim	lxsdx 4, 0, 4
203318384Sdim	addi 4, 1, 80
204318384Sdim	lxsdx 5, 0, 4
205318384Sdim	addi 4, 1, 88
206318384Sdim	lxsdx 6, 0, 4
207318384Sdim	addi 4, 1, 96
208318384Sdim	lxsdx 7, 0, 4
209318384Sdim	addi 4, 1, 104
210318384Sdim	lxsdx 8, 0, 4
211318384Sdim	addi 4, 1, 112
212318384Sdim	lxvd2x 34, 0, 4
213318384Sdim	addi 4, 1, 128
214318384Sdim	lxvd2x 35, 0, 4
215318384Sdim	addi 4, 1, 144
216318384Sdim	lxvd2x 36, 0, 4
217318384Sdim	addi 4, 1, 160
218318384Sdim	lxvd2x 37, 0, 4
219318384Sdim	addi 4, 1, 176
220318384Sdim	lxvd2x 38, 0, 4
221318384Sdim	addi 4, 1, 192
222318384Sdim	lxvd2x 39, 0, 4
223318384Sdim	addi 4, 1, 208
224318384Sdim	lxvd2x 40, 0, 4
225318384Sdim	addi 4, 1, 224
226318384Sdim	lxvd2x 41, 0, 4
227318384Sdim	ld 0, 248(1)
228317021Sdim	mtlr 0
229318384Sdim	ld 2, 240(1)
230317021Sdim	ld 3, 32(1)
231318384Sdim	ld 4, 40(1)
232318384Sdim
233318384Sdim	addi 1, 1, 256
234317021Sdim	ld 0, 16(1)
235317021Sdim	blr
236