1 # Check that llvm-bolt is able to read a file with DWARF Exception CFI
2 # information and fix CFI information after reordering.
4 # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
5 # RUN: llvm-strip --strip-unneeded %t.o
6 # RUN: %clangxx %cflags %t.o -o %t.exe
7 # RUN: llvm-bolt %t.exe -o %t --reorder-blocks=cache --print-after-lowering \
8 # RUN: --print-only=_Z10SolveCubicddddPiPd 2>&1 | FileCheck %s
11 # CHECK: divsd %xmm0, %xmm1
13 # CHECK: !CFI $0 ; OpDefCfaOffset
14 # CHECK: !CFI $1 ; OpOffset
15 # CHECK: movq %rsi, %rbx
16 # CHECK: subq $0x70, %rsp
17 # CHECK: !CFI $2 ; OpDefCfaOffset
18 # CHECK: divsd %xmm0, %xmm2
20 # CHECK: addq $0x70, %rsp
21 # CHECK: !CFI $3 ; OpDefCfaOffset
23 # CHECK: !CFI $4 ; OpDefCfaOffset
25 # CHECK: !CFI {{.*}} ; OpDefCfa
26 # Epilogue rescheduled to the middle of the function
27 # CHECK: addq $0x70, %rsp
28 # CHECK: !CFI $6 ; OpDefCfaOffset
30 # CHECK: !CFI $7 ; OpDefCfaOffset
32 # CHECK: !CFI {{.*}} ; OpDefCfa
38 # FDATA: 0 [unknown] 0 1 main 0 0 0
42 .cfi_def_cfa_offset 16
46 .cfi_def_cfa_offset 24
49 .cfi_def_cfa_offset 32
52 .cfi_def_cfa_offset 40
56 .cfi_def_cfa_offset 48
59 .cfi_def_cfa_offset 56
62 .cfi_def_cfa_offset 208
66 movsd DATAat0x401640
(%rip
), %xmm3
68 movsd DATAat0x401648
(%rip
), %xmm2
70 movsd DATAat0x401650
(%rip
), %xmm1
72 movsd DATAat0x401658
(%rip
), %xmm0
73 callq _Z10SolveCubicddddPiPd
78 # FDATA: 1 main #LBB00_br# 1 main #Ltmp0# 0 0
86 Ltmp1_br
: callq printf@PLT
87 # FDATA: 1 main #Ltmp1_br# 1 main #Ltmp0# 0 0
90 cmpl 0x8c(%rsp
), %r12d
92 # FDATA: 1 main #Ltmp0_br# 1 main #Ltmp1# 0 0
93 # FDATA: 1 main #Ltmp0_br# 1 main #LFT2# 0 0
100 movsd DATAat0x401640
(%rip
), %xmm3
102 movsd DATAat0x401660
(%rip
), %xmm2
104 movsd DATAat0x401668
(%rip
), %xmm1
105 movsd DATAat0x401658
(%rip
), %xmm0
106 callq _Z10SolveCubicddddPiPd
111 # FDATA: 1 main #LFT2_br# 1 main #Ltmp2# 0 0
119 Ltmp3_br
: callq printf@PLT
120 # FDATA: 1 main #Ltmp3_br# 1 main #Ltmp2# 0 0
123 cmpl 0x8c(%rsp
), %r12d
125 # FDATA: 1 main #Ltmp2_br# 1 main #Ltmp3# 0 0
126 # FDATA: 1 main #Ltmp2_br# 1 main #LFT4# 0 0
131 movsd DATAat0x401670
(%rip
), %xmm3
133 movsd DATAat0x401678
(%rip
), %xmm2
135 movsd DATAat0x401680
(%rip
), %xmm1
136 movsd DATAat0x401658
(%rip
), %xmm0
137 callq _Z10SolveCubicddddPiPd
144 # FDATA: 1 main #LFT4_br# 1 main #Ltmp4# 0 0
152 Ltmp5_br
: addq $
0x8, %r12
153 # FDATA: 1 main #Ltmp5_br# 1 main #Ltmp4# 0 0
156 cmpl 0x8c(%rsp
), %r13d
158 # FDATA: 1 main #Ltmp4_br# 1 main #Ltmp5# 0 0
159 # FDATA: 1 main #Ltmp4_br# 1 main #LFT6# 0 0
163 LFT6_br
: callq putchar@PLT
164 # FDATA: 1 main #LFT6_br# 1 main #Ltmp27# 0 0
167 movsd DATAat0x401658
(%rip
), %xmm2
169 movsd DATAat0x401688
(%rip
), %xmm3
171 movsd DATAat0x401690
(%rip
), %xmm1
175 callq _Z10SolveCubicddddPiPd
180 # FDATA: 1 main #Ltmp27_br# 1 main #Ltmp6# 0 0
188 Ltmp7_br
: callq printf@PLT
189 # FDATA: 1 main #Ltmp7_br# 1 main #Ltmp6# 0 0
192 cmpl 0x8c(%rsp
), %r12d
194 # FDATA: 1 main #Ltmp6_br# 1 main #Ltmp7# 0 0
195 # FDATA: 1 main #Ltmp6_br# 1 main #LFT9# 0 0
202 movsd DATAat0x401698
(%rip
), %xmm3
204 movsd DATAat0x4016a0
(%rip
), %xmm2
206 movsd DATAat0x4016a8
(%rip
), %xmm1
207 movsd DATAat0x4016b0
(%rip
), %xmm0
208 callq _Z10SolveCubicddddPiPd
213 # FDATA: 1 main #LFT9_br# 1 main #Ltmp8# 0 0
221 Ltmp9_br
: callq printf@PLT
222 # FDATA: 1 main #Ltmp9_br# 1 main #Ltmp8# 0 0
225 cmpl 0x8c(%rsp
), %r12d
227 # FDATA: 1 main #Ltmp8_br# 1 main #Ltmp9# 0 0
228 # FDATA: 1 main #Ltmp8_br# 1 main #LFT11# 0 0
235 movsd DATAat0x4016b8
(%rip
), %xmm3
237 movsd DATAat0x4016c0
(%rip
), %xmm2
239 movsd DATAat0x4016c8
(%rip
), %xmm1
240 movsd DATAat0x4016d0
(%rip
), %xmm0
241 callq _Z10SolveCubicddddPiPd
246 # FDATA: 1 main #LFT11_br# 1 main #Ltmp10# 0 0
254 Ltmp11_br
: callq printf@PLT
255 # FDATA: 1 main #Ltmp11_br# 1 main #Ltmp10# 0 0
258 cmpl 0x8c(%rsp
), %r12d
260 # FDATA: 1 main #Ltmp10_br# 1 main #Ltmp11# 0 0
261 # FDATA: 1 main #Ltmp10_br# 1 main #LFT13# 0 0
266 movsd DATAat0x4016d8
(%rip
), %xmm3
268 movsd DATAat0x4016e0
(%rip
), %xmm2
270 movsd DATAat0x4016e8
(%rip
), %xmm1
271 movsd DATAat0x4016f0
(%rip
), %xmm0
272 callq _Z10SolveCubicddddPiPd
279 # FDATA: 1 main #LFT13_br# 1 main #Ltmp12# 0 0
287 Ltmp13_br
: addq $
0x8, %r12
288 # FDATA: 1 main #Ltmp13_br# 1 main #Ltmp12# 0 0
291 cmpl 0x8c(%rsp
), %r13d
293 # FDATA: 1 main #Ltmp12_br# 1 main #Ltmp13# 0 0
294 # FDATA: 1 main #Ltmp12_br# 1 main #LFT15# 0 0
298 LFT15_br
: callq putchar@PLT
299 # FDATA: 1 main #LFT15_br# 1 main #Ltmp29# 0 0
302 movsd DATAat0x4016f8
(%rip
), %xmm3
304 movsd DATAat0x401700
(%rip
), %xmm2
306 movsd DATAat0x401708
(%rip
), %xmm1
308 movsd DATAat0x401710
(%rip
), %xmm0
310 callq _Z10SolveCubicddddPiPd
314 Ltmp29_br
: jmp Ltmp14
315 # FDATA: 1 main #Ltmp29_br# 1 main #Ltmp14# 0 0
323 Ltmp15_br
: callq printf@PLT
324 # FDATA: 1 main #Ltmp15_br# 1 main #Ltmp14# 0 0
327 cmpl 0x8c(%rsp
), %r12d
329 # FDATA: 1 main #Ltmp14_br# 1 main #Ltmp15# 0 0
330 # FDATA: 1 main #Ltmp14_br# 1 main #LFT16# 0 0
334 movabsq $
-0x4010000000000000, %r14
336 movabsq $
0x3ff0000000000000, %rsi
337 movl $
0x0, 0x5c(%rsp
)
338 LFT16_br
: movq
%rsi
, 0x50(%rsp
)
339 # FDATA: 1 main #LFT16_br# 1 main #Ltmp21# 0 0
342 movabsq $
0x4024000000000000, %rax
344 Ltmp21_br
: movq
%rax
, 0x48(%rsp
)
345 # FDATA: 1 main #Ltmp21_br# 1 main #Ltmp20# 0 0
348 movabsq $
0x4014000000000000, %rdx
350 Ltmp20_br
: movq
%rdx
, 0x40(%rsp
)
351 # FDATA: 1 main #Ltmp20_br# 1 main #Ltmp19# 0 0
355 Ltmp19_br
: movq
%r14, 0x38(%rsp
)
356 # FDATA: 1 main #Ltmp19_br# 1 main #Ltmp18# 0 0
359 movsd
0x38(%rsp
), %xmm3
361 movsd
0x40(%rsp
), %xmm2
363 movsd
0x48(%rsp
), %xmm1
364 movsd
0x50(%rsp
), %xmm0
365 callq _Z10SolveCubicddddPiPd
369 movl
0x8c(%rsp
), %ecx
371 Ltmp18_br
: jle Ltmp16
372 # FDATA: 1 main #Ltmp18_br# 1 main #Ltmp16# 0 0
373 # FDATA: 1 main #Ltmp18_br# 1 main #LFT17# 0 0
377 LFT17_br
: xorl
%edx
, %edx
378 # FDATA: 1 main #LFT17_br# 1 main #Ltmp17# 0 0
384 movl
%edx
, 0x20(%rsp
)
385 movq
%rcx
, 0x30(%rsp
)
387 movl
0x20(%rsp
), %edx
388 movq
0x30(%rsp
), %rcx
391 cmpl %edx
, 0x8c(%rsp
)
393 # FDATA: 1 main #Ltmp17_br# 1 main #Ltmp17# 0 0
394 # FDATA: 1 main #Ltmp17_br# 1 main #Ltmp16# 0 0
400 movsd
0x38(%rsp
), %xmm0
402 subsd DATAat0x401718
(%rip
), %xmm0
403 movsd
%xmm0
, 0x38(%rsp
)
404 Ltmp16_br
: jne Ltmp18
405 # FDATA: 1 main #Ltmp16_br# 1 main #Ltmp18# 0 0
406 # FDATA: 1 main #Ltmp16_br# 1 main #LFT18# 0 0
409 movsd DATAat0x401720
(%rip
), %xmm0
412 addsd
0x40(%rsp
), %xmm0
413 movsd
%xmm0
, 0x40(%rsp
)
415 # FDATA: 1 main #LFT18_br# 1 main #Ltmp19# 0 0
416 # FDATA: 1 main #LFT18_br# 1 main #LFT19# 0 0
419 movsd
0x48(%rsp
), %xmm0
422 subsd DATAat0x401728
(%rip
), %xmm0
423 movsd
%xmm0
, 0x48(%rsp
)
425 # FDATA: 1 main #LFT19_br# 1 main #Ltmp20# 0 0
426 # FDATA: 1 main #LFT19_br# 1 main #LFT20# 0 0
429 movsd DATAat0x401658
(%rip
), %xmm0
430 addl $
0x1, 0x5c(%rsp
)
431 cmpl $
0x9, 0x5c(%rsp
)
432 addsd
0x50(%rsp
), %xmm0
433 movsd
%xmm0
, 0x50(%rsp
)
435 # FDATA: 1 main #LFT20_br# 1 main #Ltmp21# 0 0
436 # FDATA: 1 main #LFT20_br# 1 main #LFT21# 0 0
439 leaq
0x80(%rsp
), %r12
443 LFT21_br
: callq puts@PLT
444 # FDATA: 1 main #LFT21_br# 1 main #Ltmp22# 0 0
449 callq _Z5usqrtmP8int_sqrt
450 movl
0x80(%rsp
), %edx
457 Ltmp22_br
: jne Ltmp22
458 # FDATA: 1 main #Ltmp22_br# 1 main #Ltmp22# 0 0
459 # FDATA: 1 main #Ltmp22_br# 1 main #LFT22# 0 0
463 movl $
0x3fed0169, %ebx
464 LFT22_br
: callq putchar@PLT
465 # FDATA: 1 main #LFT22_br# 1 main #Ltmp23# 0 0
470 callq _Z5usqrtmP8int_sqrt
471 movl
0x80(%rsp
), %edx
477 cmpq $
0x3fed4169, %rbx
478 Ltmp23_br
: jne Ltmp23
479 # FDATA: 1 main #Ltmp23_br# 1 main #Ltmp23# 0 0
480 # FDATA: 1 main #Ltmp23_br# 1 main #LFT23# 0 0
487 movsd DATAat0x401748
(%rip
), %xmm3
488 LFT23_br
: movsd
0x8(%rsp
), %xmm2
489 # FDATA: 1 main #LFT23_br# 1 main #Ltmp24# 0 0
492 movsd DATAat0x401730
(%rip
), %xmm1
497 movsd
%xmm2
, 0x20(%rsp
)
498 movsd
%xmm3
, 0x10(%rsp
)
499 divsd DATAat0x401738
(%rip
), %xmm1
501 movsd
0x20(%rsp
), %xmm2
502 movsd
0x10(%rsp
), %xmm3
503 addsd DATAat0x401740
(%rip
), %xmm2
505 Ltmp24_br
: jae Ltmp24
506 # FDATA: 1 main #Ltmp24_br# 1 main #Ltmp24# 0 0
507 # FDATA: 1 main #Ltmp24_br# 1 main #LFT24# 0 0
513 movsd DATAat0x401758
(%rip
), %xmm3
514 LFT24_br
: movsd
0x8(%rsp
), %xmm2
515 # FDATA: 1 main #LFT24_br# 1 main #Ltmp25# 0 0
518 movsd DATAat0x401738
(%rip
), %xmm1
523 movsd
%xmm2
, 0x20(%rsp
)
524 movsd
%xmm3
, 0x10(%rsp
)
525 divsd DATAat0x401730
(%rip
), %xmm1
527 movsd
0x20(%rsp
), %xmm2
528 movsd
0x10(%rsp
), %xmm3
529 addsd DATAat0x401750
(%rip
), %xmm2
531 Ltmp25_br
: jae Ltmp25
532 # FDATA: 1 main #Ltmp25_br# 1 main #Ltmp25# 0 0
533 # FDATA: 1 main #Ltmp25_br# 1 main #LFT25# 0 0
537 .cfi_def_cfa_offset 56
540 .cfi_def_cfa_offset 48
542 .cfi_def_cfa_offset 40
544 .cfi_def_cfa_offset 32
546 .cfi_def_cfa_offset 24
548 .cfi_def_cfa_offset 16
550 .cfi_def_cfa_offset 8
552 .cfi_def_cfa %rsp, 208
558 # FDATA: 1 main #LLP0_br# 1 main #Ltmp26# 0 0
559 # FDATA: 1 main #LLP0_br# 1 main #Ltmp28# 0 0
562 Ltmp28_br
: callq _Unwind_Resume@PLT
563 # FDATA: 1 main #Ltmp28_br# 1 main #Ltmp26# 0 0
566 callq __cxa_begin_catch@PLT
569 callq __cxa_end_catch@PLT
570 Ltmp26_br
: jmp Ltmp27
571 # FDATA: 1 main #Ltmp26_br# 1 main #Ltmp27# 0 0
574 movq
%rax
, 0x30(%rsp
)
575 callq __cxa_end_catch@PLT
576 movq
0x30(%rsp
), %rdi
577 Ltmp30_br
: jmp Ltmp28
578 # FDATA: 1 main #Ltmp30_br# 1 main #Ltmp28# 0 0
584 # FDATA: 1 main #LLP1_br# 1 main #Ltmp28# 0 0
585 # FDATA: 1 main #LLP1_br# 1 main #LFT26# 0 0
588 callq __cxa_begin_catch@PLT
591 callq __cxa_end_catch@PLT
593 # FDATA: 1 main #LFT26_br# 1 main #Ltmp29# 0 0
597 # FDATA: 1 main #LLP2_br# 1 main #Ltmp30# 0 0
640 .globl _Z10SolveCubicddddPiPd
641 .type _Z10SolveCubicddddPiPd, %function
642 _Z10SolveCubicddddPiPd
:
643 # FDATA: 0 [unknown] 0 1 _Z10SolveCubicddddPiPd 0 0 57
648 .cfi_def_cfa_offset 16
649 .cfi_offset %rbx, -16
652 .cfi_def_cfa_offset 128
654 movsd
%xmm1
, 0x48(%rsp
)
657 movsd
%xmm2
, 0x48(%rsp
)
661 movsd
%xmm3
, 0x48(%rsp
)
663 fmuls DATAat0x401760
(%rip
)
665 fdivs DATAat0x401764
(%rip
)
671 fmuls DATAat0x401768
(%rip
)
674 flds DATAat0x40176c
(%rip
)
678 fdivs DATAat0x401770
(%rip
)
686 movsd
0x68(%rsp
), %xmm0
687 ucomisd DATAat0x401778
(%rip
), %xmm0
689 # FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #Ltmp31# 0 0
690 # FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #LFT1# 0 0
695 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT1_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
698 Ltmp37_br
: fstp
%st(0)
699 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp37_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
706 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
707 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #LFT3# 0 0
711 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
712 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
716 movsd DATAat0x4017b0
(%rip
), %xmm2
719 movsd
0x68(%rsp
), %xmm0
724 movsd DATAat0x401798
(%rip
), %xmm1
726 movsd
%xmm0
, 0x8(%rsp
)
736 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #Ltmp34# 0 0
737 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #LFT5# 0 0
740 LFT5_br
: movsd DATAat0x4017a0
(%rip
), %xmm1
741 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT5_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
748 fdivs DATAat0x401760
(%rip
)
749 movsd
0x68(%rsp
), %xmm0
751 movsd
%xmm0
, 0x8(%rsp
)
756 .cfi_def_cfa_offset 16
758 .cfi_def_cfa_offset 8
760 .cfi_def_cfa %rsp, 128
763 movsd DATAat0x401658
(%rip
), %xmm1
764 Ltmp34_br
: jmp Ltmp35
765 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp34_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
780 Ltmp33_br
: jmp Ltmp36
781 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp33_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
785 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #Ltmp37# 0 0
786 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #LFT7# 0 0
791 movsd
0x68(%rsp
), %xmm1
795 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
796 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #LFT8# 0 0
800 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
801 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
804 movsd
%xmm0
, 0x8(%rsp
)
810 movsd
0x68(%rsp
), %xmm0
813 movsd
%xmm0
, 0x48(%rsp
)
816 sqrtsd
0x60(%rsp
), %xmm1
821 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #Ltmp39# 0 0
822 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #LFT10# 0 0
826 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp40# 0 0
827 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
830 divsd DATAat0x4016b0
(%rip
), %xmm0
831 movsd
%xmm1
, 0x20(%rsp
)
832 movsd
%xmm2
, 0x30(%rsp
)
835 movsd
0x30(%rsp
), %xmm2
836 movsd
0x20(%rsp
), %xmm1
839 mulsd DATAat0x401780
(%rip
), %xmm2
840 fdivs DATAat0x401760
(%rip
)
842 movsd
%xmm2
, 0x8(%rsp
)
850 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
851 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #LFT12# 0 0
855 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
856 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
859 movsd
0x48(%rsp
), %xmm0
860 movsd
%xmm1
, 0x20(%rsp
)
861 addsd DATAat0x401788
(%rip
), %xmm0
862 movsd
%xmm2
, 0x30(%rsp
)
863 divsd DATAat0x4016b0
(%rip
), %xmm0
865 movsd
0x30(%rsp
), %xmm2
867 mulsd DATAat0x401780
(%rip
), %xmm2
868 movsd
0x20(%rsp
), %xmm1
871 movsd
%xmm2
, 0x8(%rsp
)
876 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
877 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #LFT14# 0 0
881 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
882 # FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
885 movsd
0x48(%rsp
), %xmm0
886 movsd
%xmm1
, 0x20(%rsp
)
887 addsd DATAat0x401790
(%rip
), %xmm0
888 divsd DATAat0x4016b0
(%rip
), %xmm0
891 movsd DATAat0x401780
(%rip
), %xmm2
892 movsd
0x20(%rsp
), %xmm1
895 movsd
%xmm2
, 0x8(%rsp
)
900 .cfi_def_cfa_offset 16
902 .cfi_def_cfa_offset 8
904 .cfi_def_cfa %rsp, 128
907 movsd
0x60(%rsp
), %xmm0
910 Ltmp42_br
: jmp Ltmp43
911 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp42_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
914 movsd
0x60(%rsp
), %xmm0
916 movsd
0x20(%rsp
), %xmm1
918 Ltmp41_br
: jmp Ltmp44
919 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp41_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
923 Ltmp39_br
: jmp Ltmp45
924 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp39_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
927 Ltmp40_br
: fstp
%st(0)
928 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp40_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
931 movsd
0x60(%rsp
), %xmm0
932 movsd
%xmm1
, 0x20(%rsp
)
934 movsd
0x20(%rsp
), %xmm1
936 movsd
0x48(%rsp
), %xmm0
938 Ltmp45_br
: jmp Ltmp46
939 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp45_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
954 Ltmp38_br
: jmp Ltmp47
955 # FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp38_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
958 .size _Z10SolveCubicddddPiPd, .-_Z10SolveCubicddddPiPd
974 .globl _Z5usqrtmP8int_sqrt
975 .type _Z5usqrtmP8int_sqrt, %function
977 # FDATA: 0 [unknown] 0 1 _Z5usqrtmP8int_sqrt 0 0 6
982 LBB02_br
: xorl
%ecx
, %ecx
983 # FDATA: 1 _Z5usqrtmP8int_sqrt #LBB02_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
987 leaq
(%rax
,%rax
), %r10
988 leaq
0x1(,%rax
,4), %r8
989 andl $
0xc0000000, %edx
993 leaq
(%rdx
,%rcx
,4), %rdx
1001 Ltmp48_br
: jne Ltmp48
1002 # FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
1003 # FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #LFT0# 0 0
1010 .size _Z5usqrtmP8int_sqrt, .-_Z5usqrtmP8int_sqrt