1#include "asm-arm.h"
2	.text
3	.align	2
4	DECLARE_FUNCTION(callback_receiver)
5FUNBEGIN(callback_receiver)
6	// args = 28, pretend = 0, frame = 32
7	// frame_needed = 1, uses_anonymous_args = 0
8	mov	ip, sp
9	stmfd	sp!, {r4, fp, ip, lr, pc}
10	mov	r2, $0
11	sub	fp, ip, $4
12	sub	sp, sp, $32
13	ldr	r4, [fp, $4]
14	str	r2, [fp, $-28]
15	add	r3, fp, $28
16	str	r2, [fp, $-24]
17	str	r2, [fp, $-48]
18	str	r3, [fp, $-32]
19	bic	sp, sp, $7
20	ldr	r0, [r4, $4]
21	sub	r1, fp, $48
22	mov	lr, pc
23	ldr	pc, [r4, $0]
24	ldr	r2, [fp, $-24]
25	cmp	r2, $0
26	ldmeqea	fp, {r4, fp, sp, pc}
27	cmp	r2, $1
28	beq	L(36)
29	cmp	r2, $2
30	ldreqsb	r0, [fp, $-40]
31	ldmeqea	fp, {r4, fp, sp, pc}
32	cmp	r2, $3
33	beq	L(36)
34	cmp	r2, $4
35	ldreqsh	r0, [fp, $-40]
36	ldmeqea	fp, {r4, fp, sp, pc}
37	cmp	r2, $5
38	ldreqh	r0, [fp, $-40]
39	ldmeqea	fp, {r4, fp, sp, pc}
40	cmp	r2, $6
41	beq	L(40)
42	cmp	r2, $7
43	beq	L(40)
44	cmp	r2, $8
45	beq	L(40)
46	cmp	r2, $9
47	beq	L(40)
48	sub	r3, r2, $10
49	cmp	r3, $1
50	bls	L(41)
51	cmp	r2, $12
52	ldreq	r0, [fp, $-40]	// float
53	ldmeqea	fp, {r4, fp, sp, pc}
54	cmp	r2, $13
55	beq	L(41)
56	cmp	r2, $14
57	beq	L(40)
58	cmp	r2, $15
59	ldmneea	fp, {r4, fp, sp, pc}
60	ldr	r3, [fp, $-48]
61	tst	r3, $1024
62	ldmeqea	fp, {r4, fp, sp, pc}
63	ldr	r3, [fp, $-20]
64	cmp	r3, $1
65	ldreq	r3, [fp, $-28]
66	ldreqb	r0, [r3, $0]	// zero_extendqisi2
67	ldmeqea	fp, {r4, fp, sp, pc}
68	cmp	r3, $2
69	ldreq	r3, [fp, $-28]
70	ldrne	r3, [fp, $-28]
71	ldreqh	r0, [r3, $0]
72	ldrne	r0, [r3, $0]
73	ldmea	fp, {r4, fp, sp, pc}
74L(40):
75	ldr	r0, [fp, $-40]
76	ldmea	fp, {r4, fp, sp, pc}
77L(41):
78	sub	r0, fp, $40
79	ldmia	r0, {r0, r1}	// phole ldm
80	ldmea	fp, {r4, fp, sp, pc}
81L(36):
82	ldrb	r0, [fp, $-40]	// zero_extendqisi2
83	ldmea	fp, {r4, fp, sp, pc}
84L(fe1):
85	FUNEND(callback_receiver)
86	.align	2
87	.global C(callback_get_receiver)
88	DECLARE_FUNCTION(callback_get_receiver)
89FUNBEGIN(callback_get_receiver)
90	// args = 0, pretend = 0, frame = 0
91	// frame_needed = 1, uses_anonymous_args = 0
92	mov	ip, sp
93	stmfd	sp!, {sl, fp, ip, lr, pc}
94	ldr	sl, L(44)
95	ldr	r3, L(44)+4
96L(43):
97	add	sl, pc, sl
98	sub	fp, ip, $4
99	add	r0, sl, r3
100	ldmea	fp, {sl, fp, sp, pc}
101L(45):
102	.align	2
103L(44):
104	.word	_GLOBAL_OFFSET_TABLE_-(L(43)+8)
105	.word	callback_receiver(GOTOFF)
106L(fe2):
107	FUNEND(callback_get_receiver)
108#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
109	.section .note.GNU-stack,"",%progbits
110#endif
111