
# TEST-OPTIONS:  unwind_test_main.c unwind_test_x86_64.s -arch x86_64 
# TEST-OPTIONS:  unwind_test_main.c unwind_test_x86_64.s -arch x86_64 -Wl,-no_compact_unwind

	.data
.globl _unwind_tester_list
_unwind_tester_list:	
	.quad	_test_no_reg
	.quad	_test_rbx
	.quad	_test_rbx_r12
	.quad	_test_rbx_r12_r13
	.quad	_test_rbx_r12_r13_r14
	.quad	_test_rbx_r12_r13_r14_r15
	.quad	_test_rbx_rbp
	.quad	_test_rbx_rbp_r12
	.quad	_test_rbx_rbp_r12_r13
	.quad	_test_rbx_rbp_r12_r13_r14
	.quad	_test_rbx_rbp_r12_r13_r14_r15
	.quad	0


	.text

.globl _test_no_reg
_test_no_reg:
LFB13:
	subq	$8, %rsp
LCFI0:
	call	_uwind_to_main
	addq	$8, %rsp
	ret
LFE13:


.globl _test_rbx
_test_rbx:
LFB10:
	pushq	%rbx
LCFI3:
	movq	$0, %rbx
	call	_uwind_to_main
	popq	%rbx
	ret
LFE10:


.globl _test_rbx_r12
_test_rbx_r12:
LFB8:
	movq	%rbx, -16(%rsp)
LCFI5:
	movq	%r12, -8(%rsp)
LCFI6:
	subq	$24, %rsp
LCFI7:
	movq	$0, %rbx
	movq	$0, %r12
	call	_uwind_to_main
	movq	8(%rsp), %rbx
	movq	16(%rsp), %r12
	addq	$24, %rsp
	ret
LFE8:


.globl _test_rbx_rbp
_test_rbx_rbp:
LFB7:
	movq	%rbx, -16(%rsp)
LCFI8:
	movq	%rbp, -8(%rsp)
LCFI9:
	subq	$24, %rsp
LCFI10:
	movq	$0, %rbp
	movq	$0, %rbx
	call	_uwind_to_main
	movq	8(%rsp), %rbx
	movq	16(%rsp), %rbp
	addq	$24, %rsp
	ret
LFE7:


.globl _test_rbx_r12_r13
_test_rbx_r12_r13:
LFB6:
	movq	%rbx, -24(%rsp)
LCFI11:
	movq	%r12, -16(%rsp)
LCFI12:
	movq	%r13, -8(%rsp)
LCFI13:
	subq	$24, %rsp
LCFI14:
	movq	$0, %rbx
	movq	$0, %r12
	movq	$0, %r13
	call	_uwind_to_main
	movq	(%rsp), %rbx
	movq	8(%rsp), %r12
	movq	16(%rsp), %r13
	addq	$24, %rsp
	ret
LFE6:



.globl _test_rbx_r12_r13_r14
_test_rbx_r12_r13_r14:
LFB4:
	movq	%rbx, -32(%rsp)
LCFI19:
	movq	%r12, -24(%rsp)
LCFI20:
	movq	%r13, -16(%rsp)
LCFI21:
	movq	%r14, -8(%rsp)
LCFI22:
	subq	$40, %rsp
LCFI23:
	movq	$0, %rbx
	movq	$0, %r12
	movq	$0, %r13
	movq	$0, %r14
	call	_uwind_to_main
	movq	8(%rsp), %rbx
	movq	16(%rsp), %r12
	movq	24(%rsp), %r13
	movq	32(%rsp), %r14
	addq	$40, %rsp
	ret
LFE4:


.globl _test_rbx_r12_r13_r14_r15
_test_rbx_r12_r13_r14_r15:
LFB3:
	movq	%rbx, -40(%rsp)
LCFI24:
	movq	%r12, -32(%rsp)
LCFI25:
	movq	%r13, -24(%rsp)
LCFI26:
	movq	%r14, -16(%rsp)
LCFI27:
	movq	%r15, -8(%rsp)
LCFI28:
	subq	$40, %rsp
