1	.file	"vacall-sparc64.c"
2	.section	".text"
3	.align 4
4	.global callback_receiver
5	.type	callback_receiver, #function
6	.proc	020
7callback_receiver:
8	.register	%g2, #scratch
9	.register	%g3, #scratch
10	save	%sp, -448, %sp
11	stx	%i0, [%fp+2175]
12	stx	%i1, [%fp+2183]
13	stx	%i2, [%fp+2191]
14	stx	%i3, [%fp+2199]
15	stx	%i4, [%fp+2207]
16	stx	%i5, [%fp+2215]
17	std	%f0, [%fp+1903]
18	std	%f2, [%fp+1911]
19	std	%f4, [%fp+1919]
20	std	%f6, [%fp+1927]
21	std	%f8, [%fp+1935]
22	std	%f10, [%fp+1943]
23	std	%f12, [%fp+1951]
24	std	%f14, [%fp+1959]
25	std	%f16, [%fp+1967]
26	std	%f18, [%fp+1975]
27	std	%f20, [%fp+1983]
28	std	%f22, [%fp+1991]
29	std	%f24, [%fp+1999]
30	std	%f26, [%fp+2007]
31	std	%f28, [%fp+2015]
32	std	%f30, [%fp+2023]
33	st	%f1, [%fp+1835]
34	st	%f3, [%fp+1839]
35	st	%f5, [%fp+1843]
36	st	%f7, [%fp+1847]
37	st	%f9, [%fp+1851]
38	st	%f11, [%fp+1855]
39	st	%f13, [%fp+1859]
40	st	%f15, [%fp+1863]
41	st	%f17, [%fp+1867]
42	st	%f19, [%fp+1871]
43	st	%f21, [%fp+1875]
44	st	%f23, [%fp+1879]
45	add	%fp, 2175, %g2
46	stx	%g0, [%fp+1807]
47	st	%f25, [%fp+1883]
48	st	%f27, [%fp+1887]
49	st	%f29, [%fp+1891]
50	st	%f31, [%fp+1895]
51	st	%g0, [%fp+1775]
52	st	%g0, [%fp+1815]
53	st	%g0, [%fp+1831]
54	ldx	[%g5+8], %o0
55	stx	%g2, [%fp+1799]
56	ldx	[%g5], %g3
57	call	%g3, 0
58	 add	%fp, 1775, %o1
59	lduw	[%fp+1815], %g1
60	cmp	%g1, 0
61	be,pn	%icc, .LL61
62	 cmp	%g1, 1
63	be,pn	%icc, .LL50
64	 cmp	%g1, 2
65	be,pn	%icc, .LL50
66	 cmp	%g1, 3
67	be,pn	%icc, .LL53
68	 cmp	%g1, 4
69	be,pn	%icc, .LL54
70	 cmp	%g1, 5
71	be,pn	%icc, .LL55
72	 cmp	%g1, 6
73	be,pn	%icc, .LL56
74	 cmp	%g1, 7
75	be,pn	%icc, .LL57
76	 cmp	%g1, 8
77	be,pn	%icc, .LL51
78	 cmp	%g1, 9
79	be,pn	%icc, .LL51
80	 cmp	%g1, 10
81	be,pn	%icc, .LL51
82	 cmp	%g1, 11
83	be,pn	%icc, .LL51
84	 cmp	%g1, 12
85	be,pn	%icc, .LL58
86	 cmp	%g1, 13
87	be,pn	%icc, .LL59
88	 cmp	%g1, 14
89	be,pn	%icc, .LL51
90	 cmp	%g1, 15
91	bne,pt	%icc, .LL61
92	 lduw	[%fp+1775], %g1
93	andcc	%g1, 1024, %g0
94	be,pn	%xcc, .LL61
95	 ldx	[%fp+1823], %o5
96	add	%o5, -1, %g1
97	cmp	%g1, 31
98	bgu,pn	%xcc, .LL61
99	 ldx	[%fp+1807], %g1
100	cmp	%o5, 8
101	and	%g1, 7, %o1
102	and	%g1, -8, %l1
103	bgu,pt	%xcc, .LL35
104	 add	%o5, %o1, %g2
105	cmp	%g2, 8
106	bgu,pt	%xcc, .LL37
107	 sllx	%o1, 3, %g4
108	sllx	%g2, 3, %g2
109	ldx	[%l1], %g3
110	sub	%g0, %g2, %g2
111	mov	-1, %g1
112	sllx	%g1, %g2, %g1
113	and	%g1, %g3, %g1
114	return	%i7+8
115	 sllx	%g1, %g4, %o0
116.LL47:
117	ldx	[%l1], %g1
118	sllx	%g1, %o3, %g1
119	ldx	[%l1+8], %g4
120	ldx	[%l1+16], %o5
121	sllx	%g4, %o3, %o0
122	sllx	%o5, %o3, %o7
123	ldx	[%l1+24], %o4
124	sllx	%g2, 3, %o2
125	sllx	%o4, %o3, %l0
126	ldx	[%l1+32], %o1
127	sub	%g0, %o2, %o2
128	mov	64, %g3
129	sub	%g3, %o3, %g3
130	srax	%g4, %g3, %g4
131	srax	%o5, %g3, %o5
132	or	%g1, %g4, %i0
133	srax	%o4, %g3, %o4
134	mov	-1, %g1
135	or	%o0, %o5, %i1
136	sllx	%g1, %o2, %g1
137	or	%o7, %o4, %i2
138	and	%g1, %o1, %g1
139	srax	%g1, %g3, %g1
140	or	%l0, %g1, %i3
141.LL61:
142	return	%i7+8
143	 nop
144.LL50:
145	ldsb	[%fp+1783], %i0
146	return	%i7+8
147	 nop
148.LL54:
149	ldsh	[%fp+1783], %i0
150	return	%i7+8
151	 nop
152.LL53:
153	ldub	[%fp+1783], %i0
154	return	%i7+8
155	 nop
156.LL51:
157	ldx	[%fp+1783], %i0
158	return	%i7+8
159	 nop
160.LL55:
161	lduh	[%fp+1783], %i0
162	return	%i7+8
163	 nop
164.LL56:
165	ldsw	[%fp+1783], %i0
166	return	%i7+8
167	 nop
168.LL57:
169	lduw	[%fp+1783], %i0
170	return	%i7+8
171	 nop
172.LL58:
173	ld	[%fp+1783], %f0
174	return	%i7+8
175	 nop
176.LL59:
177	ldd	[%fp+1783], %f0
178	return	%i7+8
179	 nop
180.LL35:
181	cmp	%o5, 16
182	bgu,pt	%xcc, .LL39
183	 cmp	%o5, 24
184	cmp	%g2, 16
185	bgu,pt	%xcc, .LL41
186	 sllx	%o1, 3, %o4
187	sllx	%g2, 3, %g3
188	ldx	[%l1+8], %g2
189	sll	%o1, 3, %o5
190	sllx	%o1, 2, %o4
191	sub	%g0, %g3, %g3
192	ldx	[%l1], %g4
193	mov	-1, %g1
194	sllx	%g4, %o5, %g4
195	sllx	%g1, %g3, %g1
196	and	%g1, %g2, %g1
197	mov	32, %g2
198	sllx	%g1, %o5, %i1
199	sub	%g2, %o4, %g2
200	srax	%g1, %g2, %g1
201	srax	%g1, %g2, %g1
202	return	%i7+8
203	 or	%g4, %g1, %o0
204.LL37:
205	sllx	%g2, 3, %g3
206	ldx	[%l1+8], %o5
207	sub	%g0, %g3, %g3
208	sub	%g0, %g4, %o4
209	ldx	[%l1], %g2
210	mov	-1, %g1
211	sllx	%g2, %g4, %g2
212	sllx	%g1, %g3, %g1
213	and	%g1, %o5, %g1
214	srax	%g1, %o4, %g1
215	return	%i7+8
216	 or	%g2, %g1, %o0
217.LL39:
218	bgu,pt	%xcc, .LL43
219	 cmp	%g2, 32
220	cmp	%g2, 24
221	bgu,pt	%xcc, .LL45
222	 sllx	%o1, 3, %o3
223	sllx	%o1, 2, %g1
224	sll	%o1, 3, %o5
225	sllx	%g2, 3, %o4
226	ldx	[%l1+8], %g3
227	ldx	[%l1+16], %o3
228	sllx	%g3, %o5, %o2
229	sub	%g0, %o4, %o4
230	mov	32, %g4
231	ldx	[%l1], %g2
232	sub	%g4, %g1, %g4
233	sllx	%g2, %o5, %g2
234	srax	%g3, %g4, %g3
235	mov	-1, %g1
236	srax	%g3, %g4, %g3
237	sllx	%g1, %o4, %g1
238	and	%g1, %o3, %g1
239	sllx	%g1, %o5, %i2
240	srax	%g1, %g4, %g1
241	srax	%g1, %g4, %g1
242	or	%o2, %g1, %i1
243	return	%i7+8
244	 or	%g2, %g3, %o0
245.LL41:
246	sllx	%g2, 3, %o5
247	ldx	[%l1+8], %g3
248	ldx	[%l1+16], %o3
249	sllx	%g3, %o4, %o2
250	sub	%g0, %o5, %o5
251	mov	64, %g4
252	ldx	[%l1], %g2
253	sub	%g4, %o4, %g4
254	sllx	%g2, %o4, %g2
255	srax	%g3, %g4, %g3
256	mov	-1, %g1
257	sllx	%g1, %o5, %g1
258	and	%g1, %o3, %g1
259	srax	%g1, %g4, %g1
260	or	%o2, %g1, %i1
261	return	%i7+8
262	 or	%g2, %g3, %o0
263.LL45:
264	ldx	[%l1], %g1
265	sllx	%g1, %o3, %g1
266	ldx	[%l1+8], %g3
267	ldx	[%l1+16], %g4
268	sllx	%g3, %o3, %o2
269	sllx	%g4, %o3, %o0
270	sllx	%g2, 3, %o4
271	ldx	[%l1+24], %o1
272	sub	%g0, %o4, %o4
273	mov	64, %o5
274	sub	%o5, %o3, %o5
275	srax	%g3, %o5, %g3
276	srax	%g4, %o5, %g4
277	or	%g1, %g3, %i0
278	or	%o2, %g4, %i1
279	mov	-1, %g1
280	sllx	%g1, %o4, %g1
281	and	%g1, %o1, %g1
282	srax	%g1, %o5, %g1
283	or	%o0, %g1, %i2
284	return	%i7+8
285	 nop
286.LL43:
287	bgu,pt	%xcc, .LL47
288	 sllx	%o1, 3, %o3
289	sll	%o1, 3, %o4
290	ldx	[%l1], %g1
291	sllx	%g1, %o4, %g1
292	sllx	%o1, 2, %o3
293	sllx	%g2, 3, %o5
294	ldx	[%l1+8], %g3
295	ldx	[%l1+16], %g4
296	sllx	%g3, %o4, %o1
297	sllx	%g4, %o4, %o0
298	ldx	[%l1+24], %o2
299	sub	%g0, %o5, %o5
300	mov	32, %g2
301	sub	%g2, %o3, %g2
302	srax	%g3, %g2, %g3
303	srax	%g4, %g2, %g4
304	srax	%g3, %g2, %g3
305	srax	%g4, %g2, %g4
306	or	%g1, %g3, %i0
307	or	%o1, %g4, %i1
308	mov	-1, %g1
309	sllx	%g1, %o5, %g1
310	and	%g1, %o2, %g1
311	sllx	%g1, %o4, %i3
312	srax	%g1, %g2, %g1
313	srax	%g1, %g2, %g1
314	or	%o0, %g1, %i2
315	return	%i7+8
316	 nop
317	.size	callback_receiver, .-callback_receiver
318	.ident	"GCC: (GNU) 4.0.2"
319	.section	".note.GNU-stack"
320