2 ; RUN: llc -debugger-tune=gdb -mtriple powerpc-ibm-aix-xcoff < %s | \
3 ; RUN: FileCheck %s --check-prefix=ASM32
4 ; RUN: llc -debugger-tune=gdb -mtriple powerpc64-ibm-aix-xcoff < %s | \
5 ; RUN: FileCheck %s --check-prefix=ASM64
7 source_filename = "1.c"
8 target datalayout = "E-m:a-p:32:32-i64:64-n32"
10 ; Function Attrs: noinline nounwind optnone
11 define i32 @main() #0 !dbg !8 {
13 %retval = alloca i32, align 4
14 store i32 0, i32* %retval, align 4
19 !llvm.module.flags = !{!3, !4, !5, !6}
22 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 12.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None)
23 !1 = !DIFile(filename: "1.c", directory: "debug")
25 !3 = !{i32 7, !"Dwarf Version", i32 4}
26 !4 = !{i32 2, !"Debug Info Version", i32 3}
27 !5 = !{i32 1, !"wchar_size", i32 2}
28 !6 = !{i32 7, !"PIC Level", i32 2}
29 !7 = !{!"clang version 12.0.0"}
30 !8 = distinct !DISubprogram(name: "main", scope: !1, file: !1, line: 1, type: !9, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
31 !9 = !DISubroutineType(types: !10)
33 !11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
34 !12 = !DILocation(line: 3, column: 3, scope: !8)
36 ; ASM32: .csect .text[PR],2
37 ; ASM32-NEXT: .file "1.c"
38 ; ASM32-NEXT: .globl main[DS] # -- Begin function main
39 ; ASM32-NEXT: .globl .main
40 ; ASM32-NEXT: .align 2
41 ; ASM32-NEXT: .csect main[DS],2
42 ; ASM32-NEXT: .vbyte 4, .main # @main
43 ; ASM32-NEXT: .vbyte 4, TOC[TC0]
44 ; ASM32-NEXT: .vbyte 4, 0
45 ; ASM32-NEXT: .csect .text[PR],2
47 ; ASM32-NEXT: L..func_begin0:
48 ; ASM32-NEXT: # %bb.0: # %entry
49 ; ASM32-NEXT: L..tmp0:
51 ; ASM32-NEXT: L..tmp1:
52 ; ASM32-NEXT: L..tmp2:
54 ; ASM32-NEXT: stw 4, -4(1)
56 ; ASM32-NEXT: L..tmp3:
57 ; ASM32-NEXT: L..main0:
58 ; ASM32-NEXT: .vbyte 4, 0x00000000 # Traceback table begin
59 ; ASM32-NEXT: .byte 0x00 # Version = 0
60 ; ASM32-NEXT: .byte 0x09 # Language = CPlusPlus
61 ; ASM32-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
62 ; ASM32-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure
63 ; ASM32-NEXT: # -HasControlledStorage, -IsTOCless
64 ; ASM32-NEXT: # -IsFloatingPointPresent
65 ; ASM32-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled
66 ; ASM32-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
67 ; ASM32-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
68 ; ASM32-NEXT: .byte 0x80 # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
69 ; ASM32-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
70 ; ASM32-NEXT: .byte 0x00 # NumberOfFixedParms = 0
71 ; ASM32-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack
72 ; ASM32-NEXT: .vbyte 4, L..main0-.main # Function size
73 ; ASM32-NEXT: .vbyte 2, 0x0004 # Function name len = 4
74 ; ASM32-NEXT: .byte "main" # Function Name
75 ; ASM32-NEXT: L..func_end0:
76 ; ASM32-NEXT: # -- End function
77 ; ASM32-NEXT: L..sec_end0:
78 ; ASM32: .dwsect 0x60000
79 ; ASM32-NEXT: L...dwabrev:
80 ; ASM32-NEXT: .byte 1 # Abbreviation Code
81 ; ASM32-NEXT: .byte 17 # DW_TAG_compile_unit
82 ; ASM32-NEXT: .byte 1 # DW_CHILDREN_yes
83 ; ASM32-NEXT: .byte 37 # DW_AT_producer
84 ; ASM32-NEXT: .byte 14 # DW_FORM_strp
85 ; ASM32-NEXT: .byte 19 # DW_AT_language
86 ; ASM32-NEXT: .byte 5 # DW_FORM_data2
87 ; ASM32-NEXT: .byte 3 # DW_AT_name
88 ; ASM32-NEXT: .byte 14 # DW_FORM_strp
89 ; ASM32-NEXT: .byte 16 # DW_AT_stmt_list
90 ; ASM32-NEXT: .byte 23 # DW_FORM_sec_offset
91 ; ASM32-NEXT: .byte 27 # DW_AT_comp_dir
92 ; ASM32-NEXT: .byte 14 # DW_FORM_strp
93 ; ASM32-NEXT: .byte 17 # DW_AT_low_pc
94 ; ASM32-NEXT: .byte 1 # DW_FORM_addr
95 ; ASM32-NEXT: .byte 18 # DW_AT_high_pc
96 ; ASM32-NEXT: .byte 6 # DW_FORM_data4
97 ; ASM32-NEXT: .byte 0 # EOM(1)
98 ; ASM32-NEXT: .byte 0 # EOM(2)
99 ; ASM32-NEXT: .byte 2 # Abbreviation Code
100 ; ASM32-NEXT: .byte 46 # DW_TAG_subprogram
101 ; ASM32-NEXT: .byte 0 # DW_CHILDREN_no
102 ; ASM32-NEXT: .byte 17 # DW_AT_low_pc
103 ; ASM32-NEXT: .byte 1 # DW_FORM_addr
104 ; ASM32-NEXT: .byte 18 # DW_AT_high_pc
105 ; ASM32-NEXT: .byte 6 # DW_FORM_data4
106 ; ASM32-NEXT: .byte 64 # DW_AT_frame_base
107 ; ASM32-NEXT: .byte 24 # DW_FORM_exprloc
108 ; ASM32-NEXT: .byte 3 # DW_AT_name
109 ; ASM32-NEXT: .byte 14 # DW_FORM_strp
110 ; ASM32-NEXT: .byte 58 # DW_AT_decl_file
111 ; ASM32-NEXT: .byte 11 # DW_FORM_data1
112 ; ASM32-NEXT: .byte 59 # DW_AT_decl_line
113 ; ASM32-NEXT: .byte 11 # DW_FORM_data1
114 ; ASM32-NEXT: .byte 39 # DW_AT_prototyped
115 ; ASM32-NEXT: .byte 25 # DW_FORM_flag_present
116 ; ASM32-NEXT: .byte 73 # DW_AT_type
117 ; ASM32-NEXT: .byte 19 # DW_FORM_ref4
118 ; ASM32-NEXT: .byte 63 # DW_AT_external
119 ; ASM32-NEXT: .byte 25 # DW_FORM_flag_present
120 ; ASM32-NEXT: .byte 0 # EOM(1)
121 ; ASM32-NEXT: .byte 0 # EOM(2)
122 ; ASM32-NEXT: .byte 3 # Abbreviation Code
123 ; ASM32-NEXT: .byte 36 # DW_TAG_base_type
124 ; ASM32-NEXT: .byte 0 # DW_CHILDREN_no
125 ; ASM32-NEXT: .byte 3 # DW_AT_name
126 ; ASM32-NEXT: .byte 14 # DW_FORM_strp
127 ; ASM32-NEXT: .byte 62 # DW_AT_encoding
128 ; ASM32-NEXT: .byte 11 # DW_FORM_data1
129 ; ASM32-NEXT: .byte 11 # DW_AT_byte_size
130 ; ASM32-NEXT: .byte 11 # DW_FORM_data1
131 ; ASM32-NEXT: .byte 0 # EOM(1)
132 ; ASM32-NEXT: .byte 0 # EOM(2)
133 ; ASM32-NEXT: .byte 0 # EOM(3)
134 ; ASM32: .dwsect 0x10000
135 ; ASM32-NEXT: L...dwinfo:
136 ; ASM32-NEXT: L..cu_begin0:
137 ; ASM32-NEXT: .vbyte 2, 4 # DWARF version number
138 ; ASM32-NEXT: .vbyte 4, L...dwabrev # Offset Into Abbrev. Section
139 ; ASM32-NEXT: .byte 4 # Address Size (in bytes)
140 ; ASM32-NEXT: .byte 1 # Abbrev [1] 0xb:0x38 DW_TAG_compile_unit
141 ; ASM32-NEXT: .vbyte 4, L..info_string0 # DW_AT_producer
142 ; ASM32-NEXT: .vbyte 2, 12 # DW_AT_language
143 ; ASM32-NEXT: .vbyte 4, L..info_string1 # DW_AT_name
144 ; ASM32-NEXT: .vbyte 4, L..line_table_start0 # DW_AT_stmt_list
145 ; ASM32-NEXT: .vbyte 4, L..info_string2 # DW_AT_comp_dir
146 ; ASM32-NEXT: .vbyte 4, L..func_begin0 # DW_AT_low_pc
147 ; ASM32-NEXT: .vbyte 4, L..func_end0-L..func_begin0 # DW_AT_high_pc
148 ; ASM32-NEXT: .byte 2 # Abbrev [2] 0x26:0x15 DW_TAG_subprogram
149 ; ASM32-NEXT: .vbyte 4, L..func_begin0 # DW_AT_low_pc
150 ; ASM32-NEXT: .vbyte 4, L..func_end0-L..func_begin0 # DW_AT_high_pc
151 ; ASM32-NEXT: .byte 1 # DW_AT_frame_base
152 ; ASM32-NEXT: .byte 81
153 ; ASM32-NEXT: .vbyte 4, L..info_string3 # DW_AT_name
154 ; ASM32-NEXT: .byte 1 # DW_AT_decl_file
155 ; ASM32-NEXT: .byte 1 # DW_AT_decl_line
156 ; ASM32-NEXT: # DW_AT_prototyped
157 ; ASM32-NEXT: .vbyte 4, 59 # DW_AT_type
158 ; ASM32-NEXT: # DW_AT_external
159 ; ASM32-NEXT: .byte 3 # Abbrev [3] 0x3b:0x7 DW_TAG_base_type
160 ; ASM32-NEXT: .vbyte 4, L..info_string4 # DW_AT_name
161 ; ASM32-NEXT: .byte 5 # DW_AT_encoding
162 ; ASM32-NEXT: .byte 4 # DW_AT_byte_size
163 ; ASM32-NEXT: .byte 0 # End Of Children Mark
164 ; ASM32-NEXT: L..debug_info_end0:
165 ; ASM32: .dwsect 0x70000
166 ; ASM32-NEXT: L...dwstr:
167 ; ASM32-NEXT: L..info_string0:
168 ; ASM32-NEXT: .string "clang version 12.0.0" # string offset=0
169 ; ASM32-NEXT: L..info_string1:
170 ; ASM32-NEXT: .string "1.c" # string offset=21
171 ; ASM32-NEXT: L..info_string2:
172 ; ASM32-NEXT: .string "debug" # string offset=25
173 ; ASM32-NEXT: L..info_string3:
174 ; ASM32-NEXT: .string "main" # string offset=31
175 ; ASM32-NEXT: L..info_string4:
176 ; ASM32-NEXT: .string "int" # string offset=36
178 ; ASM32: .dwsect 0x20000
179 ; ASM32-NEXT: L...dwline:
180 ; ASM32-NEXT: L..debug_line_0:
181 ; ASM32-NEXT: .set L..line_table_start0, L..debug_line_0-4
182 ; ASM32-NEXT: .vbyte 2, 4
183 ; ASM32-NEXT: .vbyte 4, L..prologue_end0-L..prologue_start0
184 ; ASM32-NEXT: L..prologue_start0:
185 ; ASM32-NEXT: .byte 4
186 ; ASM32-NEXT: .byte 1
187 ; ASM32-NEXT: .byte 1
188 ; ASM32-NEXT: .byte -5
189 ; ASM32-NEXT: .byte 14
190 ; ASM32-NEXT: .byte 13
191 ; ASM32-NEXT: .byte 0
192 ; ASM32-NEXT: .byte 1
193 ; ASM32-NEXT: .byte 1
194 ; ASM32-NEXT: .byte 1
195 ; ASM32-NEXT: .byte 1
196 ; ASM32-NEXT: .byte 0
197 ; ASM32-NEXT: .byte 0
198 ; ASM32-NEXT: .byte 0
199 ; ASM32-NEXT: .byte 1
200 ; ASM32-NEXT: .byte 0
201 ; ASM32-NEXT: .byte 0
202 ; ASM32-NEXT: .byte 1
203 ; ASM32-NEXT: .byte "debug"
204 ; ASM32-NEXT: .byte 0
205 ; ASM32-NEXT: .byte 0
206 ; ASM32-NEXT: .byte "1.c"
207 ; ASM32-NEXT: .byte 0
208 ; ASM32-NEXT: .byte 1
209 ; ASM32-NEXT: .byte 0
210 ; ASM32-NEXT: .byte 0
211 ; ASM32-NEXT: .byte 0
212 ; ASM32-NEXT: L..prologue_end0:
213 ; ASM32-NEXT: .byte 0 # Set address to L..tmp0
214 ; ASM32-NEXT: .byte 5
215 ; ASM32-NEXT: .byte 2
216 ; ASM32-NEXT: .vbyte 4, L..tmp0
217 ; ASM32-NEXT: .byte 19 # Start sequence
218 ; ASM32-NEXT: .byte 5
219 ; ASM32-NEXT: .byte 3
220 ; ASM32-NEXT: .byte 10
221 ; ASM32-NEXT: .byte 0 # Set address to L..tmp2
222 ; ASM32-NEXT: .byte 5
223 ; ASM32-NEXT: .byte 2
224 ; ASM32-NEXT: .vbyte 4, L..tmp2
225 ; ASM32-NEXT: .byte 3 # Advance line 1
226 ; ASM32-NEXT: .byte 1
227 ; ASM32-NEXT: .byte 1
228 ; ASM32-NEXT: .byte 0 # Set address to L..sec_end0
229 ; ASM32-NEXT: .byte 5
230 ; ASM32-NEXT: .byte 2
231 ; ASM32-NEXT: .vbyte 4, L..sec_end0
232 ; ASM32-NEXT: .byte 0 # End sequence
233 ; ASM32-NEXT: .byte 1
234 ; ASM32-NEXT: .byte 1
235 ; ASM32-NEXT: L..debug_line_end0:
237 ; ASM64: .csect .text[PR],2
238 ; ASM64-NEXT: .file "1.c"
239 ; ASM64-NEXT: .globl main[DS] # -- Begin function main
240 ; ASM64-NEXT: .globl .main
241 ; ASM64-NEXT: .align 2
242 ; ASM64-NEXT: .csect main[DS],3
243 ; ASM64-NEXT: .vbyte 8, .main # @main
244 ; ASM64-NEXT: .vbyte 8, TOC[TC0]
245 ; ASM64-NEXT: .vbyte 8, 0
246 ; ASM64-NEXT: .csect .text[PR],2
248 ; ASM64-NEXT: L..func_begin0:
249 ; ASM64-NEXT: # %bb.0: # %entry
250 ; ASM64-NEXT: L..tmp0:
251 ; ASM64-NEXT: li 4, 0
252 ; ASM64-NEXT: L..tmp1:
253 ; ASM64-NEXT: L..tmp2:
254 ; ASM64-NEXT: li 3, 0
255 ; ASM64-NEXT: stw 4, -4(1)
257 ; ASM64-NEXT: L..tmp3:
258 ; ASM64-NEXT: L..main0:
259 ; ASM64-NEXT: .vbyte 4, 0x00000000 # Traceback table begin
260 ; ASM64-NEXT: .byte 0x00 # Version = 0
261 ; ASM64-NEXT: .byte 0x09 # Language = CPlusPlus
262 ; ASM64-NEXT: .byte 0x20 # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
263 ; ASM64-NEXT: # +HasTraceBackTableOffset, -IsInternalProcedure
264 ; ASM64-NEXT: # -HasControlledStorage, -IsTOCless
265 ; ASM64-NEXT: # -IsFloatingPointPresent
266 ; ASM64-NEXT: # -IsFloatingPointOperationLogOrAbortEnabled
267 ; ASM64-NEXT: .byte 0x40 # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
268 ; ASM64-NEXT: # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
269 ; ASM64-NEXT: .byte 0x80 # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
270 ; ASM64-NEXT: .byte 0x00 # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
271 ; ASM64-NEXT: .byte 0x00 # NumberOfFixedParms = 0
272 ; ASM64-NEXT: .byte 0x01 # NumberOfFPParms = 0, +HasParmsOnStack
273 ; ASM64-NEXT: .vbyte 4, L..main0-.main # Function size
274 ; ASM64-NEXT: .vbyte 2, 0x0004 # Function name len = 4
275 ; ASM64-NEXT: .byte "main" # Function Name
276 ; ASM64-NEXT: L..func_end0:
277 ; ASM64-NEXT: # -- End function
278 ; ASM64-NEXT: L..sec_end0:
279 ; ASM64: .dwsect 0x60000
280 ; ASM64-NEXT: L...dwabrev:
281 ; ASM64-NEXT: .byte 1 # Abbreviation Code
282 ; ASM64-NEXT: .byte 17 # DW_TAG_compile_unit
283 ; ASM64-NEXT: .byte 1 # DW_CHILDREN_yes
284 ; ASM64-NEXT: .byte 37 # DW_AT_producer
285 ; ASM64-NEXT: .byte 14 # DW_FORM_strp
286 ; ASM64-NEXT: .byte 19 # DW_AT_language
287 ; ASM64-NEXT: .byte 5 # DW_FORM_data2
288 ; ASM64-NEXT: .byte 3 # DW_AT_name
289 ; ASM64-NEXT: .byte 14 # DW_FORM_strp
290 ; ASM64-NEXT: .byte 16 # DW_AT_stmt_list
291 ; ASM64-NEXT: .byte 23 # DW_FORM_sec_offset
292 ; ASM64-NEXT: .byte 27 # DW_AT_comp_dir
293 ; ASM64-NEXT: .byte 14 # DW_FORM_strp
294 ; ASM64-NEXT: .byte 17 # DW_AT_low_pc
295 ; ASM64-NEXT: .byte 1 # DW_FORM_addr
296 ; ASM64-NEXT: .byte 18 # DW_AT_high_pc
297 ; ASM64-NEXT: .byte 6 # DW_FORM_data4
298 ; ASM64-NEXT: .byte 0 # EOM(1)
299 ; ASM64-NEXT: .byte 0 # EOM(2)
300 ; ASM64-NEXT: .byte 2 # Abbreviation Code
301 ; ASM64-NEXT: .byte 46 # DW_TAG_subprogram
302 ; ASM64-NEXT: .byte 0 # DW_CHILDREN_no
303 ; ASM64-NEXT: .byte 17 # DW_AT_low_pc
304 ; ASM64-NEXT: .byte 1 # DW_FORM_addr
305 ; ASM64-NEXT: .byte 18 # DW_AT_high_pc
306 ; ASM64-NEXT: .byte 6 # DW_FORM_data4
307 ; ASM64-NEXT: .byte 64 # DW_AT_frame_base
308 ; ASM64-NEXT: .byte 24 # DW_FORM_exprloc
309 ; ASM64-NEXT: .byte 3 # DW_AT_name
310 ; ASM64-NEXT: .byte 14 # DW_FORM_strp
311 ; ASM64-NEXT: .byte 58 # DW_AT_decl_file
312 ; ASM64-NEXT: .byte 11 # DW_FORM_data1
313 ; ASM64-NEXT: .byte 59 # DW_AT_decl_line
314 ; ASM64-NEXT: .byte 11 # DW_FORM_data1
315 ; ASM64-NEXT: .byte 39 # DW_AT_prototyped
316 ; ASM64-NEXT: .byte 25 # DW_FORM_flag_present
317 ; ASM64-NEXT: .byte 73 # DW_AT_type
318 ; ASM64-NEXT: .byte 19 # DW_FORM_ref4
319 ; ASM64-NEXT: .byte 63 # DW_AT_external
320 ; ASM64-NEXT: .byte 25 # DW_FORM_flag_present
321 ; ASM64-NEXT: .byte 0 # EOM(1)
322 ; ASM64-NEXT: .byte 0 # EOM(2)
323 ; ASM64-NEXT: .byte 3 # Abbreviation Code
324 ; ASM64-NEXT: .byte 36 # DW_TAG_base_type
325 ; ASM64-NEXT: .byte 0 # DW_CHILDREN_no
326 ; ASM64-NEXT: .byte 3 # DW_AT_name
327 ; ASM64-NEXT: .byte 14 # DW_FORM_strp
328 ; ASM64-NEXT: .byte 62 # DW_AT_encoding
329 ; ASM64-NEXT: .byte 11 # DW_FORM_data1
330 ; ASM64-NEXT: .byte 11 # DW_AT_byte_size
331 ; ASM64-NEXT: .byte 11 # DW_FORM_data1
332 ; ASM64-NEXT: .byte 0 # EOM(1)
333 ; ASM64-NEXT: .byte 0 # EOM(2)
334 ; ASM64-NEXT: .byte 0 # EOM(3)
335 ; ASM64: .dwsect 0x10000
336 ; ASM64-NEXT: L...dwinfo:
337 ; ASM64-NEXT: L..cu_begin0:
338 ; ASM64-NEXT: .vbyte 2, 4 # DWARF version number
339 ; ASM64-NEXT: .vbyte 8, L...dwabrev # Offset Into Abbrev. Section
340 ; ASM64-NEXT: .byte 8 # Address Size (in bytes)
341 ; ASM64-NEXT: .byte 1 # Abbrev [1] 0x17:0x58 DW_TAG_compile_unit
342 ; ASM64-NEXT: .vbyte 8, L..info_string0 # DW_AT_producer
343 ; ASM64-NEXT: .vbyte 2, 12 # DW_AT_language
344 ; ASM64-NEXT: .vbyte 8, L..info_string1 # DW_AT_name
345 ; ASM64-NEXT: .vbyte 8, L..line_table_start0 # DW_AT_stmt_list
346 ; ASM64-NEXT: .vbyte 8, L..info_string2 # DW_AT_comp_dir
347 ; ASM64-NEXT: .vbyte 8, L..func_begin0 # DW_AT_low_pc
348 ; ASM64-NEXT: .vbyte 4, L..func_end0-L..func_begin0 # DW_AT_high_pc
349 ; ASM64-NEXT: .byte 2 # Abbrev [2] 0x46:0x1d DW_TAG_subprogram
350 ; ASM64-NEXT: .vbyte 8, L..func_begin0 # DW_AT_low_pc
351 ; ASM64-NEXT: .vbyte 4, L..func_end0-L..func_begin0 # DW_AT_high_pc
352 ; ASM64-NEXT: .byte 1 # DW_AT_frame_base
353 ; ASM64-NEXT: .byte 81
354 ; ASM64-NEXT: .vbyte 8, L..info_string3 # DW_AT_name
355 ; ASM64-NEXT: .byte 1 # DW_AT_decl_file
356 ; ASM64-NEXT: .byte 1 # DW_AT_decl_line
357 ; ASM64-NEXT: # DW_AT_prototyped
358 ; ASM64-NEXT: .vbyte 4, 99 # DW_AT_type
359 ; ASM64-NEXT: # DW_AT_external
360 ; ASM64-NEXT: .byte 3 # Abbrev [3] 0x63:0xb DW_TAG_base_type
361 ; ASM64-NEXT: .vbyte 8, L..info_string4 # DW_AT_name
362 ; ASM64-NEXT: .byte 5 # DW_AT_encoding
363 ; ASM64-NEXT: .byte 4 # DW_AT_byte_size
364 ; ASM64-NEXT: .byte 0 # End Of Children Mark
365 ; ASM64-NEXT: L..debug_info_end0:
366 ; ASM64: .dwsect 0x70000
367 ; ASM64-NEXT: L...dwstr:
368 ; ASM64-NEXT: L..info_string0:
369 ; ASM64-NEXT: .string "clang version 12.0.0" # string offset=0
370 ; ASM64-NEXT: L..info_string1:
371 ; ASM64-NEXT: .string "1.c" # string offset=21
372 ; ASM64-NEXT: L..info_string2:
373 ; ASM64-NEXT: .string "debug" # string offset=25
374 ; ASM64-NEXT: L..info_string3:
375 ; ASM64-NEXT: .string "main" # string offset=31
376 ; ASM64-NEXT: L..info_string4:
377 ; ASM64-NEXT: .string "int" # string offset=36
379 ; ASM64: .dwsect 0x20000
380 ; ASM64-NEXT: L...dwline:
381 ; ASM64-NEXT: L..debug_line_0:
382 ; ASM64-NEXT: .set L..line_table_start0, L..debug_line_0-12
383 ; ASM64-NEXT: .vbyte 2, 4
384 ; ASM64-NEXT: .vbyte 8, L..prologue_end0-L..prologue_start0
385 ; ASM64-NEXT: L..prologue_start0:
386 ; ASM64-NEXT: .byte 4
387 ; ASM64-NEXT: .byte 1
388 ; ASM64-NEXT: .byte 1
389 ; ASM64-NEXT: .byte -5
390 ; ASM64-NEXT: .byte 14
391 ; ASM64-NEXT: .byte 13
392 ; ASM64-NEXT: .byte 0
393 ; ASM64-NEXT: .byte 1
394 ; ASM64-NEXT: .byte 1
395 ; ASM64-NEXT: .byte 1
396 ; ASM64-NEXT: .byte 1
397 ; ASM64-NEXT: .byte 0
398 ; ASM64-NEXT: .byte 0
399 ; ASM64-NEXT: .byte 0
400 ; ASM64-NEXT: .byte 1
401 ; ASM64-NEXT: .byte 0
402 ; ASM64-NEXT: .byte 0
403 ; ASM64-NEXT: .byte 1
404 ; ASM64-NEXT: .byte "debug"
405 ; ASM64-NEXT: .byte 0
406 ; ASM64-NEXT: .byte 0
407 ; ASM64-NEXT: .byte "1.c"
408 ; ASM64-NEXT: .byte 0
409 ; ASM64-NEXT: .byte 1
410 ; ASM64-NEXT: .byte 0
411 ; ASM64-NEXT: .byte 0
412 ; ASM64-NEXT: .byte 0
413 ; ASM64-NEXT: L..prologue_end0:
414 ; ASM64-NEXT: .byte 0 # Set address to L..tmp0
415 ; ASM64-NEXT: .byte 9
416 ; ASM64-NEXT: .byte 2
417 ; ASM64-NEXT: .vbyte 8, L..tmp0
418 ; ASM64-NEXT: .byte 19 # Start sequence
419 ; ASM64-NEXT: .byte 5
420 ; ASM64-NEXT: .byte 3
421 ; ASM64-NEXT: .byte 10
422 ; ASM64-NEXT: .byte 0 # Set address to L..tmp2
423 ; ASM64-NEXT: .byte 9
424 ; ASM64-NEXT: .byte 2
425 ; ASM64-NEXT: .vbyte 8, L..tmp2
426 ; ASM64-NEXT: .byte 3 # Advance line 1
427 ; ASM64-NEXT: .byte 1
428 ; ASM64-NEXT: .byte 1
429 ; ASM64-NEXT: .byte 0 # Set address to L..sec_end0
430 ; ASM64-NEXT: .byte 9
431 ; ASM64-NEXT: .byte 2
432 ; ASM64-NEXT: .vbyte 8, L..sec_end0
433 ; ASM64-NEXT: .byte 0 # End sequence
434 ; ASM64-NEXT: .byte 1
435 ; ASM64-NEXT: .byte 1
436 ; ASM64-NEXT: L..debug_line_end0: