1	.file	"vacall-ia64.c"
2	.pred.safe_across_calls p1-p5,p16-p63
3	.text
4	.align 16
5	.proc callback_receiver#
6callback_receiver:
7	.prologue 14, 42
8	.spill 48
9	.mmb
10	.save ar.pfs, r43
11	alloc r43 = ar.pfs, 8, 6, 2, 0
12	.vframe r44
13	mov r44 = r12
14	nop 0
15	.mmi
16	adds r12 = -208, r12
17	adds r18 = 8, r15
18	mov r45 = r1
19	;;
20	.mmi
21	adds r16 = -48, r44
22	adds r14 = -136, r44
23	adds r17 = -48, r44
24	.mmi
25	adds r40 = -152, r44
26	adds r47 = -192, r44
27	adds r41 = -160, r44
28	;;
29	.mmb
30	st8 [r14] = r8
31	adds r14 = -32, r44
32	nop 0
33	.mfi
34	st8 [r16] = r32, 8
35	nop 0
36	.save rp, r42
37	mov r42 = b0
38	.body
39	;;
40	.mfi
41	st8 [r14] = r34
42	nop 0
43	adds r14 = -24, r44
44	.mmb
45	st8 [r16] = r33
46	ld8 r16 = [r15]
47	nop 0
48	;;
49	.mmi
50	nop 0
51	st8 [r14] = r35
52	adds r14 = -16, r44
53	.mmi
54	st8 [r41] = r0
55	;;
56	st8 [r14] = r36
57	adds r14 = -8, r44
58	.mmb
59	st4 [r40] = r0
60	ld8 r46 = [r18]
61	nop 0
62	;;
63	.mmi
64	nop 0
65	st8 [r14] = r37
66	adds r14 = 8, r44
67	.mmi
68	st8 [r44] = r38
69	;;
70	st8 [r14] = r39
71	adds r14 = -112, r44
72	.mmi
73	st4 [r47] = r0
74	;;
75	stfd [r14] = f8
76	nop 0
77	.mmi
78	adds r14 = -104, r44
79	;;
80	stfd [r14] = f9
81	adds r14 = -96, r44
82	;;
83	.mfi
84	stfd [r14] = f10
85	nop 0
86	adds r14 = -88, r44
87	.mmi
88	nop 0
89	;;
90	stfd [r14] = f11
91	nop 0
92	.mmi
93	adds r14 = -80, r44
94	;;
95	stfd [r14] = f12
96	adds r14 = -72, r44
97	;;
98	.mfi
99	stfd [r14] = f13
100	nop 0
101	adds r14 = -64, r44
102	.mmi
103	nop 0
104	;;
105	stfd [r14] = f14
106	nop 0
107	.mmi
108	adds r14 = -56, r44
109	;;
110	stfd [r14] = f15
111	adds r14 = -168, r44
112	;;
113	.mii
114	st8 [r14] = r17
115	adds r14 = -128, r44
116	;;
117	nop 0
118	.mii
119	st8 [r14] = r17
120	adds r14 = -120, r44
121	;;
122	nop 0
123	.mmb
124	st4 [r14] = r0
125	ld8 r14 = [r16], 8
126	nop 0
127	;;
128	.mib
129	nop 0
130	mov b6 = r14
131	nop 0
132	.mbb
133	ld8 r1 = [r16]
134	nop 0
135	br.call.sptk.many b0 = b6
136	;;
137	.mmb
138	mov r1 = r45
139	ld4 r40 = [r40]
140	nop 0
141	;;
142	.mfb
143	cmp4.eq p6, p7 = 0, r40
144	nop 0
145	(p6) br.cond.dpnt .L49
146	;;
147	.mfb
148	cmp4.ne p6, p7 = 1, r40
149	nop 0
150	(p7) br.cond.dpnt .L50
151	;;
152	.mfb
153	cmp4.ne p6, p7 = 2, r40
154	nop 0
155	(p7) br.cond.dpnt .L50
156	;;
157	.mii
158	nop 0
159	cmp4.ne p6, p7 = 3, r40
160	;;
161	(p7) adds r14 = -184, r44
162	;;
163	.mfb
164	(p7) ld1 r8 = [r14]
165	nop 0
166	(p7) br.cond.dpnt .L49
167	.mii
168	nop 0
169	cmp4.ne p6, p7 = 4, r40
170	;;
171	nop 0
172	.mmi
173	(p7) adds r14 = -184, r44
174	;;
175	(p7) ld2 r14 = [r14]
176	nop 0
177	;;
178	.mib
179	nop 0
180	(p7) sxt2 r8 = r14
181	(p7) br.cond.dpnt .L49
182	.mii
183	nop 0
184	cmp4.ne p6, p7 = 5, r40
185	;;
186	(p7) adds r14 = -184, r44
187	;;
188	.mfb
189	(p7) ld2 r8 = [r14]
190	nop 0
191	(p7) br.cond.dpnt .L49
192	.mii
193	nop 0
194	cmp4.ne p6, p7 = 6, r40
195	;;
196	nop 0
197	.mmi
198	(p7) adds r14 = -184, r44
199	;;
200	(p7) ld4 r14 = [r14]
201	nop 0
202	;;
203	.mib
204	nop 0
205	(p7) sxt4 r8 = r14
206	(p7) br.cond.dpnt .L49
207	.mii
208	nop 0
209	cmp4.ne p6, p7 = 7, r40
210	;;
211	(p7) adds r14 = -184, r44
212	;;
213	.mfb
214	(p7) ld4 r8 = [r14]
215	nop 0
216	(p7) br.cond.dpnt .L49
217	.mfb
218	cmp4.ne p6, p7 = 8, r40
219	nop 0
220	(p7) br.cond.dpnt .L54
221	;;
222	.mfb
223	cmp4.ne p6, p7 = 9, r40
224	nop 0
225	(p7) br.cond.dpnt .L54
226	;;
227	.mfb
228	cmp4.ne p6, p7 = 10, r40
229	nop 0
230	(p7) br.cond.dpnt .L54
231	;;
232	.mfb
233	cmp4.ne p6, p7 = 11, r40
234	nop 0
235	(p7) br.cond.dpnt .L54
236	;;
237	.mii
238	nop 0
239	cmp4.ne p6, p7 = 12, r40
240	;;
241	(p7) adds r14 = -184, r44
242	;;
243	.mfb
244	(p7) ldfs f8 = [r14]
245	nop 0
246	(p7) br.cond.dpnt .L49
247	.mii
248	nop 0
249	cmp4.ne p6, p7 = 13, r40
250	;;
251	(p7) adds r14 = -184, r44
252	;;
253	.mfb
254	(p7) ldfd f8 = [r14]
255	nop 0
256	(p7) br.cond.dpnt .L49
257	.mfb
258	cmp4.ne p6, p7 = 14, r40
259	nop 0
260	(p7) br.cond.dpnt .L54
261	;;
262	.mib
263	nop 0
264	cmp4.ne p6, p7 = 15, r40
265	(p6) br.cond.dptk .L49
266	.mii
267	nop 0
268	adds r16 = -192, r44
269	;;
270	nop 0
271	.mmi
272	ld4 r14 = [r16]
273	;;
274	nop 0
275	tbit.z p6, p7 = r14, 10
276	.mfb
277	adds r14 = -144, r44
278	nop 0
279	(p6) br.cond.dpnt .L49
280	;;
281	.mmi
282	ld8 r22 = [r14]
283	;;
284	adds r14 = -1, r22
285	nop 0
286	;;
287	.mib
288	nop 0
289	cmp.ltu p6, p7 = 31, r14
290	(p6) br.cond.dpnt .L49
291	.mmi
292	ld8 r14 = [r41]
293	;;
294	and r21 = 7, r14
295	and r24 = -8, r14
296	.mii
297	nop 0
298	cmp.ltu p6, p7 = 8, r22
299	;;
300	nop 0
301	.mfb
302	add r14 = r22, r21
303	nop 0
304	(p6) br.cond.dptk .L35
305	;;
306	.mib
307	nop 0
308	cmp.ltu p6, p7 = 8, r14
309	(p6) br.cond.dptk .L37
310	.mfi
311	shladd r16 = r14, 3, r0
312	nop 0
313	addl r14 = 2, r0
314	.mii
315	ld8 r17 = [r24]
316	shladd r18 = r21, 3, r0
317	;;
318	adds r16 = -1, r16
319	;;
320	.mii
321	nop 0
322	sxt4 r16 = r16
323	;;
324	shl r14 = r14, r16
325	;;
326	.mmi
327	adds r14 = -1, r14
328	;;
329	and r14 = r17, r14
330	nop 0
331	.mmi
332	nop 0
333	;;
334	nop 0
335	shr r8 = r14, r18
336.L49:
337	.mii
338	nop 0
339	mov ar.pfs = r43
340	mov b0 = r42
341	.mib
342	nop 0
343	.label_state 1
344	.restore sp
345	mov r12 = r44
346	br.ret.sptk.many b0
347.L50:
348	.body
349	.copy_state 1
350	.mii
351	nop 0
352	adds r14 = -184, r44
353	;;
354	nop 0
355	.mii
356	ld1 r14 = [r14]
357	nop 0
358	;;
359	sxt1 r8 = r14
360	.mii
361	nop 0
362	mov ar.pfs = r43
363	mov b0 = r42
364	.mib
365	nop 0
366	.label_state 2
367	.restore sp
368	mov r12 = r44
369	br.ret.sptk.many b0
370.L54:
371	.body
372	.copy_state 2
373	.mmb
374	nop 0
375	adds r14 = -184, r44
376	nop 0
377	;;
378	.mii
379	ld8 r8 = [r14]
380	mov ar.pfs = r43
381	mov b0 = r42
382	.mib
383	nop 0
384	.label_state 3
385	.restore sp
386	mov r12 = r44
387	br.ret.sptk.many b0
388.L35:
389	.body
390	.copy_state 3
391	.mib
392	nop 0
393	cmp.ltu p6, p7 = 16, r22
394	(p6) br.cond.dptk .L39
395	;;
396	.mib
397	nop 0
398	cmp.ltu p6, p7 = 16, r14
399	(p6) br.cond.dptk .L41
400	.mmi
401	shladd r16 = r14, 3, r0
402	adds r14 = 8, r24
403	shladd r17 = r21, 2, r0
404	.mmb
405	shladd r19 = r21, 3, r0
406	ld8 r18 = [r24]
407	nop 0
408	;;
409	.mfi
410	ld8 r20 = [r14]
411	nop 0
412	addl r14 = 2, r0
413	.mii
414	adds r16 = -65, r16
415	sub r17 = 32, r17
416	;;
417	sxt4 r16 = r16
418	.mii
419	nop 0
420	sxt4 r17 = r17
421	shr r18 = r18, r19
422	;;
423	.mii
424	nop 0
425	shl r14 = r14, r16
426	;;
427	adds r14 = -1, r14
428	;;
429	.mii
430	nop 0
431	and r14 = r20, r14
432	;;
433	shl r16 = r14, r17
434	.mii
435	nop 0
436	shr r9 = r14, r19
437	;;
438	shl r16 = r16, r17
439	;;
440	.mii
441	or r8 = r16, r18
442	mov ar.pfs = r43
443	mov b0 = r42
444	.mib
445	nop 0
446	.label_state 4
447	.restore sp
448	mov r12 = r44
449	br.ret.sptk.many b0
450.L37:
451	.body
452	.copy_state 4
453	.mfi
454	shladd r16 = r14, 3, r0
455	nop 0
456	addl r14 = 2, r0
457	.mii
458	ld8 r18 = [r24], 8
459	shladd r19 = r21, 3, r0
460	;;
461	adds r16 = -65, r16
462	.mii
463	ld8 r20 = [r24]
464	sub r17 = 64, r19
465	;;
466	sxt4 r16 = r16
467	.mii
468	nop 0
469	sxt4 r17 = r17
470	;;
471	shl r14 = r14, r16
472	.mii
473	nop 0
474	shr r18 = r18, r19
475	;;
476	adds r14 = -1, r14
477	;;
478	.mii
479	nop 0
480	and r14 = r20, r14
481	;;
482	shl r14 = r14, r17
483	;;
484	.mii
485	or r8 = r14, r18
486	mov ar.pfs = r43
487	mov b0 = r42
488	.mib
489	nop 0
490	.label_state 5
491	.restore sp
492	mov r12 = r44
493	br.ret.sptk.many b0
494.L39:
495	.body
496	.copy_state 5
497	.mib
498	nop 0
499	cmp.ltu p6, p7 = 24, r22
500	(p6) br.cond.dptk .L43
501	;;
502	.mib
503	nop 0
504	cmp.ltu p6, p7 = 24, r14
505	(p6) br.cond.dptk .L45
506	.mmi
507	shladd r16 = r14, 3, r0
508	adds r14 = 8, r24
509	shladd r17 = r21, 2, r0
510	.mmb
511	shladd r20 = r21, 3, r0
512	ld8 r19 = [r24], 16
513	nop 0
514	;;
515	.mmi
516	ld8 r18 = [r14]
517	addl r14 = 2, r0
518	adds r16 = -65, r16
519	.mmb
520	sub r17 = 32, r17
521	ld8 r21 = [r24]
522	nop 0
523	;;
524	.mii
525	nop 0
526	sxt4 r16 = r16
527	sxt4 r17 = r17
528	.mii
529	nop 0
530	shr r19 = r19, r20
531	;;
532	shl r14 = r14, r16
533	.mii
534	nop 0
535	shl r16 = r18, r17
536	shr r18 = r18, r20
537	;;
538	.mii
539	nop 0
540	shl r16 = r16, r17
541	adds r14 = -1, r14
542	;;
543	.mii
544	and r14 = r21, r14
545	or r8 = r16, r19
546	;;
547	shl r16 = r14, r17
548	.mii
549	nop 0
550	shr r10 = r14, r20
551	;;
552	shl r16 = r16, r17
553	;;
554	.mii
555	or r9 = r16, r18
556	mov ar.pfs = r43
557	mov b0 = r42
558	.mib
559	nop 0
560	.label_state 6
561	.restore sp
562	mov r12 = r44
563	br.ret.sptk.many b0
564.L41:
565	.body
566	.copy_state 6
567	.mfi
568	shladd r17 = r14, 3, r0
569	nop 0
570	adds r14 = 8, r24
571	.mfi
572	ld8 r19 = [r24], 16
573	nop 0
574	shladd r16 = r21, 3, r0
575	;;
576	.mmi
577	ld8 r18 = [r14]
578	addl r14 = 2, r0
579	adds r17 = -129, r17
580	.mmi
581	ld8 r21 = [r24]
582	mov r20 = r16
583	sub r16 = 64, r16
584	;;
585	.mii
586	nop 0
587	sxt4 r17 = r17
588	sxt4 r16 = r16
589	;;
590	.mii
591	nop 0
592	shl r14 = r14, r17
593	shr r19 = r19, r20
594	.mii
595	nop 0
596	shl r17 = r18, r16
597	shr r18 = r18, r20
598	;;
599	.mmi
600	adds r14 = -1, r14
601	;;
602	and r14 = r21, r14
603	or r8 = r17, r19
604	;;
605	.mib
606	nop 0
607	shl r14 = r14, r16
608	nop 0
609	;;
610	.mii
611	or r9 = r14, r18
612	mov ar.pfs = r43
613	mov b0 = r42
614	.mib
615	nop 0
616	.label_state 7
617	.restore sp
618	mov r12 = r44
619	br.ret.sptk.many b0
620.L45:
621	.body
622	.copy_state 7
623	.mmi
624	shladd r17 = r14, 3, r0
625	adds r14 = 24, r24
626	shladd r16 = r21, 3, r0
627	.mmi
628	adds r19 = 8, r24
629	ld8 r21 = [r24]
630	adds r20 = 16, r24
631	;;
632	.mmi
633	ld8 r23 = [r14]
634	addl r14 = 2, r0
635	adds r17 = -129, r17
636	.mmi
637	mov r18 = r16
638	ld8 r19 = [r19]
639	sub r16 = 64, r16
640	;;
641	.mib
642	nop 0
643	sxt4 r17 = r17
644	nop 0
645	.mii
646	ld8 r20 = [r20]
647	sxt4 r16 = r16
648	;;
649	shl r14 = r14, r17
650	.mii
651	nop 0
652	shr r22 = r20, r18
653	shl r17 = r19, r16
654	.mii
655	nop 0
656	shr r21 = r21, r18
657	shr r19 = r19, r18
658	.mii
659	nop 0
660	shl r20 = r20, r16
661	;;
662	nop 0
663	.mmi
664	adds r14 = -1, r14
665	;;
666	and r14 = r23, r14
667	or r8 = r17, r21
668	.mii
669	nop 0
670	or r9 = r20, r19
671	;;
672	shl r14 = r14, r16
673	;;
674	.mii
675	or r10 = r14, r22
676	mov ar.pfs = r43
677	mov b0 = r42
678	.mib
679	nop 0
680	.label_state 8
681	.restore sp
682	mov r12 = r44
683	br.ret.sptk.many b0
684.L43:
685	.body
686	.copy_state 8
687	.mib
688	nop 0
689	cmp.ltu p6, p7 = 32, r14
690	(p6) br.cond.dptk .L47
691	.mmi
692	adds r16 = 24, r24
693	shladd r14 = r14, 3, r0
694	adds r18 = 8, r24
695	.mmi
696	shladd r17 = r21, 2, r0
697	adds r19 = 16, r24
698	shladd r21 = r21, 3, r0
699	;;
700	.mmi
701	nop 0
702	ld8 r23 = [r16]
703	addl r16 = 2, r0
704	.mmi
705	adds r14 = -65, r14
706	ld8 r20 = [r18]
707	sub r17 = 32, r17
708	;;
709	.mii
710	nop 0
711	sxt4 r14 = r14
712	sxt4 r17 = r17
713	.mmb
714	ld8 r22 = [r19]
715	ld8 r19 = [r24]
716	nop 0
717	;;
718	.mii
719	nop 0
720	shl r16 = r16, r14
721	shl r14 = r20, r17
722	.mii
723	nop 0
724	shr r19 = r19, r21
725	shl r18 = r22, r17
726	;;
727	.mii
728	nop 0
729	shl r14 = r14, r17
730	shr r20 = r20, r21
731	.mii
732	adds r16 = -1, r16
733	shl r18 = r18, r17
734	shr r22 = r22, r21
735	;;
736	.mmi
737	nop 0
738	and r16 = r23, r16
739	or r8 = r14, r19
740	.mmi
741	or r9 = r18, r20
742	;;
743	nop 0
744	shl r14 = r16, r17
745	.mii
746	nop 0
747	shr r11 = r16, r21
748	;;
749	shl r14 = r14, r17
750	;;
751	.mii
752	or r10 = r14, r22
753	mov ar.pfs = r43
754	mov b0 = r42
755	.mib
756	nop 0
757	.label_state 9
758	.restore sp
759	mov r12 = r44
760	br.ret.sptk.many b0
761.L47:
762	.body
763	.copy_state 9
764	.mmb
765	shladd r17 = r14, 3, r0
766	adds r14 = 32, r24
767	nop 0
768	.mmi
769	adds r19 = 8, r24
770	adds r20 = 16, r24
771	shladd r16 = r21, 3, r0
772	;;
773	.mfi
774	ld8 r23 = [r14]
775	nop 0
776	adds r14 = 24, r24
777	.mmi
778	ld8 r21 = [r19]
779	adds r17 = -129, r17
780	mov r18 = r16
781	.mfi
782	ld8 r19 = [r20]
783	nop 0
784	sub r16 = 64, r16
785	;;
786	.mmi
787	ld8 r20 = [r14]
788	addl r14 = 2, r0
789	sxt4 r17 = r17
790	.mii
791	nop 0
792	sxt4 r16 = r16
793	;;
794	shl r22 = r21, r16
795	.mii
796	nop 0
797	shr r21 = r21, r18
798	shl r14 = r14, r17
799	.mii
800	ld8 r17 = [r24]
801	shr r24 = r20, r18
802	shl r20 = r20, r16
803	;;
804	.mii
805	nop 0
806	shr r17 = r17, r18
807	shr r18 = r19, r18
808	.mii
809	adds r14 = -1, r14
810	shl r19 = r19, r16
811	;;
812	and r14 = r23, r14
813	.mmi
814	nop 0
815	or r8 = r22, r17
816	or r10 = r20, r18
817	.mii
818	nop 0
819	or r9 = r19, r21
820	;;
821	shl r14 = r14, r16
822	;;
823	.mii
824	or r11 = r14, r24
825	mov ar.pfs = r43
826	mov b0 = r42
827	.mib
828	nop 0
829	.restore sp
830	mov r12 = r44
831	br.ret.sptk.many b0
832	.endp callback_receiver#
833	.align 16
834	.global callback_get_receiver#
835	.proc callback_get_receiver#
836callback_get_receiver:
837	.prologue 2, 2
838	.mfi
839	.vframe r2
840	mov r2 = r12
841	.body
842	nop 0
843	addl r8 = @ltoff(@fptr(callback_receiver#)), gp
844	;;
845	.mib
846	ld8 r8 = [r8]
847	.restore sp
848	mov r12 = r2
849	br.ret.sptk.many b0
850	.endp callback_get_receiver#
851	.ident	"GCC: (GNU) 4.0.1"
852