1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 2024 Free Software Foundation, Inc.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 This file has been generated using gcc version 10.3.1 20210422
21 gcc -S -dA -g -mptwrite ptwrite.c -o x86_64-ptwrite.S. */
27 .type ptwrite1, @function
35 # PRED: ENTRY (FALLTHRU)
37 .cfi_def_cfa_offset 16
40 .cfi_def_cfa_register 6
48 .file 2 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h"
49 # /usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h:307:3
53 # /usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h:308:1
67 .size ptwrite1, .-ptwrite1
69 .type ptwrite2, @function
76 # PRED: ENTRY (FALLTHRU)
78 .cfi_def_cfa_offset 16
81 .cfi_def_cfa_register 6
89 # /usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h:307:3
93 # /usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h:308:1
103 # SUCC: EXIT [always]
107 .size ptwrite2, .-ptwrite2
109 .type main, @function
116 # PRED: ENTRY (FALLTHRU)
118 .cfi_def_cfa_offset 16
121 .cfi_def_cfa_register 6
137 # SUCC: EXIT [always]
143 .section .debug_info,"",@progbits
145 .long 0x159 # Length of Compilation Unit Info
146 .value 0x4 # DWARF version number
147 .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
148 .byte 0x8 # Pointer Size (in bytes)
149 .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
150 .long .LASF15 # DW_AT_producer: "GNU C17 10.3.1 20210422 (Red Hat 10.3.1-1) -mptwrite -mtune=generic -march=x86-64 -g"
151 .byte 0xc # DW_AT_language
152 .long .LASF16 # DW_AT_name: "ptwrite.c"
153 .long .LASF17 # DW_AT_comp_dir: "gdb/gdb/testsuite/gdb.btrace"
154 .quad .Ltext0 # DW_AT_low_pc
155 .quad .Letext0-.Ltext0 # DW_AT_high_pc
156 .long .Ldebug_line0 # DW_AT_stmt_list
157 .uleb128 0x2 # (DIE (0x2d) DW_TAG_base_type)
158 .byte 0x4 # DW_AT_byte_size
159 .byte 0x5 # DW_AT_encoding
160 .ascii "int\0" # DW_AT_name
161 .uleb128 0x3 # (DIE (0x34) DW_TAG_base_type)
162 .byte 0x2 # DW_AT_byte_size
163 .byte 0x5 # DW_AT_encoding
164 .long .LASF0 # DW_AT_name: "short int"
165 .uleb128 0x3 # (DIE (0x3b) DW_TAG_base_type)
166 .byte 0x1 # DW_AT_byte_size
167 .byte 0x6 # DW_AT_encoding
168 .long .LASF1 # DW_AT_name: "char"
169 .uleb128 0x3 # (DIE (0x42) DW_TAG_base_type)
170 .byte 0x8 # DW_AT_byte_size
171 .byte 0x5 # DW_AT_encoding
172 .long .LASF2 # DW_AT_name: "long long int"
173 .uleb128 0x3 # (DIE (0x49) DW_TAG_base_type)
174 .byte 0x4 # DW_AT_byte_size
175 .byte 0x4 # DW_AT_encoding
176 .long .LASF3 # DW_AT_name: "float"
177 .uleb128 0x3 # (DIE (0x50) DW_TAG_base_type)
178 .byte 0x8 # DW_AT_byte_size
179 .byte 0x7 # DW_AT_encoding
180 .long .LASF4 # DW_AT_name: "long unsigned int"
181 .uleb128 0x3 # (DIE (0x57) DW_TAG_base_type)
182 .byte 0x8 # DW_AT_byte_size
183 .byte 0x5 # DW_AT_encoding
184 .long .LASF5 # DW_AT_name: "long int"
185 .uleb128 0x3 # (DIE (0x5e) DW_TAG_base_type)
186 .byte 0x1 # DW_AT_byte_size
187 .byte 0x8 # DW_AT_encoding
188 .long .LASF6 # DW_AT_name: "unsigned char"
189 .uleb128 0x3 # (DIE (0x65) DW_TAG_base_type)
190 .byte 0x2 # DW_AT_byte_size
191 .byte 0x7 # DW_AT_encoding
192 .long .LASF7 # DW_AT_name: "short unsigned int"
193 .uleb128 0x3 # (DIE (0x6c) DW_TAG_base_type)
194 .byte 0x4 # DW_AT_byte_size
195 .byte 0x7 # DW_AT_encoding
196 .long .LASF8 # DW_AT_name: "unsigned int"
197 .uleb128 0x3 # (DIE (0x73) DW_TAG_base_type)
198 .byte 0x1 # DW_AT_byte_size
199 .byte 0x6 # DW_AT_encoding
200 .long .LASF9 # DW_AT_name: "signed char"
201 .uleb128 0x3 # (DIE (0x7a) DW_TAG_base_type)
202 .byte 0x8 # DW_AT_byte_size
203 .byte 0x7 # DW_AT_encoding
204 .long .LASF10 # DW_AT_name: "long long unsigned int"
205 .uleb128 0x3 # (DIE (0x81) DW_TAG_base_type)
206 .byte 0x8 # DW_AT_byte_size
207 .byte 0x4 # DW_AT_encoding
208 .long .LASF11 # DW_AT_name: "double"
209 .uleb128 0x4 # (DIE (0x88) DW_TAG_subprogram)
211 .long .LASF18 # DW_AT_name: "main"
212 .byte 0x1 # DW_AT_decl_file (ptwrite.c)
213 .byte 0x21 # DW_AT_decl_line
214 .byte 0x1 # DW_AT_decl_column
216 .long 0x2d # DW_AT_type
217 .quad .LFB4098 # DW_AT_low_pc
218 .quad .LFE4098-.LFB4098 # DW_AT_high_pc
219 .uleb128 0x1 # DW_AT_frame_base
220 .byte 0x9c # DW_OP_call_frame_cfa
221 # DW_AT_GNU_all_tail_call_sites
222 .uleb128 0x5 # (DIE (0xa6) DW_TAG_subprogram)
224 .long .LASF12 # DW_AT_name: "ptwrite2"
225 .byte 0x1 # DW_AT_decl_file (ptwrite.c)
226 .byte 0x1b # DW_AT_decl_line
227 .byte 0x1 # DW_AT_decl_column
229 .quad .LFB4097 # DW_AT_low_pc
230 .quad .LFE4097-.LFB4097 # DW_AT_high_pc
231 .uleb128 0x1 # DW_AT_frame_base
232 .byte 0x9c # DW_OP_call_frame_cfa
233 # DW_AT_GNU_all_call_sites
234 .long 0xf5 # DW_AT_sibling
235 .uleb128 0x6 # (DIE (0xc4) DW_TAG_formal_parameter)
236 .long .LASF14 # DW_AT_name: "value"
237 .byte 0x1 # DW_AT_decl_file (ptwrite.c)
238 .byte 0x1b # DW_AT_decl_line
239 .byte 0xf # DW_AT_decl_column
240 .long 0x2d # DW_AT_type
241 .uleb128 0x2 # DW_AT_location
242 .byte 0x91 # DW_OP_fbreg
244 .uleb128 0x7 # (DIE (0xd3) DW_TAG_inlined_subroutine)
245 .long 0x144 # DW_AT_abstract_origin
246 .quad .LBB8 # DW_AT_low_pc
247 .quad .LBE8-.LBB8 # DW_AT_high_pc
248 .byte 0x1 # DW_AT_call_file (ptwrite.c)
249 .byte 0x1d # DW_AT_call_line
250 .byte 0x3 # DW_AT_call_column
251 .uleb128 0x8 # (DIE (0xeb) DW_TAG_formal_parameter)
252 .long 0x14e # DW_AT_abstract_origin
253 .uleb128 0x2 # DW_AT_location
254 .byte 0x91 # DW_OP_fbreg
256 .byte 0 # end of children of DIE 0xd3
257 .byte 0 # end of children of DIE 0xa6
258 .uleb128 0x5 # (DIE (0xf5) DW_TAG_subprogram)
260 .long .LASF13 # DW_AT_name: "ptwrite1"
261 .byte 0x1 # DW_AT_decl_file (ptwrite.c)
262 .byte 0x15 # DW_AT_decl_line
263 .byte 0x1 # DW_AT_decl_column
265 .quad .LFB4096 # DW_AT_low_pc
266 .quad .LFE4096-.LFB4096 # DW_AT_high_pc
267 .uleb128 0x1 # DW_AT_frame_base
268 .byte 0x9c # DW_OP_call_frame_cfa
269 # DW_AT_GNU_all_call_sites
270 .long 0x144 # DW_AT_sibling
271 .uleb128 0x6 # (DIE (0x113) DW_TAG_formal_parameter)
272 .long .LASF14 # DW_AT_name: "value"
273 .byte 0x1 # DW_AT_decl_file (ptwrite.c)
274 .byte 0x15 # DW_AT_decl_line
275 .byte 0xf # DW_AT_decl_column
276 .long 0x2d # DW_AT_type
277 .uleb128 0x2 # DW_AT_location
278 .byte 0x91 # DW_OP_fbreg
280 .uleb128 0x7 # (DIE (0x122) DW_TAG_inlined_subroutine)
281 .long 0x144 # DW_AT_abstract_origin
282 .quad .LBB6 # DW_AT_low_pc
283 .quad .LBE6-.LBB6 # DW_AT_high_pc
284 .byte 0x1 # DW_AT_call_file (ptwrite.c)
285 .byte 0x17 # DW_AT_call_line
286 .byte 0x3 # DW_AT_call_column
287 .uleb128 0x8 # (DIE (0x13a) DW_TAG_formal_parameter)
288 .long 0x14e # DW_AT_abstract_origin
289 .uleb128 0x2 # DW_AT_location
290 .byte 0x91 # DW_OP_fbreg
292 .byte 0 # end of children of DIE 0x122
293 .byte 0 # end of children of DIE 0xf5
294 .uleb128 0x9 # (DIE (0x144) DW_TAG_subprogram)
296 .long .LASF19 # DW_AT_name: "_ptwrite32"
297 .byte 0x2 # DW_AT_decl_file (/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h)
298 .value 0x131 # DW_AT_decl_line
299 .byte 0x1 # DW_AT_decl_column
301 .byte 0x3 # DW_AT_inline
303 .uleb128 0xa # (DIE (0x14e) DW_TAG_formal_parameter)
304 .ascii "__B\0" # DW_AT_name
305 .byte 0x2 # DW_AT_decl_file (/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h)
306 .value 0x131 # DW_AT_decl_line
307 .byte 0x16 # DW_AT_decl_column
308 .long 0x6c # DW_AT_type
309 .byte 0 # end of children of DIE 0x144
310 .byte 0 # end of children of DIE 0xb
311 .section .debug_abbrev,"",@progbits
313 .uleb128 0x1 # (abbrev code)
314 .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
315 .byte 0x1 # DW_children_yes
316 .uleb128 0x25 # (DW_AT_producer)
317 .uleb128 0xe # (DW_FORM_strp)
318 .uleb128 0x13 # (DW_AT_language)
319 .uleb128 0xb # (DW_FORM_data1)
320 .uleb128 0x3 # (DW_AT_name)
321 .uleb128 0xe # (DW_FORM_strp)
322 .uleb128 0x1b # (DW_AT_comp_dir)
323 .uleb128 0xe # (DW_FORM_strp)
324 .uleb128 0x11 # (DW_AT_low_pc)
325 .uleb128 0x1 # (DW_FORM_addr)
326 .uleb128 0x12 # (DW_AT_high_pc)
327 .uleb128 0x7 # (DW_FORM_data8)
328 .uleb128 0x10 # (DW_AT_stmt_list)
329 .uleb128 0x17 # (DW_FORM_sec_offset)
332 .uleb128 0x2 # (abbrev code)
333 .uleb128 0x24 # (TAG: DW_TAG_base_type)
334 .byte 0 # DW_children_no
335 .uleb128 0xb # (DW_AT_byte_size)
336 .uleb128 0xb # (DW_FORM_data1)
337 .uleb128 0x3e # (DW_AT_encoding)
338 .uleb128 0xb # (DW_FORM_data1)
339 .uleb128 0x3 # (DW_AT_name)
340 .uleb128 0x8 # (DW_FORM_string)
343 .uleb128 0x3 # (abbrev code)
344 .uleb128 0x24 # (TAG: DW_TAG_base_type)
345 .byte 0 # DW_children_no
346 .uleb128 0xb # (DW_AT_byte_size)
347 .uleb128 0xb # (DW_FORM_data1)
348 .uleb128 0x3e # (DW_AT_encoding)
349 .uleb128 0xb # (DW_FORM_data1)
350 .uleb128 0x3 # (DW_AT_name)
351 .uleb128 0xe # (DW_FORM_strp)
354 .uleb128 0x4 # (abbrev code)
355 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
356 .byte 0 # DW_children_no
357 .uleb128 0x3f # (DW_AT_external)
358 .uleb128 0x19 # (DW_FORM_flag_present)
359 .uleb128 0x3 # (DW_AT_name)
360 .uleb128 0xe # (DW_FORM_strp)
361 .uleb128 0x3a # (DW_AT_decl_file)
362 .uleb128 0xb # (DW_FORM_data1)
363 .uleb128 0x3b # (DW_AT_decl_line)
364 .uleb128 0xb # (DW_FORM_data1)
365 .uleb128 0x39 # (DW_AT_decl_column)
366 .uleb128 0xb # (DW_FORM_data1)
367 .uleb128 0x27 # (DW_AT_prototyped)
368 .uleb128 0x19 # (DW_FORM_flag_present)
369 .uleb128 0x49 # (DW_AT_type)
370 .uleb128 0x13 # (DW_FORM_ref4)
371 .uleb128 0x11 # (DW_AT_low_pc)
372 .uleb128 0x1 # (DW_FORM_addr)
373 .uleb128 0x12 # (DW_AT_high_pc)
374 .uleb128 0x7 # (DW_FORM_data8)
375 .uleb128 0x40 # (DW_AT_frame_base)
376 .uleb128 0x18 # (DW_FORM_exprloc)
377 .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites)
378 .uleb128 0x19 # (DW_FORM_flag_present)
381 .uleb128 0x5 # (abbrev code)
382 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
383 .byte 0x1 # DW_children_yes
384 .uleb128 0x3f # (DW_AT_external)
385 .uleb128 0x19 # (DW_FORM_flag_present)
386 .uleb128 0x3 # (DW_AT_name)
387 .uleb128 0xe # (DW_FORM_strp)
388 .uleb128 0x3a # (DW_AT_decl_file)
389 .uleb128 0xb # (DW_FORM_data1)
390 .uleb128 0x3b # (DW_AT_decl_line)
391 .uleb128 0xb # (DW_FORM_data1)
392 .uleb128 0x39 # (DW_AT_decl_column)
393 .uleb128 0xb # (DW_FORM_data1)
394 .uleb128 0x27 # (DW_AT_prototyped)
395 .uleb128 0x19 # (DW_FORM_flag_present)
396 .uleb128 0x11 # (DW_AT_low_pc)
397 .uleb128 0x1 # (DW_FORM_addr)
398 .uleb128 0x12 # (DW_AT_high_pc)
399 .uleb128 0x7 # (DW_FORM_data8)
400 .uleb128 0x40 # (DW_AT_frame_base)
401 .uleb128 0x18 # (DW_FORM_exprloc)
402 .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
403 .uleb128 0x19 # (DW_FORM_flag_present)
404 .uleb128 0x1 # (DW_AT_sibling)
405 .uleb128 0x13 # (DW_FORM_ref4)
408 .uleb128 0x6 # (abbrev code)
409 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
410 .byte 0 # DW_children_no
411 .uleb128 0x3 # (DW_AT_name)
412 .uleb128 0xe # (DW_FORM_strp)
413 .uleb128 0x3a # (DW_AT_decl_file)
414 .uleb128 0xb # (DW_FORM_data1)
415 .uleb128 0x3b # (DW_AT_decl_line)
416 .uleb128 0xb # (DW_FORM_data1)
417 .uleb128 0x39 # (DW_AT_decl_column)
418 .uleb128 0xb # (DW_FORM_data1)
419 .uleb128 0x49 # (DW_AT_type)
420 .uleb128 0x13 # (DW_FORM_ref4)
421 .uleb128 0x2 # (DW_AT_location)
422 .uleb128 0x18 # (DW_FORM_exprloc)
425 .uleb128 0x7 # (abbrev code)
426 .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
427 .byte 0x1 # DW_children_yes
428 .uleb128 0x31 # (DW_AT_abstract_origin)
429 .uleb128 0x13 # (DW_FORM_ref4)
430 .uleb128 0x11 # (DW_AT_low_pc)
431 .uleb128 0x1 # (DW_FORM_addr)
432 .uleb128 0x12 # (DW_AT_high_pc)
433 .uleb128 0x7 # (DW_FORM_data8)
434 .uleb128 0x58 # (DW_AT_call_file)
435 .uleb128 0xb # (DW_FORM_data1)
436 .uleb128 0x59 # (DW_AT_call_line)
437 .uleb128 0xb # (DW_FORM_data1)
438 .uleb128 0x57 # (DW_AT_call_column)
439 .uleb128 0xb # (DW_FORM_data1)
442 .uleb128 0x8 # (abbrev code)
443 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
444 .byte 0 # DW_children_no
445 .uleb128 0x31 # (DW_AT_abstract_origin)
446 .uleb128 0x13 # (DW_FORM_ref4)
447 .uleb128 0x2 # (DW_AT_location)
448 .uleb128 0x18 # (DW_FORM_exprloc)
451 .uleb128 0x9 # (abbrev code)
452 .uleb128 0x2e # (TAG: DW_TAG_subprogram)
453 .byte 0x1 # DW_children_yes
454 .uleb128 0x3f # (DW_AT_external)
455 .uleb128 0x19 # (DW_FORM_flag_present)
456 .uleb128 0x3 # (DW_AT_name)
457 .uleb128 0xe # (DW_FORM_strp)
458 .uleb128 0x3a # (DW_AT_decl_file)
459 .uleb128 0xb # (DW_FORM_data1)
460 .uleb128 0x3b # (DW_AT_decl_line)
461 .uleb128 0x5 # (DW_FORM_data2)
462 .uleb128 0x39 # (DW_AT_decl_column)
463 .uleb128 0xb # (DW_FORM_data1)
464 .uleb128 0x27 # (DW_AT_prototyped)
465 .uleb128 0x19 # (DW_FORM_flag_present)
466 .uleb128 0x20 # (DW_AT_inline)
467 .uleb128 0xb # (DW_FORM_data1)
468 .uleb128 0x34 # (DW_AT_artificial)
469 .uleb128 0x19 # (DW_FORM_flag_present)
472 .uleb128 0xa # (abbrev code)
473 .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
474 .byte 0 # DW_children_no
475 .uleb128 0x3 # (DW_AT_name)
476 .uleb128 0x8 # (DW_FORM_string)
477 .uleb128 0x3a # (DW_AT_decl_file)
478 .uleb128 0xb # (DW_FORM_data1)
479 .uleb128 0x3b # (DW_AT_decl_line)
480 .uleb128 0x5 # (DW_FORM_data2)
481 .uleb128 0x39 # (DW_AT_decl_column)
482 .uleb128 0xb # (DW_FORM_data1)
483 .uleb128 0x49 # (DW_AT_type)
484 .uleb128 0x13 # (DW_FORM_ref4)
488 .section .debug_aranges,"",@progbits
489 .long 0x2c # Length of Address Ranges Info
490 .value 0x2 # DWARF aranges version
491 .long .Ldebug_info0 # Offset of Compilation Unit Info
492 .byte 0x8 # Size of Address
493 .byte 0 # Size of Segment Descriptor
494 .value 0 # Pad to 16 byte boundary
496 .quad .Ltext0 # Address
497 .quad .Letext0-.Ltext0 # Length
500 .section .debug_line,"",@progbits
502 .section .debug_str,"MS",@progbits,1
504 .string "long long int"
510 .string "unsigned int"
512 .string "gdb/gdb/testsuite/gdb.btrace"
518 .string "long unsigned int"
520 .string "long long unsigned int"
522 .string "GNU C17 10.3.1 20210422 (Red Hat 10.3.1-1) -mptwrite -mtune=generic -march=x86-64 -g"
528 .string "unsigned char"
536 .string "short unsigned int"
538 .string "signed char"
543 .ident "GCC: (GNU) 10.3.1 20210422 (Red Hat 10.3.1-1)"
544 .section .note.GNU-stack,"",@progbits