LCFI29:
	movq	$0, %rbx
	movq	$0, %r12
	movq	$0, %r13
	movq	$0, %r14
	movq	$0, %r15
	call	_uwind_to_main
	movq	(%rsp), %rbx
	movq	8(%rsp), %r12
	movq	16(%rsp), %r13
	movq	24(%rsp), %r14
	movq	32(%rsp), %r15
	addq	$40, %rsp
	ret
LFE3:


.globl _test_rbx_rbp_r12_r13_r14_r15
_test_rbx_rbp_r12_r13_r14_r15:
LFB2:
	movq	%rbx, -48(%rsp)
LCFI30:
	movq	%rbp, -40(%rsp)
LCFI31:
	movq	%r12, -32(%rsp)
LCFI32:
	movq	%r13, -24(%rsp)
LCFI33:
	movq	%r14, -16(%rsp)
LCFI34:
	movq	%r15, -8(%rsp)
LCFI35:
	subq	$72, %rsp
LCFI36:
	movq	$0, %rbx
	movq	$0, %rbp
	movq	$0, %r12
	movq	$0, %r13
	movq	$0, %r14
	movq	$0, %r15
	call	_uwind_to_main
	movq	24(%rsp), %rbx
	movq	32(%rsp), %rbp
	movq	40(%rsp), %r12
	movq	48(%rsp), %r13
	movq	56(%rsp), %r14
	movq	64(%rsp), %r15
	addq	$72, %rsp
	ret
LFE2:



.globl _test_rbx_rbp_r12
_test_rbx_rbp_r12:
LFB11:
	movq	%rbx, -24(%rsp)
	movq	%rbp, -16(%rsp)
	movq	%r12, -8(%rsp)
	subq	$24, %rsp
LCFI11a:
	movq	$0, %rbx
	movq	$0, %rbp
	movq	$0, %r12
	call	_uwind_to_main
	movq	(%rsp), %rbx
	movq	8(%rsp), %rbp
	movq	16(%rsp), %r12
	addq	$24, %rsp
	ret
LFE11:



.globl _test_rbx_rbp_r12_r13
_test_rbx_rbp_r12_r13:
LFB457:
	movq	%rbx, -32(%rsp)
	movq	%rbp, -24(%rsp)
	movq	%r12, -16(%rsp)
	movq	%r13, -8(%rsp)
	subq	$40, %rsp
LFB457a:
	movq	$0, %rbx
	movq	$0, %rbp
	movq	$0, %r12
	movq	$0, %r13
	call	_uwind_to_main
	movq	8(%rsp), %rbx
	movq	16(%rsp), %rbp
	movq	24(%rsp), %r12
	movq	32(%rsp), %r13
	addq	$40, %rsp
	ret
LFE457:


.globl _test_rbx_rbp_r12_r13_r14
_test_rbx_rbp_r12_r13_r14:
LFB17:
	movq	%rbx, -40(%rsp)
	movq	%rbp, -32(%rsp)
	movq	%r12, -24(%rsp)
	movq	%r13, -16(%rsp)
	movq	%r14, -8(%rsp)
	subq	$40, %rsp
LFB17a:
	movq	$0, %rbx
	movq	$0, %rbp
	movq	$0, %r12
	movq	$0, %r13
	movq	$0, %r14
	call	_uwind_to_main
	movq	(%rsp), %rbx
	movq	8(%rsp), %rbp
	movq	16(%rsp), %r12
	movq	24(%rsp), %r13
	movq	32(%rsp), %r14
	addq	$40, %rsp
	ret
LFE17:



	.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
	.set L$set$0,LECIE1-LSCIE1
	.long L$set$0	# Length of Common Information Entry
LSCIE1:
	.long	0x0	# CIE Identifier Tag
	.byte	0x1	# CIE Version
	.ascii "zR\0"	# CIE Augmentation
	.byte	0x1	# uleb128 0x1; CIE Code Alignment Factor
	.byte	0x78	# sleb128 -8; CIE Data Alignment Factor
	.byte	0x10	# CIE RA Column
	.byte	0x1	# uleb128 0x1; Augmentation size
	.byte	0x10	# FDE Encoding (pcrel)
	.byte	0xc	# DW_CFA_def_cfa
	.byte	0x7	# uleb128 0x7
	.byte	0x8	# uleb128 0x8
	.byte	0x90	# DW_CFA_offset, column 0x10
	.byte	0x1	# uleb128 0x1
	.align 3
