[PATCH 5/57][Arm][GAS] Add support for MVE instructions: vmull{b,t}
[binutils-gdb.git] / gdb / testsuite / gdb.reverse / singlejmp-reverse.S
blobe8e34a0a0eea9f1af6f1b0547824be96e8576494
1 /* This testcase is part of GDB, the GNU debugger.
3    Copyright 2012-2019 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/>.  */
18 /* This source file was generated by:
19    gcc -o gdb.reverse/singlejmp-reverse.S gdb.reverse/singlejmp-reverse.c -Wall -S -dA -O2 -g
20    */
22         .file   "singlejmp-reverse.c"
23         .text
24 .Ltext0:
25         .p2align 4,,15
26         .type   g, @function
28 .LFB0:
29         .file 1 "gdb.reverse/singlejmp-reverse.c"
30         # gdb.reverse/singlejmp-reverse.c:22
31         .loc 1 22 0
32         .cfi_startproc
33         # basic block 2
34         # gdb.reverse/singlejmp-reverse.c:23
35         .loc 1 23 0
36         movl    $2, v(%rip)
37         # gdb.reverse/singlejmp-reverse.c:24
38         .loc 1 24 0
39         ret
40         .cfi_endproc
41 .LFE0:
42         .size   g, .-g
43         .p2align 4,,15
44         .type   f, @function
46 .LFB1:
47         # gdb.reverse/singlejmp-reverse.c:28
48         .loc 1 28 0
49         .cfi_startproc
50         # basic block 2
51         # gdb.reverse/singlejmp-reverse.c:29
52         .loc 1 29 0
53         jmp     g
54         .cfi_endproc
55 .LFE1:
56         .size   f, .-f
57         .section        .text.startup,"ax",@progbits
58         .p2align 4,,15
59         .globl  main
60         .type   main, @function
61 main:
62 .LFB2:
63         # gdb.reverse/singlejmp-reverse.c:36
64         .loc 1 36 0
65         .cfi_startproc
66         # basic block 2
67         subq    $8, %rsp
68 .LCFI0:
69         .cfi_def_cfa_offset 16
70         # gdb.reverse/singlejmp-reverse.c:37
71         .loc 1 37 0
72         movl    $1, v(%rip)
73         # gdb.reverse/singlejmp-reverse.c:38
74         .loc 1 38 0
75         call    f
76         # gdb.reverse/singlejmp-reverse.c:39
77         .loc 1 39 0
78         call    nodebug
79         # gdb.reverse/singlejmp-reverse.c:40
80         .loc 1 40 0
81         movl    $3, v(%rip)
82         # gdb.reverse/singlejmp-reverse.c:42
83         .loc 1 42 0
84         xorl    %eax, %eax
85         addq    $8, %rsp
86 .LCFI1:
87         .cfi_def_cfa_offset 8
88         ret
89         .cfi_endproc
90 .LFE2:
91         .size   main, .-main
92         .comm   v,4,4
93         .text
94 .Letext0:
95         .section        .debug_info,"",@progbits
96 .Ldebug_info0:
97         .long   0xa1    # Length of Compilation Unit Info
98         .value  0x2     # DWARF version number
99         .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
100         .byte   0x8     # Pointer Size (in bytes)
101         .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
102         .long   .LASF0  # DW_AT_producer: "GNU C 4.6.4 20120911 (prerelease)"
103         .byte   0x1     # DW_AT_language
104         .long   .LASF1  # DW_AT_name: "gdb.reverse/singlejmp-reverse.c"
105         .long   .LASF2  # DW_AT_comp_dir: ""
106         .quad   0       # DW_AT_low_pc
107         .quad   0       # DW_AT_entry_pc
108         .long   .Ldebug_ranges0+0       # DW_AT_ranges
109         .long   .Ldebug_line0   # DW_AT_stmt_list
110         .uleb128 0x2    # (DIE (0x31) DW_TAG_subprogram)
111         .ascii "g\0"    # DW_AT_name
112         .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
113         .byte   0x15    # DW_AT_decl_line
114         .byte   0x1     # DW_AT_prototyped
115         .quad   .LFB0   # DW_AT_low_pc
116         .quad   .LFE0   # DW_AT_high_pc
117         .byte   0x2     # DW_AT_frame_base
118         .byte   0x77    # DW_OP_breg7
119         .sleb128 8
120         .uleb128 0x2    # (DIE (0x4a) DW_TAG_subprogram)
121         .ascii "f\0"    # DW_AT_name
122         .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
123         .byte   0x1b    # DW_AT_decl_line
124         .byte   0x1     # DW_AT_prototyped
125         .quad   .LFB1   # DW_AT_low_pc
126         .quad   .LFE1   # DW_AT_high_pc
127         .byte   0x2     # DW_AT_frame_base
128         .byte   0x77    # DW_OP_breg7
129         .sleb128 8
130         .uleb128 0x3    # (DIE (0x63) DW_TAG_subprogram)
131         .byte   0x1     # DW_AT_external
132         .long   .LASF3  # DW_AT_name: "main"
133         .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
134         .byte   0x23    # DW_AT_decl_line
135         .byte   0x1     # DW_AT_prototyped
136         .long   0x84    # DW_AT_type
137         .quad   .LFB2   # DW_AT_low_pc
138         .quad   .LFE2   # DW_AT_high_pc
139         .long   .LLST0  # DW_AT_frame_base
140         .uleb128 0x4    # (DIE (0x84) DW_TAG_base_type)
141         .byte   0x4     # DW_AT_byte_size
142         .byte   0x5     # DW_AT_encoding
143         .ascii "int\0"  # DW_AT_name
144         .uleb128 0x5    # (DIE (0x8b) DW_TAG_variable)
145         .ascii "v\0"    # DW_AT_name
146         .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
147         .byte   0x12    # DW_AT_decl_line
148         .long   0x9f    # DW_AT_type
149         .byte   0x1     # DW_AT_external
150         .byte   0x9     # DW_AT_location
151         .byte   0x3     # DW_OP_addr
152         .quad   v
153         .uleb128 0x6    # (DIE (0x9f) DW_TAG_volatile_type)
154         .long   0x84    # DW_AT_type
155         .byte   0       # end of children of DIE 0xb
156         .section        .debug_abbrev,"",@progbits
157 .Ldebug_abbrev0:
158         .uleb128 0x1    # (abbrev code)
159         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
160         .byte   0x1     # DW_children_yes
161         .uleb128 0x25   # (DW_AT_producer)
162         .uleb128 0xe    # (DW_FORM_strp)
163         .uleb128 0x13   # (DW_AT_language)
164         .uleb128 0xb    # (DW_FORM_data1)
165         .uleb128 0x3    # (DW_AT_name)
166         .uleb128 0xe    # (DW_FORM_strp)
167         .uleb128 0x1b   # (DW_AT_comp_dir)
168         .uleb128 0xe    # (DW_FORM_strp)
169         .uleb128 0x11   # (DW_AT_low_pc)
170         .uleb128 0x1    # (DW_FORM_addr)
171         .uleb128 0x52   # (DW_AT_entry_pc)
172         .uleb128 0x1    # (DW_FORM_addr)
173         .uleb128 0x55   # (DW_AT_ranges)
174         .uleb128 0x6    # (DW_FORM_data4)
175         .uleb128 0x10   # (DW_AT_stmt_list)
176         .uleb128 0x6    # (DW_FORM_data4)
177         .byte   0
178         .byte   0
179         .uleb128 0x2    # (abbrev code)
180         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
181         .byte   0       # DW_children_no
182         .uleb128 0x3    # (DW_AT_name)
183         .uleb128 0x8    # (DW_FORM_string)
184         .uleb128 0x3a   # (DW_AT_decl_file)
185         .uleb128 0xb    # (DW_FORM_data1)
186         .uleb128 0x3b   # (DW_AT_decl_line)
187         .uleb128 0xb    # (DW_FORM_data1)
188         .uleb128 0x27   # (DW_AT_prototyped)
189         .uleb128 0xc    # (DW_FORM_flag)
190         .uleb128 0x11   # (DW_AT_low_pc)
191         .uleb128 0x1    # (DW_FORM_addr)
192         .uleb128 0x12   # (DW_AT_high_pc)
193         .uleb128 0x1    # (DW_FORM_addr)
194         .uleb128 0x40   # (DW_AT_frame_base)
195         .uleb128 0xa    # (DW_FORM_block1)
196         .byte   0
197         .byte   0
198         .uleb128 0x3    # (abbrev code)
199         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
200         .byte   0       # DW_children_no
201         .uleb128 0x3f   # (DW_AT_external)
202         .uleb128 0xc    # (DW_FORM_flag)
203         .uleb128 0x3    # (DW_AT_name)
204         .uleb128 0xe    # (DW_FORM_strp)
205         .uleb128 0x3a   # (DW_AT_decl_file)
206         .uleb128 0xb    # (DW_FORM_data1)
207         .uleb128 0x3b   # (DW_AT_decl_line)
208         .uleb128 0xb    # (DW_FORM_data1)
209         .uleb128 0x27   # (DW_AT_prototyped)
210         .uleb128 0xc    # (DW_FORM_flag)
211         .uleb128 0x49   # (DW_AT_type)
212         .uleb128 0x13   # (DW_FORM_ref4)
213         .uleb128 0x11   # (DW_AT_low_pc)
214         .uleb128 0x1    # (DW_FORM_addr)
215         .uleb128 0x12   # (DW_AT_high_pc)
216         .uleb128 0x1    # (DW_FORM_addr)
217         .uleb128 0x40   # (DW_AT_frame_base)
218         .uleb128 0x6    # (DW_FORM_data4)
219         .byte   0
220         .byte   0
221         .uleb128 0x4    # (abbrev code)
222         .uleb128 0x24   # (TAG: DW_TAG_base_type)
223         .byte   0       # DW_children_no
224         .uleb128 0xb    # (DW_AT_byte_size)
225         .uleb128 0xb    # (DW_FORM_data1)
226         .uleb128 0x3e   # (DW_AT_encoding)
227         .uleb128 0xb    # (DW_FORM_data1)
228         .uleb128 0x3    # (DW_AT_name)
229         .uleb128 0x8    # (DW_FORM_string)
230         .byte   0
231         .byte   0
232         .uleb128 0x5    # (abbrev code)
233         .uleb128 0x34   # (TAG: DW_TAG_variable)
234         .byte   0       # DW_children_no
235         .uleb128 0x3    # (DW_AT_name)
236         .uleb128 0x8    # (DW_FORM_string)
237         .uleb128 0x3a   # (DW_AT_decl_file)
238         .uleb128 0xb    # (DW_FORM_data1)
239         .uleb128 0x3b   # (DW_AT_decl_line)
240         .uleb128 0xb    # (DW_FORM_data1)
241         .uleb128 0x49   # (DW_AT_type)
242         .uleb128 0x13   # (DW_FORM_ref4)
243         .uleb128 0x3f   # (DW_AT_external)
244         .uleb128 0xc    # (DW_FORM_flag)
245         .uleb128 0x2    # (DW_AT_location)
246         .uleb128 0xa    # (DW_FORM_block1)
247         .byte   0
248         .byte   0
249         .uleb128 0x6    # (abbrev code)
250         .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
251         .byte   0       # DW_children_no
252         .uleb128 0x49   # (DW_AT_type)
253         .uleb128 0x13   # (DW_FORM_ref4)
254         .byte   0
255         .byte   0
256         .byte   0
257         .section        .debug_loc,"",@progbits
258 .Ldebug_loc0:
259 .LLST0:
260         .quad   .LFB2   # Location list begin address (*.LLST0)
261         .quad   .LCFI0  # Location list end address (*.LLST0)
262         .value  0x2     # Location expression size
263         .byte   0x77    # DW_OP_breg7
264         .sleb128 8
265         .quad   .LCFI0  # Location list begin address (*.LLST0)
266         .quad   .LCFI1  # Location list end address (*.LLST0)
267         .value  0x2     # Location expression size
268         .byte   0x77    # DW_OP_breg7
269         .sleb128 16
270         .quad   .LCFI1  # Location list begin address (*.LLST0)
271         .quad   .LFE2   # Location list end address (*.LLST0)
272         .value  0x2     # Location expression size
273         .byte   0x77    # DW_OP_breg7
274         .sleb128 8
275         .quad   0       # Location list terminator begin (*.LLST0)
276         .quad   0       # Location list terminator end (*.LLST0)
277         .section        .debug_aranges,"",@progbits
278         .long   0x3c    # Length of Address Ranges Info
279         .value  0x2     # DWARF Version
280         .long   .Ldebug_info0   # Offset of Compilation Unit Info
281         .byte   0x8     # Size of Address
282         .byte   0       # Size of Segment Descriptor
283         .value  0       # Pad to 16 byte boundary
284         .value  0
285         .quad   .Ltext0 # Address
286         .quad   .Letext0-.Ltext0        # Length
287         .quad   .LFB2   # Address
288         .quad   .LFE2-.LFB2     # Length
289         .quad   0
290         .quad   0
291         .section        .debug_ranges,"",@progbits
292 .Ldebug_ranges0:
293         .quad   .Ltext0 # Offset 0
294         .quad   .Letext0
295         .quad   .LFB2   # Offset 0x10
296         .quad   .LFE2
297         .quad   0
298         .quad   0
299         .section        .debug_line,"",@progbits
300 .Ldebug_line0:
301         .section        .debug_str,"MS",@progbits,1
302 .LASF3:
303         .string "main"
304 .LASF0:
305         .string "GNU C 4.6.4 20120911 (prerelease)"
306 .LASF2:
307         .string ""
308 .LASF1:
309         .string "gdb.reverse/singlejmp-reverse.c"
310         .ident  "GCC: (GNU) 4.6.4 20120911 (prerelease)"
311         .section        .note.GNU-stack,"",@progbits