[RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (...
[llvm-project.git] / libcxxabi / test / vendor / ibm / aix_xlclang_passing_excp_obj_32.pass.sh.S
blob71c3ab9409a81a351be547621f043ff23b6d3a14
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 // Test that the exception object is passed correctly from the personality
10 // to the landing pad even when there are wrappers around runtime function
11 // __xlc_exception_handle. This test is only for the legacy AIX xlclang
12 // compiler generated code. The test source consists of two C++ source files
13 // t1.cpp and t2.cpp which are compiled into assembly code by the legacy AIX
14 // xlclang++ compiler included in this file. This file tests for the 32-bit
15 // mode.
17 # REQUIRES: target=powerpc-ibm-aix
18 # UNSUPPORTED: no-exceptions
20 // RUN: %{cxx} -c %s -o %t1_32.o -DT1_CPP_CODE %{flags} %{compile_flags}
21 // RUN: %{cxx} -c %s -o %t2_32.o -DT2_CPP_CODE %{flags} %{compile_flags}
22 // RUN: %{cxx} -o %t_32.exe %t1_32.o %t2_32.o %{flags} %{link_flags}
23 // RUN: %{exec} %t_32.exe
25 #if defined(T1_CPP_CODE)
27 # This portion of assembly code is generated by IBM legacy xlclang++ compiler
28 # from the following C++ source file for 32-bit mode.
30 # t1.cpp:
32 #extern "C" int printf(const char *, ...);
34 #extern "C" unsigned int * __xlc_exception_handle() __attribute__((weak, alias("wrap__xlc_exception_handle")));
36 #void barf() __attribute__((noinline));
38 #int main(void) {
39 #   try {
40 #      barf();
41 #   } catch(int) {
42 #      printf("caught int\n");
43 #   }
44 #   return 0;
47 #void barf() { throw 42; }
49 .set r0,0; .set SP,1; .set RTOC,2; .set r3,3; .set r4,4
50 .set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
51 .set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
52 .set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
53 .set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
54 .set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
55 .set r30,30; .set r31,31
56 .set fp0,0; .set fp1,1; .set fp2,2; .set fp3,3; .set fp4,4
57 .set fp5,5; .set fp6,6; .set fp7,7; .set fp8,8; .set fp9,9
58 .set fp10,10; .set fp11,11; .set fp12,12; .set fp13,13; .set fp14,14
59 .set fp15,15; .set fp16,16; .set fp17,17; .set fp18,18; .set fp19,19
60 .set fp20,20; .set fp21,21; .set fp22,22; .set fp23,23; .set fp24,24
61 .set fp25,25; .set fp26,26; .set fp27,27; .set fp28,28; .set fp29,29
62 .set fp30,30; .set fp31,31
63 .set v0,0; .set v1,1; .set v2,2; .set v3,3; .set v4,4
64 .set v5,5; .set v6,6; .set v7,7; .set v8,8; .set v9,9
65 .set v10,10; .set v11,11; .set v12,12; .set v13,13; .set v14,14
66 .set v15,15; .set v16,16; .set v17,17; .set v18,18; .set v19,19
67 .set v20,20; .set v21,21; .set v22,22; .set v23,23; .set v24,24
68 .set v25,25; .set v26,26; .set v27,27; .set v28,28; .set v29,29
69 .set v30,30; .set v31,31
70 .set x0,0; .set x1,1; .set x2,2; .set x3,3; .set x4,4
71 .set x5,5; .set x6,6; .set x7,7; .set x8,8; .set x9,9
72 .set x10,10; .set x11,11; .set x12,12; .set x13,13; .set x14,14
73 .set x15,15; .set x16,16; .set x17,17; .set x18,18; .set x19,19
74 .set x20,20; .set x21,21; .set x22,22; .set x23,23; .set x24,24
75 .set x25,25; .set x26,26; .set x27,27; .set x28,28; .set x29,29
76 .set x30,30; .set x31,31; .set x32,32; .set x33,33; .set x34,34
77 .set x35,35; .set x36,36; .set x37,37; .set x38,38; .set x39,39
78 .set x40,40; .set x41,41; .set x42,42; .set x43,43; .set x44,44
79 .set x45,45; .set x46,46; .set x47,47; .set x48,48; .set x49,49
80 .set x50,50; .set x51,51; .set x52,52; .set x53,53; .set x54,54
81 .set x55,55; .set x56,56; .set x57,57; .set x58,58; .set x59,59
82 .set x60,60; .set x61,61; .set x62,62; .set x63,63
83 .set q0,0; .set q1,1; .set q2,2; .set q3,3; .set q4,4
84 .set q5,5; .set q6,6; .set q7,7; .set q8,8; .set q9,9
85 .set q10,10; .set q11,11; .set q12,12; .set q13,13; .set q14,14
86 .set q15,15; .set q16,16; .set q17,17; .set q18,18; .set q19,19
87 .set q20,20; .set q21,21; .set q22,22; .set q23,23; .set q24,24
88 .set q25,25; .set q26,26; .set q27,27; .set q28,28; .set q29,29
89 .set q30,30; .set q31,31
90 .set MQ,0; .set XER,1; .set DSCR,3; .set FROM_RTCU,4; .set FROM_RTCL,5
91 .set FROM_DEC,6; .set LR,8; .set CTR,9; .set AMR,13; .set TID,17; .set DSISR,18
92 .set DAR,19; .set TO_RTCU,20; .set TO_RTCL,21; .set TO_DEC,22; .set SDR_0,24
93 .set SDR_1,25; .set SRR_0,26; .set SRR_1,27
94 .set BO_dCTR_NZERO_AND_NOT,0; .set BO_dCTR_NZERO_AND_NOT_1,1
95 .set BO_dCTR_ZERO_AND_NOT,2; .set BO_dCTR_ZERO_AND_NOT_1,3
96 .set BO_IF_NOT,4; .set BO_IF_NOT_1,5; .set BO_IF_NOT_2,6
97 .set BO_IF_NOT_3,7; .set BO_dCTR_NZERO_AND,8; .set BO_dCTR_NZERO_AND_1,9
98 .set BO_dCTR_ZERO_AND,10; .set BO_dCTR_ZERO_AND_1,11; .set BO_IF,12
99 .set BO_IF_1,13; .set BO_IF_2,14; .set BO_IF_3,15; .set BO_dCTR_NZERO,16
100 .set BO_dCTR_NZERO_1,17; .set BO_dCTR_ZERO,18; .set BO_dCTR_ZERO_1,19
101 .set BO_ALWAYS,20; .set BO_ALWAYS_1,21; .set BO_ALWAYS_2,22
102 .set BO_ALWAYS_3,23; .set BO_dCTR_NZERO_8,24; .set BO_dCTR_NZERO_9,25
103 .set BO_dCTR_ZERO_8,26; .set BO_dCTR_ZERO_9,27; .set BO_ALWAYS_8,28
104 .set BO_ALWAYS_9,29; .set BO_ALWAYS_10,30; .set BO_ALWAYS_11,31
105 .set CR0_LT,0; .set CR0_GT,1; .set CR0_EQ,2; .set CR0_SO,3
106 .set CR1_FX,4; .set CR1_FEX,5; .set CR1_VX,6; .set CR1_OX,7
107 .set CR2_LT,8; .set CR2_GT,9; .set CR2_EQ,10; .set CR2_SO,11
108 .set CR3_LT,12; .set CR3_GT,13; .set CR3_EQ,14; .set CR3_SO,15
109 .set CR4_LT,16; .set CR4_GT,17; .set CR4_EQ,18; .set CR4_SO,19
110 .set CR5_LT,20; .set CR5_GT,21; .set CR5_EQ,22; .set CR5_SO,23
111 .set CR6_LT,24; .set CR6_GT,25; .set CR6_EQ,26; .set CR6_SO,27
112 .set CR7_LT,28; .set CR7_GT,29; .set CR7_EQ,30; .set CR7_SO,31
113 .set TO_LT,16; .set TO_GT,8; .set TO_EQ,4; .set TO_LLT,2; .set TO_LGT,1
115         .rename H.10.NO_SYMBOL{PR},""
116         .rename H.16..__4,".__4"
117         .rename H.18..__8,".__8"
118         .rename H.20..__3,".__3"
119         .rename H.24.NO_SYMBOL{TC},""
120         .rename H.26.NO_SYMBOL{RO},""
121         .rename E.28.__STATIC{RW},"_$STATIC"
122         .rename H.30.__STATIC{TC},"_$STATIC"
123         .rename H.34.__4{TC},"__4"
124         .rename H.38.__8{TC},"__8"
125         .rename H.42.__3{TC},"__3"
126         .rename H.46._Z4barfv{TC},"_Z4barfv"
127         .rename H.50._ZTIi{TC},"_ZTIi"
128         .rename H.54.main{TC},"main"
130         .lglobl H.10.NO_SYMBOL{PR}
131         .globl  ._Z4barfv
132         .globl  .main
133         .lglobl H.16..__4
134         .lglobl H.18..__8
135         .lglobl H.20..__3
136         .lglobl H.26.NO_SYMBOL{RO}
137         .lglobl E.28.__STATIC{RW}
138         .lglobl __4{DS}
139         .lglobl __8{DS}
140         .lglobl __3{DS}
141         .globl  _Z4barfv{DS}
142         .extern _ZTIi{UA}
143         .globl  main{DS}
144         .extern .__cxa_allocate_exception{PR}
145         .extern .__cxa_throw{PR}
146         .extern .wrap__xlc_exception_handle{PR}
147         .extern .__xlc_catch_matchv2{PR}
148         .extern .__cxa_begin_catch{PR}
149         .extern .printf{PR}
150         .extern .__cxa_end_catch{PR}
151         .extern ._Unwind_Resume{PR}
152         .extern .__cxa_rethrow{PR}
153         .extern ._ZSt9terminatev{PR}
156 # .text section
157         .file   "t.cpp","Mon Jan 30 12:53:50 2023 ","IBM XL C/C++ for AIX, Version 16.1.0.13"
161         .csect  H.10.NO_SYMBOL{PR}, 7
162 ._Z4barfv:                              # 0x00000000 (H.10.NO_SYMBOL)
163         mfspr      r0,LR
164         stu        SP,-80(SP)
165         st         r0,88(SP)
166         cal        r3,4(r0)
167         bl         .__cxa_allocate_exception{PR}
168         oril       r0,r0,0x0000
169         oril       r4,r3,0x0000
170         st         r4,64(SP)
171         cal        r3,42(r0)
172         st         r3,0(r4)
173         l          r3,64(SP)
174         l          r4,T.50._ZTIi(RTOC)
175         cal        r5,0(r0)
176         bl         .__cxa_throw{PR}
177         oril       r0,r0,0x0000
178         l          r0,88(SP)
179         mtspr      LR,r0
180         cal        SP,80(SP)
181         bcr        BO_ALWAYS,CR0_LT
182         .long   0x00000000
183 # traceback table
184         .byte   0x00                    # VERSION=0
185         .byte   0x09                    # LANG=TB_CPLUSPLUS
186         .byte   0x20                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
187                                         # INT_PROC=0,HAS_CTL=0,TOCLESS=0
188                                         # FP_PRESENT=0,LOG_ABORT=0
189         .byte   0x41                    # INT_HNDL=0,NAME_PRESENT=1
190                                         # USES_ALLOCA=0,CL_DIS_INV=WALK_ONCOND
191                                         # SAVES_CR=0,SAVES_LR=1
192         .byte   0x80                    # STORES_BC=1,FPR_SAVED=0
193         .byte   0x00                    # GPR_SAVED=0
194         .byte   0x00                    # FIXEDPARMS=0
195         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
196         .long   0x0000004c              # TB_OFFSET
197         .short  8                       # NAME_LEN
198         .byte   "_Z4barfv"              # NAME
200         .byte   0                       # padding
201         .byte   0                       # padding
202 # End of traceback table
203         .long   0x00000000              # "\0\0\0\0"
204         .long   0x00000000              # "\0\0\0\0"
205         .long   0x00000000              # "\0\0\0\0"
206         .long   0x00000000              # "\0\0\0\0"
207         .long   0x00000000              # "\0\0\0\0"
208         .long   0x00000000              # "\0\0\0\0"
209 .main:                                  # 0x00000080 (H.10.NO_SYMBOL+0x80)
210         mfspr      r0,LR
211         st         r31,-4(SP)
212         st         r30,-8(SP)
213         st         r29,-12(SP)
214         st         r0,8(SP)
215         stu        SP,-112(SP)
216         oril       r30,SP,0x0000
217         l          r31,T.30.__STATIC(RTOC)
218         l          r29,T.24.NO_SYMBOL(RTOC)
219         cal        r3,0(r0)
220         st         r3,64(r30)
221         oril       r4,r31,0x0000
222         st         r4,68(r30)
223         st         r3,72(r30)
224         st         r3,76(r30)
225         cal        r3,1(r0)
226         stb        r3,67(r30)
227         bl         ._Z4barfv
228         cal        r3,0(r0)
229         stb        r3,67(r30)
230         b          __L188
231 __Ld4:                                  # 0x000000d4 (H.10.NO_SYMBOL+0xd4)
232         l          r31,T.30.__STATIC(RTOC)
233         l          r29,T.24.NO_SYMBOL(RTOC)
234         cal        r3,2(r0)
235         stb        r3,67(r30)
236         bl         .wrap__xlc_exception_handle{PR}
237         oril       r0,r0,0x0000
238         st         r3,80(r30)
239         l          r4,T.50._ZTIi(RTOC)
240         cal        r5,84(r30)
241         bl         .__xlc_catch_matchv2{PR}
242         oril       r0,r0,0x0000
243         cmpli      0,r3,0x0000
244         bc         BO_IF_NOT,CR0_EQ,__L10c
245         b          __L164
246 __L10c:                                 # 0x0000010c (H.10.NO_SYMBOL+0x10c)
247         l          r3,80(r30)
248         bl         .__cxa_begin_catch{PR}
249         oril       r0,r0,0x0000
250         oril       r3,r29,0x0000
251         bl         .printf{PR}
252         oril       r0,r0,0x0000
253         bl         .__cxa_end_catch{PR}
254         oril       r0,r0,0x0000
255         cal        r3,0(r0)
256         stb        r3,67(r30)
257         b          __L188
258 __L138:                                 # 0x00000138 (H.10.NO_SYMBOL+0x138)
259         l          r31,T.30.__STATIC(RTOC)
260         l          r29,T.24.NO_SYMBOL(RTOC)
261         bl         .__cxa_end_catch{PR}
262         oril       r0,r0,0x0000
263         cal        r3,0(r0)
264         stb        r3,67(r30)
265         bl         .wrap__xlc_exception_handle{PR}
266         oril       r0,r0,0x0000
267         st         r3,88(r30)
268         bl         ._Unwind_Resume{PR}
269         oril       r0,r0,0x0000
270 __L164:                                 # 0x00000164 (H.10.NO_SYMBOL+0x164)
271         cal        r3,2(r0)
272         stb        r3,67(r30)
273         bl         .wrap__xlc_exception_handle{PR}
274         oril       r0,r0,0x0000
275         st         r3,92(r30)
276         bl         .__cxa_begin_catch{PR}
277         oril       r0,r0,0x0000
278         bl         .__cxa_rethrow{PR}
279         oril       r0,r0,0x0000
280 __L188:                                 # 0x00000188 (H.10.NO_SYMBOL+0x188)
281         cal        r3,0(r0)
282         b          __L1b8
283 __L190:                                 # 0x00000190 (H.10.NO_SYMBOL+0x190)
284         bl         .wrap__xlc_exception_handle{PR}
285         oril       r0,r0,0x0000
286         st         r3,96(r30)
287         bl         ._Unwind_Resume{PR}
288         oril       r0,r0,0x0000
289 __L1a4:                                 # 0x000001a4 (H.10.NO_SYMBOL+0x1a4)
290         l          r31,T.30.__STATIC(RTOC)
291         l          r29,T.24.NO_SYMBOL(RTOC)
292         bl         ._ZSt9terminatev{PR}
293         oril       r0,r0,0x0000
294         b          __L190
295 __L1b8:                                 # 0x000001b8 (H.10.NO_SYMBOL+0x1b8)
296         l          SP,0(SP)
297         l          r29,-12(SP)
298         l          r30,-8(SP)
299         l          r31,-4(SP)
300         l          r0,8(SP)
301         mtspr      LR,r0
302         bcr        BO_ALWAYS,CR0_LT
303         .long   0x00000000
304 # traceback table
305         .byte   0x00                    # VERSION=0
306         .byte   0x09                    # LANG=TB_CPLUSPLUS
307         .byte   0x28                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
308                                         # INT_PROC=0,HAS_CTL=1,TOCLESS=0
309                                         # FP_PRESENT=0,LOG_ABORT=0
310         .byte   0x61                    # INT_HNDL=0,NAME_PRESENT=1
311                                         # USES_ALLOCA=1,CL_DIS_INV=WALK_ONCOND
312                                         # SAVES_CR=0,SAVES_LR=1
313         .byte   0x80                    # STORES_BC=1,FPR_SAVED=0
314         .byte   0x03                    # GPR_SAVED=3
315         .byte   0x00                    # FIXEDPARMS=0
316         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
317         .long   0x00000154              # TB_OFFSET
318         .long   0x00000001              # NUM_CTL_INFO
319         .long   0x00000040              # ctl_info_disp[0]
320         .short  4                       # NAME_LEN
321         .byte   "main"                  # NAME
323         .byte   30                      # ALLOCA_REG
324         .byte   0                       # padding
325 # End of traceback table
326         .long   0x00000000              # "\0\0\0\0"
327         .long   0x00000000              # "\0\0\0\0"
328         .long   0x00000000              # "\0\0\0\0"
329 H.16..__4:                              # 0x00000200 (H.10.NO_SYMBOL+0x200)
330         b          __L1a4
331         bcr        BO_ALWAYS,CR0_LT
332         .long   0x00000000
333 # traceback table
334         .byte   0x00                    # VERSION=0
335         .byte   0x09                    # LANG=TB_CPLUSPLUS
336         .byte   0x20                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
337                                         # INT_PROC=0,HAS_CTL=0,TOCLESS=0
338                                         # FP_PRESENT=0,LOG_ABORT=0
339         .byte   0x40                    # INT_HNDL=0,NAME_PRESENT=1
340                                         # USES_ALLOCA=0,CL_DIS_INV=WALK_ONCOND
341                                         # SAVES_CR=0,SAVES_LR=0
342         .byte   0x00                    # STORES_BC=0,FPR_SAVED=0
343         .byte   0x00                    # GPR_SAVED=0
344         .byte   0x00                    # FIXEDPARMS=0
345         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
346         .long   0x00000008              # TB_OFFSET
347         .short  3                       # NAME_LEN
348         .byte   "__4"                   # NAME
350         .byte   0                       # padding
351         .byte   0                       # padding
352         .byte   0                       # padding
353 # End of traceback table
354 H.18..__8:                              # 0x00000220 (H.10.NO_SYMBOL+0x220)
355         b          __L138
356         bcr        BO_ALWAYS,CR0_LT
357         .long   0x00000000
358 # traceback table
359         .byte   0x00                    # VERSION=0
360         .byte   0x09                    # LANG=TB_CPLUSPLUS
361         .byte   0x20                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
362                                         # INT_PROC=0,HAS_CTL=0,TOCLESS=0
363                                         # FP_PRESENT=0,LOG_ABORT=0
364         .byte   0x40                    # INT_HNDL=0,NAME_PRESENT=1
365                                         # USES_ALLOCA=0,CL_DIS_INV=WALK_ONCOND
366                                         # SAVES_CR=0,SAVES_LR=0
367         .byte   0x00                    # STORES_BC=0,FPR_SAVED=0
368         .byte   0x00                    # GPR_SAVED=0
369         .byte   0x00                    # FIXEDPARMS=0
370         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
371         .long   0x00000008              # TB_OFFSET
372         .short  3                       # NAME_LEN
373         .byte   "__8"                   # NAME
375         .byte   0                       # padding
376         .byte   0                       # padding
377         .byte   0                       # padding
378 # End of traceback table
379 H.20..__3:                              # 0x00000240 (H.10.NO_SYMBOL+0x240)
380         b          __Ld4
381         bcr        BO_ALWAYS,CR0_LT
382         .long   0x00000000
383 # traceback table
384         .byte   0x00                    # VERSION=0
385         .byte   0x09                    # LANG=TB_CPLUSPLUS
386         .byte   0x20                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
387                                         # INT_PROC=0,HAS_CTL=0,TOCLESS=0
388                                         # FP_PRESENT=0,LOG_ABORT=0
389         .byte   0x40                    # INT_HNDL=0,NAME_PRESENT=1
390                                         # USES_ALLOCA=0,CL_DIS_INV=WALK_ONCOND
391                                         # SAVES_CR=0,SAVES_LR=0
392         .byte   0x00                    # STORES_BC=0,FPR_SAVED=0
393         .byte   0x00                    # GPR_SAVED=0
394         .byte   0x00                    # FIXEDPARMS=0
395         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
396         .long   0x00000008              # TB_OFFSET
397         .short  3                       # NAME_LEN
398         .byte   "__3"                   # NAME
400         .byte   0                       # padding
401         .byte   0                       # padding
402         .byte   0                       # padding
403 # End of traceback table
404         .long   0x00000000              # "\0\0\0\0"
405         .long   0x00000000              # "\0\0\0\0"
406         .long   0x00000000              # "\0\0\0\0"
407         .long   0x00000000              # "\0\0\0\0"
408         .long   0x00000000              # "\0\0\0\0"
409         .long   0x00000000              # "\0\0\0\0"
410         .long   0x00000000              # "\0\0\0\0"
411         .long   0x00000000              # "\0\0\0\0"
412 # End   csect   H.10.NO_SYMBOL{PR}
414 # .data section
417         .toc                            # 0x00000280
418 T.46._Z4barfv:
419         .tc     H.46._Z4barfv{TC},_Z4barfv{DS}
420 T.50._ZTIi:
421         .tc     H.50._ZTIi{TC},_ZTIi{UA}
422 T.54.main:
423         .tc     H.54.main{TC},main{DS}
424 T.30.__STATIC:
425         .tc     H.30.__STATIC{TC},E.28.__STATIC{RW}
426 T.24.NO_SYMBOL:
427         .tc     H.24.NO_SYMBOL{TC},H.26.NO_SYMBOL{RO}
428 T.34.__4:
429         .tc     H.34.__4{TC},__4{DS}
430 T.38.__8:
431         .tc     H.38.__8{TC},__8{DS}
432 T.42.__3:
433         .tc     H.42.__3{TC},__3{DS}
436         .csect  _Z4barfv{DS}
437         .long   ._Z4barfv               # "\0\0\0\0"
438         .long   TOC{TC0}                # "\0\0\002\200"
439         .long   0x00000000              # "\0\0\0\0"
440 # End   csect   _Z4barfv{DS}
443         .csect  main{DS}
444         .long   .main                   # "\0\0\0\200"
445         .long   TOC{TC0}                # "\0\0\002\200"
446         .long   0x00000000              # "\0\0\0\0"
447 # End   csect   main{DS}
450         .csect  __4{DS}
451         .long   H.16..__4               # "\0\0\002\0"
452         .long   TOC{TC0}                # "\0\0\002\200"
453         .long   0x00000000              # "\0\0\0\0"
454 # End   csect   __4{DS}
457         .csect  __8{DS}
458         .long   H.18..__8               # "\0\0\002 "
459         .long   TOC{TC0}                # "\0\0\002\200"
460         .long   0x00000000              # "\0\0\0\0"
461 # End   csect   __8{DS}
464         .csect  __3{DS}
465         .long   H.20..__3               # "\0\0\002@"
466         .long   TOC{TC0}                # "\0\0\002\200"
467         .long   0x00000000              # "\0\0\0\0"
468 # End   csect   __3{DS}
471         .csect  E.28.__STATIC{RW}, 3
472         .long   0x1cedbeef              # "\034\355\276\357"
473         .long   0x00000003              # "\0\0\0\003"
474         .long   0x00000000              # "\0\0\0\0"
475         .long   __3{DS}                 # "\0\0\002\320"
476         .long   0xffffffff              # "\377\377\377\377"
477         .long   0x00000000              # "\0\0\0\0"
478         .long   0x00000000              # "\0\0\0\0"
479         .long   0x00000000              # "\0\0\0\0"
480         .long   __8{DS}                 # "\0\0\002\304"
481         .long   0xfffffffe              # "\377\377\377\376"
482         .long   0x00000000              # "\0\0\0\0"
483         .long   0x00000000              # "\0\0\0\0"
484         .long   0x00000000              # "\0\0\0\0"
485         .long   __4{DS}                 # "\0\0\002\270"
486         .long   0xfffffffc              # "\377\377\377\374"
487         .long   0x00000000              # "\0\0\0\0"
488         .long   0x00000000              # "\0\0\0\0"
489 # End   csect   E.28.__STATIC{RW}
492         .csect  H.26.NO_SYMBOL{RO}, 3
493         .long   0x63617567              # "caug"
494         .long   0x68742069              # "ht i"
495         .long   0x6e740a00              # "nt\n\0"
496 # End   csect   H.26.NO_SYMBOL{RO}
500 # .bss section
503 # dwarf sections
505 # end dwarf sections
506 #endif // defined(T1_CPP_CODE)
508 #if defined(T2_CPP_CODE)
510 # This portion of assembly code is generated by IBM legacy xlclang++ compiler
511 # from the following C++ source file for 64-bit mode.
513 # t2.cpp
515 #extern "C" int printf(const char *, ...);
517 #extern "C" unsigned int * __xlc_exception_handle();
519 #extern "C" unsigned int * wrap__xlc_exception_handle() {
520 #  printf("wrap__xlc_exception_handle called\n");
521 #  return __xlc_exception_handle();
525 .set r0,0; .set SP,1; .set RTOC,2; .set r3,3; .set r4,4
526 .set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
527 .set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
528 .set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
529 .set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
530 .set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
531 .set r30,30; .set r31,31
532 .set fp0,0; .set fp1,1; .set fp2,2; .set fp3,3; .set fp4,4
533 .set fp5,5; .set fp6,6; .set fp7,7; .set fp8,8; .set fp9,9
534 .set fp10,10; .set fp11,11; .set fp12,12; .set fp13,13; .set fp14,14
535 .set fp15,15; .set fp16,16; .set fp17,17; .set fp18,18; .set fp19,19
536 .set fp20,20; .set fp21,21; .set fp22,22; .set fp23,23; .set fp24,24
537 .set fp25,25; .set fp26,26; .set fp27,27; .set fp28,28; .set fp29,29
538 .set fp30,30; .set fp31,31
539 .set v0,0; .set v1,1; .set v2,2; .set v3,3; .set v4,4
540 .set v5,5; .set v6,6; .set v7,7; .set v8,8; .set v9,9
541 .set v10,10; .set v11,11; .set v12,12; .set v13,13; .set v14,14
542 .set v15,15; .set v16,16; .set v17,17; .set v18,18; .set v19,19
543 .set v20,20; .set v21,21; .set v22,22; .set v23,23; .set v24,24
544 .set v25,25; .set v26,26; .set v27,27; .set v28,28; .set v29,29
545 .set v30,30; .set v31,31
546 .set x0,0; .set x1,1; .set x2,2; .set x3,3; .set x4,4
547 .set x5,5; .set x6,6; .set x7,7; .set x8,8; .set x9,9
548 .set x10,10; .set x11,11; .set x12,12; .set x13,13; .set x14,14
549 .set x15,15; .set x16,16; .set x17,17; .set x18,18; .set x19,19
550 .set x20,20; .set x21,21; .set x22,22; .set x23,23; .set x24,24
551 .set x25,25; .set x26,26; .set x27,27; .set x28,28; .set x29,29
552 .set x30,30; .set x31,31; .set x32,32; .set x33,33; .set x34,34
553 .set x35,35; .set x36,36; .set x37,37; .set x38,38; .set x39,39
554 .set x40,40; .set x41,41; .set x42,42; .set x43,43; .set x44,44
555 .set x45,45; .set x46,46; .set x47,47; .set x48,48; .set x49,49
556 .set x50,50; .set x51,51; .set x52,52; .set x53,53; .set x54,54
557 .set x55,55; .set x56,56; .set x57,57; .set x58,58; .set x59,59
558 .set x60,60; .set x61,61; .set x62,62; .set x63,63
559 .set q0,0; .set q1,1; .set q2,2; .set q3,3; .set q4,4
560 .set q5,5; .set q6,6; .set q7,7; .set q8,8; .set q9,9
561 .set q10,10; .set q11,11; .set q12,12; .set q13,13; .set q14,14
562 .set q15,15; .set q16,16; .set q17,17; .set q18,18; .set q19,19
563 .set q20,20; .set q21,21; .set q22,22; .set q23,23; .set q24,24
564 .set q25,25; .set q26,26; .set q27,27; .set q28,28; .set q29,29
565 .set q30,30; .set q31,31
566 .set MQ,0; .set XER,1; .set DSCR,3; .set FROM_RTCU,4; .set FROM_RTCL,5
567 .set FROM_DEC,6; .set LR,8; .set CTR,9; .set AMR,13; .set TID,17; .set DSISR,18
568 .set DAR,19; .set TO_RTCU,20; .set TO_RTCL,21; .set TO_DEC,22; .set SDR_0,24
569 .set SDR_1,25; .set SRR_0,26; .set SRR_1,27
570 .set BO_dCTR_NZERO_AND_NOT,0; .set BO_dCTR_NZERO_AND_NOT_1,1
571 .set BO_dCTR_ZERO_AND_NOT,2; .set BO_dCTR_ZERO_AND_NOT_1,3
572 .set BO_IF_NOT,4; .set BO_IF_NOT_1,5; .set BO_IF_NOT_2,6
573 .set BO_IF_NOT_3,7; .set BO_dCTR_NZERO_AND,8; .set BO_dCTR_NZERO_AND_1,9
574 .set BO_dCTR_ZERO_AND,10; .set BO_dCTR_ZERO_AND_1,11; .set BO_IF,12
575 .set BO_IF_1,13; .set BO_IF_2,14; .set BO_IF_3,15; .set BO_dCTR_NZERO,16
576 .set BO_dCTR_NZERO_1,17; .set BO_dCTR_ZERO,18; .set BO_dCTR_ZERO_1,19
577 .set BO_ALWAYS,20; .set BO_ALWAYS_1,21; .set BO_ALWAYS_2,22
578 .set BO_ALWAYS_3,23; .set BO_dCTR_NZERO_8,24; .set BO_dCTR_NZERO_9,25
579 .set BO_dCTR_ZERO_8,26; .set BO_dCTR_ZERO_9,27; .set BO_ALWAYS_8,28
580 .set BO_ALWAYS_9,29; .set BO_ALWAYS_10,30; .set BO_ALWAYS_11,31
581 .set CR0_LT,0; .set CR0_GT,1; .set CR0_EQ,2; .set CR0_SO,3
582 .set CR1_FX,4; .set CR1_FEX,5; .set CR1_VX,6; .set CR1_OX,7
583 .set CR2_LT,8; .set CR2_GT,9; .set CR2_EQ,10; .set CR2_SO,11
584 .set CR3_LT,12; .set CR3_GT,13; .set CR3_EQ,14; .set CR3_SO,15
585 .set CR4_LT,16; .set CR4_GT,17; .set CR4_EQ,18; .set CR4_SO,19
586 .set CR5_LT,20; .set CR5_GT,21; .set CR5_EQ,22; .set CR5_SO,23
587 .set CR6_LT,24; .set CR6_GT,25; .set CR6_EQ,26; .set CR6_SO,27
588 .set CR7_LT,28; .set CR7_GT,29; .set CR7_EQ,30; .set CR7_SO,31
589 .set TO_LT,16; .set TO_GT,8; .set TO_EQ,4; .set TO_LLT,2; .set TO_LGT,1
591         .rename H.10.NO_SYMBOL{PR},""
592         .rename H.16.NO_SYMBOL{TC},""
593         .rename H.18.NO_SYMBOL{RO},""
594         .rename H.22.wrap__xlc_exception_handle{TC},"wrap__xlc_exception_handle"
596         .lglobl H.10.NO_SYMBOL{PR}
597         .globl  .wrap__xlc_exception_handle
598         .lglobl H.18.NO_SYMBOL{RO}
599         .globl  wrap__xlc_exception_handle{DS}
600         .extern .printf{PR}
601         .extern .__xlc_exception_handle{PR}
604 # .text section
605         .file   "t2.cpp","Mon Jan 30 12:53:50 2023 ","IBM XL C/C++ for AIX, Version 16.1.0.13"
609         .csect  H.10.NO_SYMBOL{PR}, 7
610 .wrap__xlc_exception_handle:            # 0x00000000 (H.10.NO_SYMBOL)
611         mfspr      r0,LR
612         st         r31,-4(SP)
613         st         r0,8(SP)
614         stu        SP,-64(SP)
615         l          r31,T.16.NO_SYMBOL(RTOC)
616         oril       r3,r31,0x0000
617         bl         .printf{PR}
618         oril       r0,r0,0x0000
619         bl         .__xlc_exception_handle{PR}
620         oril       r0,r0,0x0000
621         l          r0,72(SP)
622         mtspr      LR,r0
623         cal        SP,64(SP)
624         l          r31,-4(SP)
625         bcr        BO_ALWAYS,CR0_LT
626         .long   0x00000000
627 # traceback table
628         .byte   0x00                    # VERSION=0
629         .byte   0x09                    # LANG=TB_CPLUSPLUS
630         .byte   0x20                    # IS_GL=0,IS_EPROL=0,HAS_TBOFF=1
631                                         # INT_PROC=0,HAS_CTL=0,TOCLESS=0
632                                         # FP_PRESENT=0,LOG_ABORT=0
633         .byte   0x41                    # INT_HNDL=0,NAME_PRESENT=1
634                                         # USES_ALLOCA=0,CL_DIS_INV=WALK_ONCOND
635                                         # SAVES_CR=0,SAVES_LR=1
636         .byte   0x80                    # STORES_BC=1,FPR_SAVED=0
637         .byte   0x01                    # GPR_SAVED=1
638         .byte   0x00                    # FIXEDPARMS=0
639         .byte   0x01                    # FLOATPARMS=0,PARMSONSTK=1
640         .long   0x0000003c              # TB_OFFSET
641         .short  26                      # NAME_LEN
642         .byte   "wrap__xlc_exception_handle" # NAME
644 # End of traceback table
645         .long   0x00000000              # "\0\0\0\0"
646         .long   0x00000000              # "\0\0\0\0"
647         .long   0x00000000              # "\0\0\0\0"
648         .long   0x00000000              # "\0\0\0\0"
649         .long   0x00000000              # "\0\0\0\0"
650         .long   0x00000000              # "\0\0\0\0"
651 # End   csect   H.10.NO_SYMBOL{PR}
653 # .data section
656         .toc                            # 0x00000080
657 T.22.wrap__xlc_exception_handle:
658         .tc     H.22.wrap__xlc_exception_handle{TC},wrap__xlc_exception_handle{DS}
659 T.16.NO_SYMBOL:
660         .tc     H.16.NO_SYMBOL{TC},H.18.NO_SYMBOL{RO}
663         .csect  wrap__xlc_exception_handle{DS}
664         .long   .wrap__xlc_exception_handle# "\0\0\0\0"
665         .long   TOC{TC0}                # "\0\0\0\200"
666         .long   0x00000000              # "\0\0\0\0"
667 # End   csect   wrap__xlc_exception_handle{DS}
670         .csect  H.18.NO_SYMBOL{RO}, 3
671         .long   0x77726170              # "wrap"
672         .long   0x5f5f786c              # "__xl"
673         .long   0x635f6578              # "c_ex"
674         .long   0x63657074              # "cept"
675         .long   0x696f6e5f              # "ion_"
676         .long   0x68616e64              # "hand"
677         .long   0x6c652063              # "le c"
678         .long   0x616c6c65              # "alle"
679 # End   csect   H.18.NO_SYMBOL{RO}
680         .long   0x640a0000              # "d\n\0\0"
684 # .bss section
687 # dwarf sections
689 # end dwarf sections
690 #endif // defined(T2_CPP_CODE)