Artifact a06807069c6c56a6d58db7ea139d88d3df35c6ad:


#include "asmarm.h"
// Generated by gcc 2.6.3 for ARM/RISCiX
rfp	.req	r9
sl	.req	r10
fp	.req	r11
ip	.req	r12
sp	.req	r13
lr	.req	r14
pc	.req	r15
.text
	.align	0
	.global	C(__builtin_avcall)
	DECLARE_FUNCTION(__builtin_avcall)
C(__builtin_avcall:)
	// args = 0, pretend = 0, frame = 1024
	// frameC(needed) = 0, current_function_anonymous_args = 0
	stmfd	sp!, {r4, lr}
	mov	ip, $4
	sub	sp, sp, $1024
	mov	r4, r0
	ldr	r3, [r4, $20]
	sub	r3, r3, $32
	rsb	r3, r4, r3
	mov	r0, r3, asr $2
	cmp	ip, r0
	bge	L3
	add	r1, r4, $16
	add	r2, sp, $16
L5:
	ldr	r3, [r1, $32]
	add	r1, r1, $4
	str	r3, [r2, $-16]
	add	ip, ip, $1
	cmp	ip, r0
	add	r2, r2, $4
	blt	L5
L3:
	ldr	r0, [r4, $32]
	ldr	r3, [r4, $44]
	ldr	r2, [r4, $40]
	ldr	r1, [r4, $36]
	mov	lr, pc
	ldr	pc, [r4, $0]
	mov	ip, r0
	ldr	r3, [r4, $12]
	cmp	r3, $1
	beq	L8
	cmp	r3, $0
	beq	L60
	cmp	r3, $2
	beq	L61
	cmp	r3, $3
	beq	L61
	cmp	r3, $4
	beq	L61
	cmp	r3, $5
	beq	L62
	cmp	r3, $6
	beq	L62
	cmp	r3, $7
	beq	L60
	cmp	r3, $8
	beq	L60
	cmp	r3, $9
	beq	L60
	cmp	r3, $10
	beq	L60
	ldr	r2, [r4, $12]
	sub	r3, r2, $11
	cmp	r3, $1
	bls	L63
	cmp	r2, $13
	ldreq	r3, [r4, $8]
	streq	r0, [r3, $0]	// float
	beq	L8
L31:
	cmp	r2, $14
	ldreq	r3, [r4, $8]
	stmeqia	r3, {r0, r1}	// double
	beq	L8
L33:
	cmp	r2, $15
	beq	L60
	cmp	r2, $16
	bne	L8
	ldr	r3, [r4, $4]
	tst	r3, $1
	beq	L38
	ldr	r3, [r4, $16]
	cmp	r3, $1
	ldreq	r2, [r4, $8]
	ldreqb	r3, [ip, $0]
	streqb	r3, [r2, $0]
	beq	L8
L39:
	cmp	r3, $2
	bne	L41
	ldr	r2, [r4, $8]
	ldr	r3, [ip, $0]	// movhi
	strb	r3, [r2, $0]
	mov	r3, r3, asr $8
	strb	r3, [r2, $1]
	b	L8
L41:
	cmp	r3, $4
	ldreq	r2, [r4, $8]
	ldreq	r3, [ip, $0]
	streq	r3, [r2, $0]
	beq	L8
L43:
	cmp	r3, $8
	bne	L45
	ldr	r2, [r4, $8]
	ldr	r3, [ip, $0]
	str	r3, [r2, $0]
	ldr	r2, [r4, $8]
	ldr	r3, [ip, $4]
	str	r3, [r2, $4]
	b	L8
L45:
	add	r3, r3, $3
	mov	r1, r3, lsr $2
	sub	r1, r1, $1
	cmp	r1, $0
	blt	L8
L49:
	ldr	r2, [r4, $8]
	ldr	r3, [ip, r1, asl $2]
	str	r3, [r2, r1, asl $2]
	sub	r1, r1, $1
	cmp	r1, $0
	bge	L49
	b	L8
L38:
	tst	r3, $512
	beq	L8
	ldr	r3, [r4, $16]
	cmp	r3, $1
	bne	L53
L61:
	ldr	r3, [r4, $8]
	strb	ip, [r3, $0]
	b	L8
L53:
	cmp	r3, $2
	bne	L55
L62:
	ldr	r2, [r4, $8]
	strb	ip, [r2, $0]
	mov	r3, ip, asr $8
	strb	r3, [r2, $1]
	b	L8
L55:
	cmp	r3, $4
	bne	L57
L60:
	ldr	r3, [r4, $8]
	str	ip, [r3, $0]
	b	L8
L57:
	cmp	r3, $8
	bne	L8
L63:
	ldr	r3, [r4, $8]
	str	ip, [r3, $0]
	ldr	r3, [r4, $8]
	str	r1, [r3, $4]
L8:
	mov	r0, $0
	add	sp, sp, $1024
	ldmfd	sp!, {r4, pc}^