LECIE1:

.globl _test_no_reg.eh
_test_no_reg.eh:
LSFDE3:
	.set L$set$3,LEFDE3-LASFDE3
	.long L$set$3	# FDE Length
LASFDE3:
	.long	LASFDE3-EH_frame1	# FDE CIE offset
	.quad	LFB13-.	# FDE initial location
	.set L$set$4,LFE13-LFB13
	.quad L$set$4	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$5,LCFI0-LFB13
	.long L$set$5
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x10	# uleb128 0x10
	.align 3
LEFDE3:

.globl _test_rbx.eh
_test_rbx.eh:
LSFDE9:
	.set L$set$12,LEFDE9-LASFDE9
	.long L$set$12	# FDE Length
LASFDE9:
	.long	LASFDE9-EH_frame1	# FDE CIE offset
	.quad	LFB10-.	# FDE initial location
	.set L$set$13,LFE10-LFB10
	.quad L$set$13	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$14,LCFI3-LFB10
	.long L$set$14
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x10	# uleb128 0x10
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x2	# uleb128 0x2
	.align 3
LEFDE9:

.globl _test_rbx_r12.eh
_test_rbx_r12.eh:
LSFDE13:
	.set L$set$18,LEFDE13-LASFDE13
	.long L$set$18	# FDE Length
LASFDE13:
	.long	LASFDE13-EH_frame1	# FDE CIE offset
	.quad	LFB8-.	# FDE initial location
	.set L$set$19,LFE8-LFB8
	.quad L$set$19	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$20,LCFI7-LFB8
	.long L$set$20
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x20	# uleb128 0x20
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x2	# uleb128 0x2
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x3	# uleb128 0x3
	.align 3
LEFDE13:


.globl _test_rbx_rbp.eh
_test_rbx_rbp.eh:
LSFDE14:
	.set L$set$21,LEFDE14-LASFDE14
	.long L$set$21	# FDE Length
LASFDE14:
	.long	LASFDE14-EH_frame1	# FDE CIE offset
	.quad	LFB7-.	# FDE initial location
	.set L$set$22,LFE7-LFB7
	.quad L$set$22	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$23,LCFI10-LFB7
	.long L$set$23
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x20	# uleb128 0x20
	.byte	0x86	# DW_CFA_offset, column 0x6
	.byte	0x2	# uleb128 0x2
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x3	# uleb128 0x3
	.align 3
LEFDE14:


.globl _test_rbx_r12_r13.eh
_test_rbx_r12_r13.eh:
LSFDE17:
	.set L$set$24,LEFDE17-LASFDE17
	.long L$set$24	# FDE Length
LASFDE17:
	.long	LASFDE17-EH_frame1	# FDE CIE offset
	.quad	LFB6-.	# FDE initial location
	.set L$set$25,LFE6-LFB6
	.quad L$set$25	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$26,LCFI14-LFB6
	.long L$set$26
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x20	# uleb128 0x20
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x2	# uleb128 0x2
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x3	# uleb128 0x3
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x4	# uleb128 0x4
	.align 3
LEFDE17:

.globl _test_rbx_r12_r13_r14.eh
_test_rbx_r12_r13_r14.eh:
LSFDE21:
	.set L$set$30,LEFDE21-LASFDE21
	.long L$set$30	# FDE Length
LASFDE21:
	.long	LASFDE21-EH_frame1	# FDE CIE offset
	.quad	LFB4-.	# FDE initial location
	.set L$set$31,LFE4-LFB4
	.quad L$set$31	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$32,LCFI23-LFB4
	.long L$set$32
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x30	# uleb128 0x30
	.byte	0x8e	# DW_CFA_offset, column 0xe
	.byte	0x2	# uleb128 0x2
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x3	# uleb128 0x3
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x4	# uleb128 0x4
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x5	# uleb128 0x5
	.align 3
LEFDE21:


.globl _test_rbx_r12_r13_r14_r15.eh
_test_rbx_r12_r13_r14_r15.eh:
LSFDE23:
	.set L$set$33,LEFDE23-LASFDE23
	.long L$set$33	# FDE Length
