File ffcall/vacall/vacall-armel.s artifact 9c5a5ca25a part of check-in c83183fa27


	.cpu arm10tdmi
	.fpu softvfp
	.file	"vacall-armel.c"
	.text
	.align	2
	.global	__vacall
	.type	__vacall, %function
__vacall:
	@ args = 4, pretend = 0, frame = 72
	@ frame_needed = 0, uses_anonymous_args = 0
	stmfd	sp!, {r4, r5, r6, r7, lr}
	sub	sp, sp, #76
	add	r6, sp, #96
	ldr	lr, [r6, #-4]
	ldr	ip, [sp, #88]
	str	lr, [sp, #32]
	ldr	lr, [sp, #84]
	str	ip, [sp, #36]
	ldr	ip, [sp, #80]
	str	lr, [sp, #40]
	ldr	lr, [sp, #76]
	mov	r4, #0
	str	ip, [sp, #44]
	add	ip, sp, #80
	str	r0, [sp, #80]
	str	lr, [sp, #48]
	str	r1, [sp, #84]
	str	r2, [sp, #88]
	mov	r7, r0
	str	r3, [r6, #-4]
	str	r4, [sp, #12]
	str	ip, [sp, #4]
	str	r0, [sp, #52]
	str	r3, [sp, #64]
	str	r1, [sp, #56]
	str	r2, [sp, #60]
	str	r4, [sp, #0]
	str	r4, [sp, #8]
	mov	r0, sp
	ldr	r3, .L42
	mov	r5, r1
	mov	lr, pc
	ldr	pc, [r3, #0]
	ldr	ip, [sp, #12]
	cmp	ip, r4
	beq	.L3
	cmp	ip, #1
	beq	.L40
	cmp	ip, #2
	ldreqsb	r0, [sp, #24]
	beq	.L3
	cmp	ip, #3
	beq	.L40
	cmp	ip, #4
	ldreqsh	r0, [sp, #24]
	beq	.L3
	cmp	ip, #5
	ldreqh	r0, [sp, #24]
	beq	.L3
	cmp	ip, #6
	beq	.L39
	cmp	ip, #7
	beq	.L39
	cmp	ip, #8
	beq	.L39
	cmp	ip, #9
	beq	.L39
	sub	r3, ip, #10
	cmp	r3, #1
	bls	.L38
	cmp	ip, #12
	ldreq	r0, [sp, #24]	@ float
	beq	.L3
	cmp	ip, #13
	beq	.L38
	cmp	ip, #14
	beq	.L39
	cmp	ip, #15
	bne	.L3
	ldr	r3, [sp, #0]
	tst	r3, #1
	ldrne	r0, [sp, #8]
	bne	.L3
	tst	r3, #1024
	beq	.L3
	ldr	r3, [sp, #16]
	cmp	r3, #1
	ldreq	r3, [sp, #8]
	ldreqb	r0, [r3, #0]	@ zero_extendqisi2
	beq	.L3
	cmp	r3, #2
	ldreq	r3, [sp, #8]
	ldrne	r3, [sp, #8]
	ldreqh	r0, [r3, #0]
	ldrne	r0, [r3, #0]
.L3:
	ldr	r3, [sp, #32]
	str	r3, [r6, #-4]
	ldr	r2, [sp, #48]
	str	r2, [r6, #-20]
	ldr	r3, [sp, #36]
	str	r3, [r6, #-8]
	ldr	r2, [sp, #40]
	str	r2, [r6, #-12]
	ldr	r3, [sp, #44]
	str	r3, [r6, #-16]
	add	sp, sp, #76
	ldmfd	sp!, {r4, r5, r6, r7, pc}
.L40:
	ldrb	r0, [sp, #24]	@ zero_extendqisi2
	b	.L3
.L39:
	ldr	r0, [sp, #24]
	b	.L3
.L38:
	ldr	r0, [sp, #24]
	ldr	r1, [sp, #28]
	b	.L3
.L43:
	.align	2
.L42:
	.word	vacall_function
	.size	__vacall, .-__vacall
	.ident	"GCC: (GNU) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)"