1
2// TEST-OPTIONS: -arch x86_64 -lstdc++ -Wl,-no_compact_unwind
3
4
5	.section	__TEXT,__text,regular,pure_instructions
6	.globl	__Z3foov
7	.align	4, 0x90
8__Z3foov:
9Leh_func_begin1:
10	pushq	%rbp
11Ltmp0:
12	movq	%rsp, %rbp
13Ltmp1:
14	subq	$16, %rsp
15Ltmp2:
16	movabsq	$4, %rax
17	movq	%rax, %rdi
18	callq	___cxa_allocate_exception
19	movq	%rax, -16(%rbp)
20	movq	-16(%rbp), %rax
21	movl	$10, (%rax)
22	movq	-16(%rbp), %rax
23	movq	__ZTIi@GOTPCREL(%rip), %rcx
24	leaq	(%rcx), %rcx
25	movabsq	$0, %rdx
26	movq	%rax, %rdi
27	movq	%rcx, %rsi
28	callq	___cxa_throw
29Leh_func_end1:
30
31	.globl	_main
32	.align	4, 0x90
33_main:
34Leh_func_begin2:
35	pushq	%rbp
36Ltmp6:
37	movq	%rsp, %rbp
38Ltmp7:
39	subq	$48, %rsp
40Ltmp8:
41	movl	$1, -28(%rbp)
42	movl	$2, -28(%rbp)
43Ltmp3:
44	callq	__Z3foov
45Ltmp4:
46	jmp	LBB2_1
47LBB2_1:
48	movl	$3, -28(%rbp)
49	jmp	LBB2_10
50LBB2_2:
51	movq	-40(%rbp), %rax
52	movq	%rax, %rdi
53	callq	___cxa_begin_catch
54	movq	%rax, -24(%rbp)
55	movq	-24(%rbp), %rax
56	movl	(%rax), %eax
57	movl	%eax, -32(%rbp)
58	movl	-28(%rbp), %eax
59	cmpl	$2, %eax
60	je	LBB2_4
61	movl	$1, -12(%rbp)
62	movl	-12(%rbp), %eax
63	movl	%eax, -12(%rbp)
64	movl	-12(%rbp), %eax
65	movl	%eax, -12(%rbp)
66	movl	$0, -8(%rbp)
67	jmp	LBB2_7
68LBB2_4:
69	movl	-32(%rbp), %eax
70	cmpl	$10, %eax
71	je	LBB2_6
72	movl	$1, -12(%rbp)
73	movl	-12(%rbp), %eax
74	movl	%eax, -12(%rbp)
75	movl	-12(%rbp), %eax
76	movl	%eax, -12(%rbp)
77	movl	$0, -8(%rbp)
78	jmp	LBB2_7
79LBB2_6:
80	movl	$4, -28(%rbp)
81	movl	$1, -8(%rbp)
82LBB2_7:
83	callq	___cxa_end_catch
84	movl	-8(%rbp), %eax
85	cmpl	$1, %eax
86	jne	LBB2_9
87	jmp	LBB2_10
88LBB2_9:
89	jmp	LBB2_13
90LBB2_10:
91	movl	-28(%rbp), %eax
92	cmpl	$4, %eax
93	jne	LBB2_12
94	movl	$0, -12(%rbp)
95	jmp	LBB2_13
96LBB2_12:
97	movl	$1, -12(%rbp)
98LBB2_13:
99	movl	-12(%rbp), %eax
100	movl	%eax, -4(%rbp)
101	movl	-4(%rbp), %eax
102	addq	$48, %rsp
103	popq	%rbp
104	ret
105LBB2_15:
106Ltmp5:
107	movq	%rax, -40(%rbp)
108	movq	-40(%rbp), %rax
109	movl	%edx, %eax
110	movl	%eax, -44(%rbp)
111	movl	$2, %eax
112	movl	-44(%rbp), %ecx
113	cmpl	%eax, %ecx
114	je	LBB2_2
115	movq	-40(%rbp), %rax
116	movq	%rax, %rdi
117	callq	__Unwind_Resume_or_Rethrow
118Leh_func_end2:
119
120
121	.section	__TEXT,__gcc_except_tab
122	.align	2
123GCC_except_table2:
124Lexception2:
125	.byte	255
126	.byte	155
127	.byte	168
128	.space	1
129	.byte	3
130	.byte	26
131Lset0 = Ltmp3-Leh_func_begin2
132	.long	Lset0
133Lset1 = Ltmp4-Ltmp3
134	.long	Lset1
135Lset2 = Ltmp5-Leh_func_begin2
136	.long	Lset2
137	.byte	3
138Lset3 = Ltmp4-Leh_func_begin2
139	.long	Lset3
140Lset4 = Leh_func_end2-Ltmp4
141	.long	Lset4
142	.long	0
143	.byte	0
144
145
146	.byte	1
147	.byte	0
148
149	.byte	2
150	.byte	125
151
152	.long	__ZTIi@GOTPCREL+4
153	.long	0
154	.align	2
155
156	.section	__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
157EH_frame0:
158Lsection_eh_frame:
159Leh_frame_common:
160Lset5 = Leh_frame_common_end-Leh_frame_common_begin
161	.long	Lset5
162Leh_frame_common_begin:
163	.long	0
164	.byte	1
165	.asciz	 "zPLR"
166	.byte	1
167	.byte	120
168	.byte	16
169	.byte	7
170	.byte	155
171	.long	___gxx_personality_v0@GOTPCREL+4
172	.byte	0x1B // lsda encoding DW_EH_PE_pcrel + DW_EH_PE_sdata4
173	.byte	16
174	.byte	12
175	.byte	7
176	.byte	8
177	.byte	144
178	.byte	1
179	.align	3
180Leh_frame_common_end:
181
182	.globl	__Z3foov.eh
183__Z3foov.eh:
184Lset6 = Leh_frame_end1-Leh_frame_begin1
185	.long	Lset6
186Leh_frame_begin1:
187Lset7 = Leh_frame_begin1-Leh_frame_common
188	.long	Lset7
189Ltmp9:
190	.quad	Leh_func_begin1-Ltmp9
191Lset8 = Leh_func_end1-Leh_func_begin1
192	.quad	Lset8
193	.byte	4
194	.long	0
195	.byte	4
196Lset9 = Ltmp0-Leh_func_begin1
197	.long	Lset9
198	.byte	14
199	.byte	16
200	.byte	134
201	.byte	2
202	.byte	4
203Lset10 = Ltmp1-Ltmp0
204	.long	Lset10
205	.byte	13
206	.byte	6
207	.align	3
208Leh_frame_end1:
209
210	.globl	_main.eh
211_main.eh:
212Lset11 = Leh_frame_end2-Leh_frame_begin2
213	.long	Lset11
214Leh_frame_begin2:
215Lset12 = Leh_frame_begin2-Leh_frame_common
216	.long	Lset12
217Ltmp10:
218	.quad	Leh_func_begin2-Ltmp10
219Lset13 = Leh_func_end2-Leh_func_begin2
220	.quad	Lset13
221	.byte	4
222Ltmp11:
223	.long	Lexception2-Ltmp11
224	.byte	4
225Lset14 = Ltmp6-Leh_func_begin2
226	.long	Lset14
227	.byte	14
228	.byte	16
229	.byte	134
230	.byte	2
231	.byte	4
232Lset15 = Ltmp7-Ltmp6
233	.long	Lset15
234	.byte	13
235	.byte	6
236	.align	3
237Leh_frame_end2:
238
239
240.subsections_via_symbols
241