dfa66d1ecb8a41b77da541808102a08874adbb5e
[platform/upstream/gdb.git] / gdb / testsuite / gdb.arch / amd64-prologue-xmm.s
1 /* This testcase is part of GDB, the GNU debugger.
2         
3    Copyright 2011-2015 Free Software Foundation, Inc.
4
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.
9
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.
14
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/>.  */
17         
18 /* This file is compiled from gdb.arch/amd64-prologue-xmm.c
19    using -g -dA -S.  */
20
21         .file   "amd64-prologue-xmm.c"
22         .text
23 .Ltext0:
24         .local  v
25         .comm   v,4,4
26         .local  fail
27         .comm   fail,4,4
28         .type   func, @function
29 func:
30 .LFB0:
31         .file 1 "gdb.arch/amd64-prologue-xmm.c"
32         # gdb.arch/amd64-prologue-xmm.c:22
33         .loc 1 22 0
34         .cfi_startproc
35         # basic block 2
36         pushq   %rbp
37         .cfi_def_cfa_offset 16
38         .cfi_offset 6, -16
39         movq    %rsp, %rbp
40         .cfi_def_cfa_register 6
41         subq    $72, %rsp
42         movq    %rsi, -168(%rbp)
43         movq    %rdx, -160(%rbp)
44         movq    %rcx, -152(%rbp)
45         movq    %r8, -144(%rbp)
46         movq    %r9, -136(%rbp)
47         testb   %al, %al
48         je      .L2
49         # basic block 3
50         # gdb.arch/amd64-prologue-xmm.c:22
51         .loc 1 22 0
52         movaps  %xmm0, -128(%rbp)
53         movaps  %xmm1, -112(%rbp)
54         movaps  %xmm2, -96(%rbp)
55         movaps  %xmm3, -80(%rbp)
56         movaps  %xmm4, -64(%rbp)
57         movaps  %xmm5, -48(%rbp)
58         movaps  %xmm6, -32(%rbp)
59         movaps  %xmm7, -16(%rbp)
60 .L2:
61         # basic block 4
62         movl    %edi, -180(%rbp)
63         # gdb.arch/amd64-prologue-xmm.c:23
64         .loc 1 23 0
65         movl    -180(%rbp), %eax
66         movl    %eax, v(%rip)
67         # gdb.arch/amd64-prologue-xmm.c:24
68         .loc 1 24 0
69         leave
70         .cfi_def_cfa 7, 8
71         ret
72         .cfi_endproc
73 .LFE0:
74         .size   func, .-func
75         .type   marker, @function
76 marker:
77 .LFB1:
78         # gdb.arch/amd64-prologue-xmm.c:28
79         .loc 1 28 0
80         .cfi_startproc
81         # basic block 2
82         pushq   %rbp
83         .cfi_def_cfa_offset 16
84         .cfi_offset 6, -16
85         movq    %rsp, %rbp
86         .cfi_def_cfa_register 6
87         # gdb.arch/amd64-prologue-xmm.c:29
88         .loc 1 29 0
89         popq    %rbp
90         .cfi_def_cfa 7, 8
91         ret
92         .cfi_endproc
93 .LFE1:
94         .size   marker, .-marker
95         .globl  main
96         .type   main, @function
97 main:
98 .LFB2:
99         # gdb.arch/amd64-prologue-xmm.c:33
100         .loc 1 33 0
101         .cfi_startproc
102         # basic block 2
103         pushq   %rbp
104         .cfi_def_cfa_offset 16
105         .cfi_offset 6, -16
106         movq    %rsp, %rbp
107         .cfi_def_cfa_register 6
108         # gdb.arch/amd64-prologue-xmm.c:34
109         .loc 1 34 0
110         movl    $1, %edi
111         movl    $0, %eax
112         call    func
113         # gdb.arch/amd64-prologue-xmm.c:35
114         .loc 1 35 0
115         movl    $1, fail(%rip)
116         # gdb.arch/amd64-prologue-xmm.c:36
117         .loc 1 36 0
118         call    marker
119         # gdb.arch/amd64-prologue-xmm.c:37
120         .loc 1 37 0
121         movl    $0, %eax
122         # gdb.arch/amd64-prologue-xmm.c:38
123         .loc 1 38 0
124         popq    %rbp
125         .cfi_def_cfa 7, 8
126         ret
127         .cfi_endproc
128 .LFE2:
129         .size   main, .-main
130 .Letext0:
131         .section        .debug_info,"",@progbits
132 .Ldebug_info0:
133         .long   0xc0    # Length of Compilation Unit Info
134         .value  0x4     # DWARF version number
135         .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
136         .byte   0x8     # Pointer Size (in bytes)
137         .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
138         .long   .LASF1  # DW_AT_producer: "GNU C 4.6.1 20110715 (Red Hat 4.6.1-3)"
139         .byte   0x1     # DW_AT_language
140         .long   .LASF2  # DW_AT_name: "gdb.arch/amd64-prologue-xmm.c"
141         .long   .LASF3  # DW_AT_comp_dir: ""
142         .quad   .Ltext0 # DW_AT_low_pc
143         .quad   .Letext0        # DW_AT_high_pc
144         .long   .Ldebug_line0   # DW_AT_stmt_list
145         .uleb128 0x2    # (DIE (0x2d) DW_TAG_subprogram)
146         .long   .LASF4  # DW_AT_name: "func"
147         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
148         .byte   0x15    # DW_AT_decl_line
149                         # DW_AT_prototyped
150         .quad   .LFB0   # DW_AT_low_pc
151         .quad   .LFE0   # DW_AT_high_pc
152         .uleb128 0x1    # DW_AT_frame_base
153         .byte   0x9c    # DW_OP_call_frame_cfa
154                         # DW_AT_GNU_all_call_sites
155         .long   0x59    # DW_AT_sibling
156         .uleb128 0x3    # (DIE (0x4a) DW_TAG_formal_parameter)
157         .ascii "i\0"    # DW_AT_name
158         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
159         .byte   0x15    # DW_AT_decl_line
160         .long   0x59    # DW_AT_type
161         .uleb128 0x3    # DW_AT_location
162         .byte   0x91    # DW_OP_fbreg
163         .sleb128 -196
164         .uleb128 0x4    # (DIE (0x57) DW_TAG_unspecified_parameters)
165         .byte   0       # end of children of DIE 0x2d
166         .uleb128 0x5    # (DIE (0x59) DW_TAG_base_type)
167         .byte   0x4     # DW_AT_byte_size
168         .byte   0x5     # DW_AT_encoding
169         .ascii "int\0"  # DW_AT_name
170         .uleb128 0x6    # (DIE (0x60) DW_TAG_subprogram)
171         .long   .LASF5  # DW_AT_name: "marker"
172         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
173         .byte   0x1b    # DW_AT_decl_line
174                         # DW_AT_prototyped
175         .quad   .LFB1   # DW_AT_low_pc
176         .quad   .LFE1   # DW_AT_high_pc
177         .uleb128 0x1    # DW_AT_frame_base
178         .byte   0x9c    # DW_OP_call_frame_cfa
179                         # DW_AT_GNU_all_call_sites
180         .uleb128 0x7    # (DIE (0x79) DW_TAG_subprogram)
181                         # DW_AT_external
182         .long   .LASF6  # DW_AT_name: "main"
183         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
184         .byte   0x20    # DW_AT_decl_line
185                         # DW_AT_prototyped
186         .long   0x59    # DW_AT_type
187         .quad   .LFB2   # DW_AT_low_pc
188         .quad   .LFE2   # DW_AT_high_pc
189         .uleb128 0x1    # DW_AT_frame_base
190         .byte   0x9c    # DW_OP_call_frame_cfa
191                         # DW_AT_GNU_all_tail_call_sites
192         .uleb128 0x8    # (DIE (0x96) DW_TAG_variable)
193         .ascii "v\0"    # DW_AT_name
194         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
195         .byte   0x12    # DW_AT_decl_line
196         .long   0xa9    # DW_AT_type
197         .uleb128 0x9    # DW_AT_location
198         .byte   0x3     # DW_OP_addr
199         .quad   v
200         .uleb128 0x9    # (DIE (0xa9) DW_TAG_volatile_type)
201         .long   0x59    # DW_AT_type
202         .uleb128 0xa    # (DIE (0xae) DW_TAG_variable)
203         .long   .LASF0  # DW_AT_name: "fail"
204         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-prologue-xmm.c)
205         .byte   0x12    # DW_AT_decl_line
206         .long   0xa9    # DW_AT_type
207         .uleb128 0x9    # DW_AT_location
208         .byte   0x3     # DW_OP_addr
209         .quad   fail
210         .byte   0       # end of children of DIE 0xb
211         .section        .debug_abbrev,"",@progbits
212 .Ldebug_abbrev0:
213         .uleb128 0x1    # (abbrev code)
214         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
215         .byte   0x1     # DW_children_yes
216         .uleb128 0x25   # (DW_AT_producer)
217         .uleb128 0xe    # (DW_FORM_strp)
218         .uleb128 0x13   # (DW_AT_language)
219         .uleb128 0xb    # (DW_FORM_data1)
220         .uleb128 0x3    # (DW_AT_name)
221         .uleb128 0xe    # (DW_FORM_strp)
222         .uleb128 0x1b   # (DW_AT_comp_dir)
223         .uleb128 0xe    # (DW_FORM_strp)
224         .uleb128 0x11   # (DW_AT_low_pc)
225         .uleb128 0x1    # (DW_FORM_addr)
226         .uleb128 0x12   # (DW_AT_high_pc)
227         .uleb128 0x1    # (DW_FORM_addr)
228         .uleb128 0x10   # (DW_AT_stmt_list)
229         .uleb128 0x17   # (DW_FORM_sec_offset)
230         .byte   0
231         .byte   0
232         .uleb128 0x2    # (abbrev code)
233         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
234         .byte   0x1     # DW_children_yes
235         .uleb128 0x3    # (DW_AT_name)
236         .uleb128 0xe    # (DW_FORM_strp)
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 0x27   # (DW_AT_prototyped)
242         .uleb128 0x19   # (DW_FORM_flag_present)
243         .uleb128 0x11   # (DW_AT_low_pc)
244         .uleb128 0x1    # (DW_FORM_addr)
245         .uleb128 0x12   # (DW_AT_high_pc)
246         .uleb128 0x1    # (DW_FORM_addr)
247         .uleb128 0x40   # (DW_AT_frame_base)
248         .uleb128 0x18   # (DW_FORM_exprloc)
249         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
250         .uleb128 0x19   # (DW_FORM_flag_present)
251         .uleb128 0x1    # (DW_AT_sibling)
252         .uleb128 0x13   # (DW_FORM_ref4)
253         .byte   0
254         .byte   0
255         .uleb128 0x3    # (abbrev code)
256         .uleb128 0x5    # (TAG: DW_TAG_formal_parameter)
257         .byte   0       # DW_children_no
258         .uleb128 0x3    # (DW_AT_name)
259         .uleb128 0x8    # (DW_FORM_string)
260         .uleb128 0x3a   # (DW_AT_decl_file)
261         .uleb128 0xb    # (DW_FORM_data1)
262         .uleb128 0x3b   # (DW_AT_decl_line)
263         .uleb128 0xb    # (DW_FORM_data1)
264         .uleb128 0x49   # (DW_AT_type)
265         .uleb128 0x13   # (DW_FORM_ref4)
266         .uleb128 0x2    # (DW_AT_location)
267         .uleb128 0x18   # (DW_FORM_exprloc)
268         .byte   0
269         .byte   0
270         .uleb128 0x4    # (abbrev code)
271         .uleb128 0x18   # (TAG: DW_TAG_unspecified_parameters)
272         .byte   0       # DW_children_no
273         .byte   0
274         .byte   0
275         .uleb128 0x5    # (abbrev code)
276         .uleb128 0x24   # (TAG: DW_TAG_base_type)
277         .byte   0       # DW_children_no
278         .uleb128 0xb    # (DW_AT_byte_size)
279         .uleb128 0xb    # (DW_FORM_data1)
280         .uleb128 0x3e   # (DW_AT_encoding)
281         .uleb128 0xb    # (DW_FORM_data1)
282         .uleb128 0x3    # (DW_AT_name)
283         .uleb128 0x8    # (DW_FORM_string)
284         .byte   0
285         .byte   0
286         .uleb128 0x6    # (abbrev code)
287         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
288         .byte   0       # DW_children_no
289         .uleb128 0x3    # (DW_AT_name)
290         .uleb128 0xe    # (DW_FORM_strp)
291         .uleb128 0x3a   # (DW_AT_decl_file)
292         .uleb128 0xb    # (DW_FORM_data1)
293         .uleb128 0x3b   # (DW_AT_decl_line)
294         .uleb128 0xb    # (DW_FORM_data1)
295         .uleb128 0x27   # (DW_AT_prototyped)
296         .uleb128 0x19   # (DW_FORM_flag_present)
297         .uleb128 0x11   # (DW_AT_low_pc)
298         .uleb128 0x1    # (DW_FORM_addr)
299         .uleb128 0x12   # (DW_AT_high_pc)
300         .uleb128 0x1    # (DW_FORM_addr)
301         .uleb128 0x40   # (DW_AT_frame_base)
302         .uleb128 0x18   # (DW_FORM_exprloc)
303         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
304         .uleb128 0x19   # (DW_FORM_flag_present)
305         .byte   0
306         .byte   0
307         .uleb128 0x7    # (abbrev code)
308         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
309         .byte   0       # DW_children_no
310         .uleb128 0x3f   # (DW_AT_external)
311         .uleb128 0x19   # (DW_FORM_flag_present)
312         .uleb128 0x3    # (DW_AT_name)
313         .uleb128 0xe    # (DW_FORM_strp)
314         .uleb128 0x3a   # (DW_AT_decl_file)
315         .uleb128 0xb    # (DW_FORM_data1)
316         .uleb128 0x3b   # (DW_AT_decl_line)
317         .uleb128 0xb    # (DW_FORM_data1)
318         .uleb128 0x27   # (DW_AT_prototyped)
319         .uleb128 0x19   # (DW_FORM_flag_present)
320         .uleb128 0x49   # (DW_AT_type)
321         .uleb128 0x13   # (DW_FORM_ref4)
322         .uleb128 0x11   # (DW_AT_low_pc)
323         .uleb128 0x1    # (DW_FORM_addr)
324         .uleb128 0x12   # (DW_AT_high_pc)
325         .uleb128 0x1    # (DW_FORM_addr)
326         .uleb128 0x40   # (DW_AT_frame_base)
327         .uleb128 0x18   # (DW_FORM_exprloc)
328         .uleb128 0x2116 # (DW_AT_GNU_all_tail_call_sites)
329         .uleb128 0x19   # (DW_FORM_flag_present)
330         .byte   0
331         .byte   0
332         .uleb128 0x8    # (abbrev code)
333         .uleb128 0x34   # (TAG: DW_TAG_variable)
334         .byte   0       # DW_children_no
335         .uleb128 0x3    # (DW_AT_name)
336         .uleb128 0x8    # (DW_FORM_string)
337         .uleb128 0x3a   # (DW_AT_decl_file)
338         .uleb128 0xb    # (DW_FORM_data1)
339         .uleb128 0x3b   # (DW_AT_decl_line)
340         .uleb128 0xb    # (DW_FORM_data1)
341         .uleb128 0x49   # (DW_AT_type)
342         .uleb128 0x13   # (DW_FORM_ref4)
343         .uleb128 0x2    # (DW_AT_location)
344         .uleb128 0x18   # (DW_FORM_exprloc)
345         .byte   0
346         .byte   0
347         .uleb128 0x9    # (abbrev code)
348         .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
349         .byte   0       # DW_children_no
350         .uleb128 0x49   # (DW_AT_type)
351         .uleb128 0x13   # (DW_FORM_ref4)
352         .byte   0
353         .byte   0
354         .uleb128 0xa    # (abbrev code)
355         .uleb128 0x34   # (TAG: DW_TAG_variable)
356         .byte   0       # DW_children_no
357         .uleb128 0x3    # (DW_AT_name)
358         .uleb128 0xe    # (DW_FORM_strp)
359         .uleb128 0x3a   # (DW_AT_decl_file)
360         .uleb128 0xb    # (DW_FORM_data1)
361         .uleb128 0x3b   # (DW_AT_decl_line)
362         .uleb128 0xb    # (DW_FORM_data1)
363         .uleb128 0x49   # (DW_AT_type)
364         .uleb128 0x13   # (DW_FORM_ref4)
365         .uleb128 0x2    # (DW_AT_location)
366         .uleb128 0x18   # (DW_FORM_exprloc)
367         .byte   0
368         .byte   0
369         .byte   0
370         .section        .debug_aranges,"",@progbits
371         .long   0x2c    # Length of Address Ranges Info
372         .value  0x2     # DWARF Version
373         .long   .Ldebug_info0   # Offset of Compilation Unit Info
374         .byte   0x8     # Size of Address
375         .byte   0       # Size of Segment Descriptor
376         .value  0       # Pad to 16 byte boundary
377         .value  0
378         .quad   .Ltext0 # Address
379         .quad   .Letext0-.Ltext0        # Length
380         .quad   0
381         .quad   0
382         .section        .debug_line,"",@progbits
383 .Ldebug_line0:
384         .section        .debug_str,"MS",@progbits,1
385 .LASF3:
386         .string ""
387 .LASF0:
388         .string "fail"
389 .LASF4:
390         .string "func"
391 .LASF1:
392         .string "GNU C 4.6.1 20110715 (Red Hat 4.6.1-3)"
393 .LASF2:
394         .string "gdb.arch/amd64-prologue-xmm.c"
395 .LASF5:
396         .string "marker"
397 .LASF6:
398         .string "main"
399         .ident  "GCC: (GNU) 4.6.1 20110715 (Red Hat 4.6.1-3)"
400         .section        .note.GNU-stack,"",@progbits