1	.file	"vacall-riscv64.c"
2	.option pic
3	.text
4	.align	1
5	.type	callback_receiver, @function
6callback_receiver:
7	add	sp,sp,-288
8	sd	ra,264(sp)
9	sd	s0,256(sp)
10	sd	s1,248(sp)
11	add	s0,sp,272
12	sd	s2,240(sp)
13	sd	a1,-192(s0)
14	add	a1,s0,16
15	ld	t3,0(t2)
16	sd	a7,8(s0)
17	sd	a2,-184(s0)
18	sd	a3,-176(s0)
19	sd	a4,-168(s0)
20	sd	a5,-160(s0)
21	sd	a6,-152(s0)
22	sd	a7,-144(s0)
23	fsw	fa0,-132(s0)
24	fsw	fa1,-128(s0)
25	fsw	fa2,-124(s0)
26	fsw	fa3,-120(s0)
27	fsw	fa4,-116(s0)
28	fsw	fa5,-112(s0)
29	fsw	fa6,-108(s0)
30	fsw	fa7,-104(s0)
31	fsd	fa0,-96(s0)
32	fsd	fa1,-88(s0)
33	fsd	fa2,-80(s0)
34	fsd	fa3,-72(s0)
35	fsd	fa4,-64(s0)
36	fsd	fa5,-56(s0)
37	fsd	fa6,-48(s0)
38	fsd	fa7,-40(s0)
39	sd	a1,-240(s0)
40	sd	a0,-200(s0)
41	sw	zero,-264(s0)
42	ld	a0,8(t2)
43	sd	zero,-232(s0)
44	sw	zero,-224(s0)
45	sw	zero,-208(s0)
46	sw	zero,-136(s0)
47	add	a1,s0,-264
48	jalr	t3
49	lw	t1,-224(s0)
50	beqz	t1,.L1
51	li	t3,1
52	beq	t1,t3,.L25
53	li	t3,2
54	beq	t1,t3,.L29
55	li	t3,3
56	beq	t1,t3,.L25
57	li	t3,4
58	beq	t1,t3,.L30
59	li	t3,5
60	beq	t1,t3,.L31
61	li	t3,6
62	beq	t1,t3,.L32
63	li	t3,7
64	beq	t1,t3,.L33
65	and	t3,t1,-3
66	li	t4,8
67	beq	t3,t4,.L27
68	li	t4,9
69	beq	t3,t4,.L27
70	li	t3,12
71	beq	t1,t3,.L34
72	li	t3,13
73	beq	t1,t3,.L35
74	li	t3,14
75	beq	t1,t3,.L27
76	li	t3,15
77	bne	t1,t3,.L1
78	lw	t3,-264(s0)
79	and	t3,t3,1024
80	beqz	t3,.L1
81	ld	t0,-216(s0)
82	add	t3,t0,-1
83	bgtu	t3,t1,.L1
84	ld	t5,-232(s0)
85	li	s2,8
86	and	t6,t5,7
87	add	s1,t0,t6
88	and	t5,t5,-8
89	sext.w	t6,t6
90	sllw	t1,s1,3
91	ld	t4,0(t5)
92	sll	t3,t6,3
93	bgtu	t0,s2,.L15
94	bgtu	s1,s2,.L16
95	addw	t1,t1,-1
96	li	a0,2
97	sll	a0,a0,t1
98	add	a0,a0,-1
99	and	a0,a0,t4
100	sra	a0,a0,t3
101.L1:
102	ld	ra,264(sp)
103	ld	s0,256(sp)
104	ld	s1,248(sp)
105	ld	s2,240(sp)
106	add	sp,sp,288
107	jr	ra
108.L25:
109	lbu	a0,-256(s0)
110	ld	ra,264(sp)
111	ld	s0,256(sp)
112	ld	s1,248(sp)
113	ld	s2,240(sp)
114	add	sp,sp,288
115	jr	ra
116.L29:
117	lb	a0,-256(s0)
118	ld	ra,264(sp)
119	ld	s0,256(sp)
120	ld	s1,248(sp)
121	ld	s2,240(sp)
122	add	sp,sp,288
123	jr	ra
124.L30:
125	lh	a0,-256(s0)
126	j	.L1
127.L33:
128	lwu	a0,-256(s0)
129	j	.L1
130.L31:
131	lhu	a0,-256(s0)
132	j	.L1
133.L27:
134	ld	a0,-256(s0)
135	j	.L1
136.L32:
137	lw	a0,-256(s0)
138	j	.L1
139.L34:
140	flw	fa0,-256(s0)
141	j	.L1
142.L35:
143	fld	fa0,-256(s0)
144	j	.L1
145.L15:
146	li	s2,16
147	sra	t4,t4,t3
148	ld	t0,8(t5)
149	bleu	s1,s2,.L36
150	li	a1,-8
151	mulw	t6,a1,t6
152	addw	t1,t1,-129
153	ld	a0,16(t5)
154	li	a1,2
155	sll	a1,a1,t1
156	add	a1,a1,-1
157	and	a1,a1,a0
158	sra	t3,t0,t3
159	addw	t1,t6,64
160	sll	a0,t0,t1
161	sll	a1,a1,t1
162	or	a0,a0,t4
163	or	a1,a1,t3
164	j	.L1
165.L16:
166	li	a0,-8
167	mulw	t6,a0,t6
168	addw	t1,t1,-65
169	ld	t5,8(t5)
170	li	a0,2
171	sll	a0,a0,t1
172	add	a0,a0,-1
173	and	a0,a0,t5
174	sra	t4,t4,t3
175	sll	a0,a0,t6
176	or	a0,a0,t4
177	j	.L1
178.L36:
179	li	a1,-4
180	mulw	t6,a1,t6
181	addw	t1,t1,-65
182	li	a0,2
183	sll	a0,a0,t1
184	add	a0,a0,-1
185	and	a0,a0,t0
186	sra	a1,a0,t3
187	addw	t1,t6,32
188	sll	a0,a0,t1
189	sll	a0,a0,t1
190	or	a0,a0,t4
191	j	.L1
192	.size	callback_receiver, .-callback_receiver
193	.align	1
194	.globl	callback_get_receiver
195	.type	callback_get_receiver, @function
196callback_get_receiver:
197	add	sp,sp,-16
198	sd	s0,8(sp)
199	add	s0,sp,16
200	ld	s0,8(sp)
201	lla	a0,callback_receiver
202	add	sp,sp,16
203	jr	ra
204	.size	callback_get_receiver, .-callback_get_receiver
205	.ident	"GCC: (GNU) 7.3.0"
206