1#include "asm-hppa64.h"
2	.LEVEL 2.0w
3	TEXT1()
4	TEXT2()
5	.align 8
6GLOBL(callback_receiver)
7		DECLARE_FUNCTION(callback_receiver)
8DEF(callback_receiver)
9	.PROC
10	.CALLINFO FRAME=384,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=9
11	.ENTRY
12	copy %r3,%r1
13	std %r2,-16(%r30)
14	copy %r30,%r3
15	std,ma %r1,384(%r30)
16	std %r5,224(%r3)
17	copy %r27,%r5
18	std %r9,192(%r3)
19	std %r8,200(%r3)
20	std %r7,208(%r3)
21	std %r6,216(%r3)
22	std %r4,232(%r3)
23	std %r26,-64(%r29)
24	std %r25,-56(%r29)
25	std %r19,-8(%r29)
26	std %r24,-48(%r29)
27	std %r23,-40(%r29)
28	std %r22,-32(%r29)
29	std %r21,-24(%r29)
30	std %r20,-16(%r29)
31	fstw %fr4R,88(%r3)
32	fstw %fr5R,92(%r3)
33	fstw %fr6R,96(%r3)
34	fstw %fr7R,100(%r3)
35	fstw %fr8R,104(%r3)
36	fstw %fr9R,108(%r3)
37	fstw %fr10R,112(%r3)
38	fstw %fr11R,116(%r3)
39	fstd %fr10,168(%r3)
40	ldo -64(%r29),%r2
41	ldo 16(%r3),%r25
42	std %r0,48(%r3)
43	std %r2,40(%r3)
44	std %r29,80(%r3)
45	ldo -16(%r30),%r29
46	fstd %fr11,176(%r3)
47	fstd %fr4,120(%r3)
48	fstd %fr5,128(%r3)
49	fstd %fr6,136(%r3)
50	fstd %fr7,144(%r3)
51	fstd %fr8,152(%r3)
52	fstd %fr9,160(%r3)
53	stw %r0,16(%r3)
54	stw %r0,56(%r3)
55	ldd 0(%r31),%r4
56	ldd 8(%r31),%r26
57	ldd 16(%r4),%r2
58	ldd 24(%r4),%r27
59	bve,l (%r2),%r2
60	nop
61	ldw 56(%r3),%r2
62	cmpib,= 0,%r2,L(1)
63	copy %r5,%r27
64	cmpib,=,n 1,%r2,L(43)
65	cmpib,=,n 2,%r2,L(43)
66	cmpib,=,n 3,%r2,L(44)
67	cmpib,=,n 4,%r2,L(45)
68	cmpib,=,n 5,%r2,L(46)
69	cmpib,=,n 6,%r2,L(47)
70	cmpib,=,n 7,%r2,L(41)
71	cmpib,=,n 8,%r2,L(40)
72	cmpib,=,n 10,%r2,L(40)
73	cmpib,=,n 9,%r2,L(40)
74	cmpib,=,n 11,%r2,L(40)
75	cmpib,=,n 12,%r2,L(48)
76	cmpib,=,n 13,%r2,L(49)
77	cmpib,=,n 14,%r2,L(40)
78	cmpib,= 15,%r2,L(50)
79	ldw 16(%r3),%r2
80DEF(L(1))
81	ldd -16(%r3),%r2
82	ldd 192(%r3),%r9
83	ldd 200(%r3),%r8
84	ldd 208(%r3),%r7
85	ldd 216(%r3),%r6
86	ldd 224(%r3),%r5
87	ldd 232(%r3),%r4
88	ldo 64(%r3),%r30
89	bve (%r2)
90	ldd,mb -64(%r30),%r3
91DEF(L(50))
92	extrd,u %r2,53+1-1,1,%r2
93	cmpib,= 0,%r2,L(1)
94	ldd 48(%r3),%r28
95	ldd 48(%r3),%r2
96	ldd 64(%r3),%r4
97	extrd,u %r2,63,3,%r7
98	copy %r2,%r1
99	depdi 0,63,3,%r1
100	cmpib,*<< 8,%r4,L(32)
101	add,l %r7,%r4,%r5
102	cmpib,*<< 8,%r5,L(33)
103	depd,z %r5,60,61,%r2
104	subi 64,%r2,%r2
105	ldd 0(%r1),%r4
106	extrd,s %r2,63,32,%r2
107	mtsarcm %r2
108	depd,z %r7,60,61,%r5
109	depdi,z 1,%sar,64,%r2
110	mtsarcm %r5
111	sub %r0,%r2,%r2
112	and %r4,%r2,%r4
113	depd,z %r4,%sar,64,%r4
114	b L(1)
115	copy %r4,%r28
116DEF(L(33))
117	subi 128,%r2,%r2
118	depd,z %r7,60,61,%r4
119	extrd,s %r2,63,32,%r2
120	subi 64,%r4,%r6
121	mtsarcm %r2
122	subi 63,%r4,%r8
123	depdi,z 1,%sar,64,%r2
124	mtsar %r8
125	ldd 8(%r1),%r5
126	sub %r0,%r2,%r2
127	extrd,s %r6,63,32,%r6
128	ldd 0(%r1),%r4
129	subi 63,%r6,%r6
130	and %r5,%r2,%r5
131	depd,z %r4,%sar,64,%r4
132	mtsar %r6
133	extrd,s %r5,%sar,64,%r5
134DEF(L(39))
135	b L(1)
136	or %r5,%r4,%r28
137DEF(L(32))
138	ldi 16,%r2
139	cmpb,*<< %r2,%r5,L(36)
140	depd,z %r5,60,61,%r2
141	subi 128,%r2,%r2
142	depd,z %r7,61,62,%r4
143	extrd,s %r2,63,32,%r2
144	subi 32,%r4,%r4
145	mtsarcm %r2
146	extrd,s %r4,63,32,%r4
147	depdi,z 1,%sar,64,%r2
148	subi 63,%r4,%r8
149	ldd 8(%r1),%r5
150	sub %r0,%r2,%r2
151	mtsar %r8
152	ldd 0(%r1),%r6
153	and %r5,%r2,%r5
154	depd,z %r7,60,61,%r2
155	extrd,s %r5,%sar,64,%r4
156	subi 63,%r2,%r2
157	extrd,s %r4,%sar,64,%r4
158	mtsar %r2
159	depd,z %r5,%sar,64,%r5
160	depd,z %r6,%sar,64,%r6
161	copy %r5,%r29
162	b L(1)
163	or %r6,%r4,%r28
164DEF(L(36))
165	subi 192,%r2,%r2
166	depd,z %r7,60,61,%r4
167	extrd,s %r2,63,32,%r2
168	subi 64,%r4,%r7
169	mtsarcm %r2
170	subi 63,%r4,%r9
171	depdi,z 1,%sar,64,%r2
172	mtsar %r9
173	ldd 8(%r1),%r4
174	sub %r0,%r2,%r2
175	ldd 16(%r1),%r6
176	extrd,s %r7,63,32,%r7
177	subi 63,%r7,%r7
178	and %r6,%r2,%r6
179	ldd 0(%r1),%r5
180	depd,z %r4,%sar,64,%r2
181	mtsar %r7
182	extrd,s %r6,%sar,64,%r6
183	mtsar %r9
184	depd,z %r5,%sar,64,%r5
185	or %r2,%r6,%r29
186	mtsar %r7
187	b L(39)
188	extrd,s %r4,%sar,64,%r4
189DEF(L(40))
190	b L(1)
191	ldd 24(%r3),%r28
192DEF(L(49))
193	b L(40)
194	fldd 24(%r3),%fr4
195DEF(L(48))
196	fldw 24(%r3),%fr4R
197DEF(L(41))
198	ldw 24(%r3),%r2
199DEF(L(42))
200	b L(1)
201	copy %r2,%r28
202DEF(L(47))
203	ldw 24(%r3),%r2
204	b L(1)
205	extrd,s %r2,63,32,%r28
206DEF(L(46))
207	b L(42)
208	ldh 24(%r3),%r2
209DEF(L(45))
210	ldh 24(%r3),%r2
211	b L(1)
212	extrd,s %r2,63,16,%r28
213DEF(L(44))
214	b L(42)
215	ldb 24(%r3),%r2
216DEF(L(43))
217	ldb 24(%r3),%r2
218	b L(1)
219	extrd,s %r2,63,8,%r28
220	.EXIT
221	.PROCEND
222DEF(L(fe1))
223	FUNEND(callback_receiver)
224	.data
225	.align 8
226DEF(L(C0))
227	.dword	P%callback_receiver
228	TEXT1()
229	TEXT2()
230	.align 8
231GLOBL(callback_get_receiver)
232		DECLARE_FUNCTION(callback_get_receiver)
233DEF(callback_get_receiver)
234	.PROC
235	.CALLINFO FRAME=128,NO_CALLS,SAVE_SP,ENTRY_GR=3
236	.ENTRY
237	copy %r3,%r1
238	copy %r30,%r3
239	std,ma %r1,128(%r30)
240	addil LT!L(C0),%r27
241	ldd RT!L(C0)(%r1),%r1
242	ldd 0(%r1),%r28
243	ldo 64(%r3),%r30
244	bve (%r2)
245	ldd,mb -64(%r30),%r3
246	.EXIT
247	.PROCEND
248DEF(L(fe2))
249	FUNEND(callback_get_receiver)
250#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
251	.section .note.GNU-stack,"",@progbits
252#endif
253