Add support for converting LDR Rx,=<imm> to MOV or MVN in Thumb2 mode.
[deliverable/binutils-gdb.git] / gas / testsuite / gas / pe / peseh-x64-4.s
CommitLineData
2d7f4929
KT
1 .file "t4.C"
2 .section .text$_ZN5VBase1fEv,"x"
3 .linkonce discard
4 .align 2
5 .globl _ZN5VBase1fEv
6 .def _ZN5VBase1fEv; .scl 2; .type 32; .endef
7 .seh_proc _ZN5VBase1fEv
8_ZN5VBase1fEv:
9.LFB0:
10 pushq %rbp
11 .seh_pushreg %rbp
12 movq %rsp, %rbp
13 .seh_setframe %rbp, 0
14 .seh_endprologue
15 movq %rcx, 16(%rbp)
16 nop
17 popq %rbp
18 ret
19 .seh_endproc
20 .section .text$_ZN10StreamBaseD2Ev,"x"
21 .linkonce discard
22 .align 2
23 .globl _ZN10StreamBaseD2Ev
24 .def _ZN10StreamBaseD2Ev; .scl 2; .type 32; .endef
25 .seh_proc _ZN10StreamBaseD2Ev
26_ZN10StreamBaseD2Ev:
27.LFB2:
28 pushq %rbp
29 .seh_pushreg %rbp
30 movq %rsp, %rbp
31 .seh_setframe %rbp, 0
32 subq $32, %rsp
33 .seh_stackalloc 32
34 .seh_endprologue
35 movq %rcx, 16(%rbp)
36 movq 16(%rbp), %rax
37 leaq 16+_ZTV10StreamBase(%rip), %rdx
38 movq %rdx, (%rax)
39 movl $0, %eax
40 andl $1, %eax
41 testb %al, %al
42 je .L2
43 movq 16(%rbp), %rcx
44 call _ZdlPv
45.L2:
46 nop
47 addq $32, %rsp
48 popq %rbp
49 ret
50 .seh_endproc
51 .section .text$_ZN10StreamBaseD1Ev,"x"
52 .linkonce discard
53 .align 2
54 .globl _ZN10StreamBaseD1Ev
55 .def _ZN10StreamBaseD1Ev; .scl 2; .type 32; .endef
56 .seh_proc _ZN10StreamBaseD1Ev
57_ZN10StreamBaseD1Ev:
58.LFB3:
59 pushq %rbp
60 .seh_pushreg %rbp
61 movq %rsp, %rbp
62 .seh_setframe %rbp, 0
63 subq $32, %rsp
64 .seh_stackalloc 32
65 .seh_endprologue
66 movq %rcx, 16(%rbp)
67 movq 16(%rbp), %rax
68 leaq 16+_ZTV10StreamBase(%rip), %rdx
69 movq %rdx, (%rax)
70 movl $2, %eax
71 andl $1, %eax
72 testb %al, %al
73 je .L5
74 movq 16(%rbp), %rcx
75 call _ZdlPv
76.L5:
77 nop
78 addq $32, %rsp
79 popq %rbp
80 ret
81 .seh_endproc
82 .section .text$_ZN10StreamBaseD0Ev,"x"
83 .linkonce discard
84 .align 2
85 .globl _ZN10StreamBaseD0Ev
86 .def _ZN10StreamBaseD0Ev; .scl 2; .type 32; .endef
87 .seh_proc _ZN10StreamBaseD0Ev
88_ZN10StreamBaseD0Ev:
89.LFB4:
90 pushq %rbp
91 .seh_pushreg %rbp
92 movq %rsp, %rbp
93 .seh_setframe %rbp, 0
94 subq $32, %rsp
95 .seh_stackalloc 32
96 .seh_endprologue
97 movq %rcx, 16(%rbp)
98 movq 16(%rbp), %rcx
99 call _ZN10StreamBaseD1Ev
100 movq 16(%rbp), %rcx
101 call _ZdlPv
102 nop
103 addq $32, %rsp
104 popq %rbp
105 ret
106 .seh_endproc
107 .section .text$_ZN6StreamD2Ev,"x"
108 .linkonce discard
109 .align 2
110 .globl _ZN6StreamD2Ev
111 .def _ZN6StreamD2Ev; .scl 2; .type 32; .endef
112 .seh_proc _ZN6StreamD2Ev
113_ZN6StreamD2Ev:
114.LFB6:
115 pushq %rbp
116 .seh_pushreg %rbp
117 movq %rsp, %rbp
118 .seh_setframe %rbp, 0
119 subq $32, %rsp
120 .seh_stackalloc 32
121 .seh_endprologue
122 movq %rcx, 16(%rbp)
123 movq %rdx, 24(%rbp)
124 movq 24(%rbp), %rax
125 movq (%rax), %rdx
126 movq 16(%rbp), %rax
127 movq %rdx, (%rax)
128 movq 16(%rbp), %rax
129 movq (%rax), %rax
130 subq $24, %rax
131 movq (%rax), %rax
132 addq 16(%rbp), %rax
133 movq 24(%rbp), %rdx
134 addq $8, %rdx
135 movq (%rdx), %rdx
136 movq %rdx, (%rax)
137 movq 16(%rbp), %rcx
138 call _ZN10StreamBaseD2Ev
139 movl $0, %eax
140 andl $2, %eax
141 testl %eax, %eax
142 je .L11
143 movq 16(%rbp), %rax
144 addq $8, %rax
145 movq %rax, %rcx
146 call _ZN5VBaseD2Ev
147.L11:
148 movl $0, %eax
149 andl $1, %eax
150 testb %al, %al
151 je .L10
152 movq 16(%rbp), %rcx
153 call _ZdlPv
154.L10:
155 nop
156 addq $32, %rsp
157 popq %rbp
158 ret
159 .seh_endproc
160 .section .text$_ZN6StreamD1Ev,"x"
161 .linkonce discard
162 .align 2
163 .globl _ZN6StreamD1Ev
164 .def _ZN6StreamD1Ev; .scl 2; .type 32; .endef
165 .seh_proc _ZN6StreamD1Ev
166_ZN6StreamD1Ev:
167.LFB7:
168 pushq %rbp
169 .seh_pushreg %rbp
170 movq %rsp, %rbp
171 .seh_setframe %rbp, 0
172 subq $32, %rsp
173 .seh_stackalloc 32
174 .seh_endprologue
175 movq %rcx, 16(%rbp)
176 leaq 24+_ZTV6Stream(%rip), %rdx
177 movq 16(%rbp), %rax
178 movq %rdx, (%rax)
179 movl $8, %eax
180 addq 16(%rbp), %rax
181 leaq 64+_ZTV6Stream(%rip), %rdx
182 movq %rdx, (%rax)
183 movq 16(%rbp), %rcx
184 call _ZN10StreamBaseD2Ev
185 movl $2, %eax
186 andl $2, %eax
187 testl %eax, %eax
188 je .L14
189 movq 16(%rbp), %rax
190 addq $8, %rax
191 movq %rax, %rcx
192 call _ZN5VBaseD2Ev
193.L14:
194 movl $2, %eax
195 andl $1, %eax
196 testb %al, %al
197 je .L13
198 movq 16(%rbp), %rcx
199 call _ZdlPv
200.L13:
201 nop
202 addq $32, %rsp
203 popq %rbp
204 ret
205 .seh_endproc
206 .section .text$_ZN6StreamD0Ev,"x"
207 .linkonce discard
208 .align 2
209 .globl _ZN6StreamD0Ev
210 .def _ZN6StreamD0Ev; .scl 2; .type 32; .endef
211 .seh_proc _ZN6StreamD0Ev
212_ZN6StreamD0Ev:
213.LFB8:
214 pushq %rbp
215 .seh_pushreg %rbp
216 movq %rsp, %rbp
217 .seh_setframe %rbp, 0
218 subq $32, %rsp
219 .seh_stackalloc 32
220 .seh_endprologue
221 movq %rcx, 16(%rbp)
222 movq 16(%rbp), %rcx
223 call _ZN6StreamD1Ev
224 movq 16(%rbp), %rcx
225 call _ZdlPv
226 nop
227 addq $32, %rsp
228 popq %rbp
229 ret
230 .seh_endproc
231 .globl r
232 .bss
233 .align 4
234r:
235 .space 4
236 .section .text$_ZN13DerivedStreamD1Ev,"x"
237 .linkonce discard
238 .align 2
239 .globl _ZN13DerivedStreamD1Ev
240 .def _ZN13DerivedStreamD1Ev; .scl 2; .type 32; .endef
241 .seh_proc _ZN13DerivedStreamD1Ev
242_ZN13DerivedStreamD1Ev:
243.LFB12:
244 pushq %rbp
245 .seh_pushreg %rbp
246 movq %rsp, %rbp
247 .seh_setframe %rbp, 0
248 pushq %rbx
249 .seh_pushreg %rbx
250 subq $40, %rsp
251 .seh_stackalloc 40
252 .seh_endprologue
253 movq %rcx, 16(%rbp)
254 leaq 24+_ZTV13DerivedStream(%rip), %rdx
255 movq 16(%rbp), %rax
256 movq %rdx, (%rax)
257 movl $8, %eax
258 addq 16(%rbp), %rax
259 leaq 64+_ZTV13DerivedStream(%rip), %rdx
260 movq %rdx, (%rax)
261 leaq _ZTT13DerivedStream(%rip), %rax
262 addq $8, %rax
263 movq %rax, %rdx
264 movq 16(%rbp), %rcx
265.LEHB0:
266 call _ZN6StreamD2Ev
267.LEHE0:
268 movl $2, %eax
269 andl $2, %eax
270 testl %eax, %eax
271 je .L19
272 movq 16(%rbp), %rax
273 addq $8, %rax
274 movq %rax, %rcx
275.LEHB1:
276 call _ZN5VBaseD2Ev
277.LEHE1:
278.L19:
279 movl $2, %eax
280 andl $1, %eax
281 testb %al, %al
282 je .L18
283 movq 16(%rbp), %rcx
284 call _ZdlPv
285 jmp .L18
286.L23:
287 movq %rax, %rbx
288 movl $2, %eax
289 andl $2, %eax
290 testl %eax, %eax
291 je .L22
292 movq 16(%rbp), %rax
293 addq $8, %rax
294 movq %rax, %rcx
295 call _ZN5VBaseD2Ev
296.L22:
297 movq %rbx, %rax
298 movq %rax, %rcx
299.LEHB2:
300 call _Unwind_Resume
301 nop
302.LEHE2:
303.L18:
304 nop
305 addq $40, %rsp
306 popq %rbx
307 popq %rbp
308 ret
309 .def __gxx_personality_v0; .scl 2; .type 32; .endef
310 .seh_handler _GCC_specific_handler, @unwind, @except
311 .seh_handlerdata
312 .rva __gxx_personality_v0
313 .section .text$_ZN13DerivedStreamD1Ev,"x"
314 .linkonce discard
315 .seh_handlerdata
316.LLSDA12:
317 .byte 0xff
318 .byte 0xff
319 .byte 0x1
320 .uleb128 .LLSDACSE12-.LLSDACSB12
321.LLSDACSB12:
322 .uleb128 .LEHB0-.LFB12
323 .uleb128 .LEHE0-.LEHB0
324 .uleb128 .L23-.LFB12
325 .uleb128 0
326 .uleb128 .LEHB1-.LFB12
327 .uleb128 .LEHE1-.LEHB1
328 .uleb128 0
329 .uleb128 0
330 .uleb128 .LEHB2-.LFB12
331 .uleb128 .LEHE2-.LEHB2
332 .uleb128 0
333 .uleb128 0
334.LLSDACSE12:
335 .section .text$_ZN13DerivedStreamD1Ev,"x"
336 .linkonce discard
337 .seh_endproc
338 .section .text$_ZN13DerivedStreamD0Ev,"x"
339 .linkonce discard
340 .align 2
341 .globl _ZN13DerivedStreamD0Ev
342 .def _ZN13DerivedStreamD0Ev; .scl 2; .type 32; .endef
343 .seh_proc _ZN13DerivedStreamD0Ev
344_ZN13DerivedStreamD0Ev:
345.LFB13:
346 pushq %rbp
347 .seh_pushreg %rbp
348 movq %rsp, %rbp
349 .seh_setframe %rbp, 0
350 subq $32, %rsp
351 .seh_stackalloc 32
352 .seh_endprologue
353 movq %rcx, 16(%rbp)
354 movq 16(%rbp), %rcx
355 call _ZN13DerivedStreamD1Ev
356 movq 16(%rbp), %rcx
357 call _ZdlPv
358 nop
359 addq $32, %rsp
360 popq %rbp
361 ret
362 .seh_endproc
363 .text
364 .globl _Z7ctor2_xv
365 .def _Z7ctor2_xv; .scl 2; .type 32; .endef
366 .seh_proc _Z7ctor2_xv
367_Z7ctor2_xv:
368.LFB9:
369 pushq %rbp
370 .seh_pushreg %rbp
371 movq %rsp, %rbp
372 .seh_setframe %rbp, 0
373 subq $48, %rsp
374 .seh_stackalloc 48
375 .seh_endprologue
376 leaq -16(%rbp), %rax
377 movq %rax, %rcx
378.LEHB3:
379 call _ZN13DerivedStreamC1Ev
380 leaq -16(%rbp), %rax
381 movq %rax, %rcx
382 call _ZN13DerivedStreamD1Ev
383.LEHE3:
384.L29:
385 movl r(%rip), %eax
386 testl %eax, %eax
387 je .L27
388.LEHB4:
389 call abort
390 nop
391.L27:
392 movl $0, %ecx
393 call exit
394 nop
395.L30:
396 movq %rax, %rcx
397 call __cxa_begin_catch
398 call __cxa_end_catch
399.LEHE4:
400 jmp .L29
401 .seh_handler _GCC_specific_handler, @unwind, @except
402 .seh_handlerdata
403 .rva __gxx_personality_v0
404 .text
405 .seh_handlerdata
406 .align 4
407.LLSDA9:
408 .byte 0xff
409 .byte 0x9b
410 .uleb128 .LLSDATT9-.LLSDATTD9
411.LLSDATTD9:
412 .byte 0x1
413 .uleb128 .LLSDACSE9-.LLSDACSB9
414.LLSDACSB9:
415 .uleb128 .LEHB3-.LFB9
416 .uleb128 .LEHE3-.LEHB3
417 .uleb128 .L30-.LFB9
418 .uleb128 0x1
419 .uleb128 .LEHB4-.LFB9
420 .uleb128 .LEHE4-.LEHB4
421 .uleb128 0
422 .uleb128 0
423.LLSDACSE9:
424 .byte 0x1
425 .byte 0
426 .align 4
427 .long 0
428
429.LLSDATT9:
430 .text
431 .seh_endproc
432 .globl _ZTV13DerivedStream
433 .section .data$_ZTV13DerivedStream,"w"
434 .linkonce same_size
435 .align 32
436_ZTV13DerivedStream:
437 .quad 8
438 .quad 0
439 .quad _ZTI13DerivedStream
440 .quad _ZN13DerivedStreamD1Ev
441 .quad _ZN13DerivedStreamD0Ev
442 .quad 0
443 .quad -8
444 .quad _ZTI13DerivedStream
445 .quad _ZN5VBase1fEv
446 .globl _ZTT13DerivedStream
447 .section .data$_ZTT13DerivedStream,"w"
448 .linkonce same_size
449 .align 32
450_ZTT13DerivedStream:
451 .quad _ZTV13DerivedStream+24
452 .quad _ZTC13DerivedStream0_6Stream+24
453 .quad _ZTC13DerivedStream0_6Stream+64
454 .quad _ZTV13DerivedStream+64
455 .globl _ZTC13DerivedStream0_6Stream
456 .section .data$_ZTC13DerivedStream0_6Stream,"w"
457 .linkonce same_size
458 .align 32
459_ZTC13DerivedStream0_6Stream:
460 .quad 8
461 .quad 0
462 .quad _ZTI6Stream
463 .quad _ZN6StreamD1Ev
464 .quad _ZN6StreamD0Ev
465 .quad 0
466 .quad -8
467 .quad _ZTI6Stream
468 .quad _ZN5VBase1fEv
469 .globl _ZTV6Stream
470 .section .data$_ZTV6Stream,"w"
471 .linkonce same_size
472 .align 32
473_ZTV6Stream:
474 .quad 8
475 .quad 0
476 .quad _ZTI6Stream
477 .quad _ZN6StreamD1Ev
478 .quad _ZN6StreamD0Ev
479 .quad 0
480 .quad -8
481 .quad _ZTI6Stream
482 .quad _ZN5VBase1fEv
483 .globl _ZTT6Stream
484 .section .data$_ZTT6Stream,"w"
485 .linkonce same_size
486 .align 16
487_ZTT6Stream:
488 .quad _ZTV6Stream+24
489 .quad _ZTV6Stream+64
490 .globl _ZTV10StreamBase
491 .section .data$_ZTV10StreamBase,"w"
492 .linkonce same_size
493 .align 32
494_ZTV10StreamBase:
495 .quad 0
496 .quad _ZTI10StreamBase
497 .quad _ZN10StreamBaseD1Ev
498 .quad _ZN10StreamBaseD0Ev
499 .globl _ZTS13DerivedStream
500 .section .rdata$_ZTS13DerivedStream,"dr"
501 .linkonce same_size
502 .align 16
503_ZTS13DerivedStream:
504 .ascii "13DerivedStream\0"
505 .globl _ZTI13DerivedStream
506 .section .data$_ZTI13DerivedStream,"w"
507 .linkonce same_size
508 .align 16
509_ZTI13DerivedStream:
510 .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16
511 .quad _ZTS13DerivedStream
512 .quad _ZTI6Stream
513 .globl _ZTS6Stream
514 .section .rdata$_ZTS6Stream,"dr"
515 .linkonce same_size
516_ZTS6Stream:
517 .ascii "6Stream\0"
518 .globl _ZTI6Stream
519 .section .data$_ZTI6Stream,"w"
520 .linkonce same_size
521 .align 32
522_ZTI6Stream:
523 .quad _ZTVN10__cxxabiv121__vmi_class_type_infoE+16
524 .quad _ZTS6Stream
525 .long 0
526 .long 2
527 .quad _ZTI5VBase
528 .long -6141
529 .space 4
530 .quad _ZTI10StreamBase
531 .long 2
532 .space 4
533 .globl _ZTS10StreamBase
534 .section .rdata$_ZTS10StreamBase,"dr"
535 .linkonce same_size
536_ZTS10StreamBase:
537 .ascii "10StreamBase\0"
538 .globl _ZTI10StreamBase
539 .section .data$_ZTI10StreamBase,"w"
540 .linkonce same_size
541 .align 16
542_ZTI10StreamBase:
543 .quad _ZTVN10__cxxabiv117__class_type_infoE+16
544 .quad _ZTS10StreamBase
545 .globl _ZTS5VBase
546 .section .rdata$_ZTS5VBase,"dr"
547 .linkonce same_size
548_ZTS5VBase:
549 .ascii "5VBase\0"
550 .globl _ZTI5VBase
551 .section .data$_ZTI5VBase,"w"
552 .linkonce same_size
553 .align 16
554_ZTI5VBase:
555 .quad _ZTVN10__cxxabiv117__class_type_infoE+16
556 .quad _ZTS5VBase
557 .def _ZdlPv; .scl 2; .type 32; .endef
558 .def _ZN5VBaseD2Ev; .scl 2; .type 32; .endef
559 .def _Unwind_Resume; .scl 2; .type 32; .endef
560 .def _ZN13DerivedStreamC1Ev; .scl 2; .type 32; .endef
561 .def abort; .scl 2; .type 32; .endef
562 .def exit; .scl 2; .type 32; .endef
563 .def __cxa_begin_catch; .scl 2; .type 32; .endef
564 .def __cxa_end_catch; .scl 2; .type 32; .endef
This page took 0.252598 seconds and 4 git commands to generate.