LASFDE23:
	.long	LASFDE23-EH_frame1	# FDE CIE offset
	.quad	LFB3-.	# FDE initial location
	.set L$set$34,LFE3-LFB3
	.quad L$set$34	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$35,LCFI29-LFB3
	.long L$set$35
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x30	# uleb128 0x30
	.byte	0x8f	# DW_CFA_offset, column 0xf
	.byte	0x2	# uleb128 0x2
	.byte	0x8e	# DW_CFA_offset, column 0xe
	.byte	0x3	# uleb128 0x3
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x4	# uleb128 0x4
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x5	# uleb128 0x5
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x6	# uleb128 0x6
	.align 3
LEFDE23:


.globl _test_rbx_rbp_r12_r13_r14_r15.eh
_test_rbx_rbp_r12_r13_r14_r15.eh:
LSFDE25:
	.set L$set$36,LEFDE25-LASFDE25
	.long L$set$36	# FDE Length
LASFDE25:
	.long	LASFDE25-EH_frame1	# FDE CIE offset
	.quad	LFB2-.	# FDE initial location
	.set L$set$37,LFE2-LFB2
	.quad L$set$37	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$38,LCFI36-LFB2
	.long L$set$38
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x50	# uleb128 0x50
	.byte	0x8f	# DW_CFA_offset, column 0xf
	.byte	0x2	# uleb128 0x2
	.byte	0x8e	# DW_CFA_offset, column 0xe
	.byte	0x3	# uleb128 0x3
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x4	# uleb128 0x4
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x5	# uleb128 0x5
	.byte	0x86	# DW_CFA_offset, column 0x6
	.byte	0x6	# uleb128 0x6
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x7	# uleb128 0x7
	.align 3
LEFDE25:


.globl _test_rbx_rbp_r12.eh
_test_rbx_rbp_r12.eh:
LSFDE11:
	.set L$set$24,LEFDE11-LASFDE11
	.long L$set$24	# FDE Length
LASFDE11:
	.long	LASFDE11-EH_frame1	# FDE CIE offset
	.quad	LFB11-.	# FDE initial location
	.set L$set$25,LFE11-LFB11
	.quad L$set$25	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$26,LCFI11a-LFB11
	.long L$set$26
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x20	# uleb128 0x20
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x2	# uleb128 0x2
	.byte	0x86	# DW_CFA_offset, column 0x6
	.byte	0x3	# uleb128 0x3
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x4	# uleb128 0x4
	.align 3
LEFDE11:


.globl _test_rbx_rbp_r12_r13.eh
_test_rbx_rbp_r12_r13.eh:
	.set L$set$30,LEFDE457-LASFDE457
	.long L$set$30	# FDE Length
LASFDE457:
	.long	LASFDE457-EH_frame1	# FDE CIE offset
	.quad	LFB457-.	# FDE initial location
	.set L$set$31,LFE457-LFB457
	.quad L$set$31	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$32,LCFI23-LFB4
	.long L$set$32
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x30	# uleb128 0x30
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x2	# uleb128 0x2
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x3	# uleb128 0x3
	.byte	0x86	# DW_CFA_offset, column 0x6
	.byte	0x4	# uleb128 0x4
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x5	# uleb128 0x5
	.align 3
LEFDE457:


.globl _test_rbx_rbp_r12_r13_r14.eh
_test_rbx_rbp_r12_r13_r14.eh:
	.set L$set$33,LEFDE117-LASFDE117
	.long L$set$33	# FDE Length
LASFDE117:
	.long	LASFDE117-EH_frame1	# FDE CIE offset
	.quad	LFB17-.	# FDE initial location
	.set L$set$34,LFE17-LFB17
	.quad L$set$34	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$35,LCFI29-LFB3
	.long L$set$35
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x30	# uleb128 0x30
	.byte	0x8e	# DW_CFA_offset, column 0xe
	.byte	0x2	# uleb128 0x2
	.byte	0x8d	# DW_CFA_offset, column 0xd
	.byte	0x3	# uleb128 0x3
	.byte	0x8c	# DW_CFA_offset, column 0xc
	.byte	0x4	# uleb128 0x4
	.byte	0x86	# DW_CFA_offset, column 0x6
	.byte	0x5	# uleb128 0x5
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x6	# uleb128 0x6
	.align 3
LEFDE117:





	.subsections_via_symbols
