# Test generation of unwind tables
	.text
foo:	@ Simple function
	.fnstart
	.save {r4, lr}
	mov r0, #0
	.fnend
foo1:	@ Typical frame pointer prologue
	.fnstart
	.movsp ip
	@mov ip, sp
	.pad #4
	.save {fp, ip, lr}
	@stmfd sp!, {fp, ip, lr, pc}
	.setfp fp, ip, #4
	@sub fp, ip, #4
	mov r0, #1
	.fnend
foo2:	@ Custom personality routine
	.fnstart
	.save {r1, r4, r6, lr}
	@stmfd {r1, r4, r6, lr}
	mov r0, #2
	.personality foo
	.handlerdata
	.word 42
	.fnend
foo3:	@ Saving iwmmxt registers
	.fnstart
	.save {wr11}
	.save {wr10}
	.save {wr10, wr11}
	.save {wr0}
	mov r0, #3
	.fnend
	.code 16
foo4:	@ Thumb frame pointer
	.fnstart
	.save {r7, lr}
	@push {r7, lr}
	.setfp r7, sp
	@mov r7, sp
	.pad #8
	@sub sp, sp, #8
	mov r0, #4
	.fnend
foo5:	@ Save r0-r3 only.
	.fnstart
	.save {r0, r1, r2, r3}
	mov r0, #5
	.fnend
