1*11791ae7SSayhaan Siddiqui## Check that llvm-bolt is able to read a file with DWARF Exception CFI 2*11791ae7SSayhaan Siddiqui## information and fix CFI information after reordering. 38331f75eSAmir Ayupov 48331f75eSAmir Ayupov# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o 58331f75eSAmir Ayupov# RUN: llvm-strip --strip-unneeded %t.o 68331f75eSAmir Ayupov# RUN: %clangxx %cflags %t.o -o %t.exe 7d648aa1bSMaksim Panchenko# RUN: llvm-bolt %t.exe -o %t --reorder-blocks=cache --print-after-lowering \ 8d648aa1bSMaksim Panchenko# RUN: --print-only=_Z10SolveCubicddddPiPd 2>&1 | FileCheck %s 98331f75eSAmir Ayupov# 108331f75eSAmir Ayupov# Entry BB 118331f75eSAmir Ayupov# CHECK: divsd %xmm0, %xmm1 128331f75eSAmir Ayupov# CHECK: pushq %rbx 138331f75eSAmir Ayupov# CHECK: !CFI $0 ; OpDefCfaOffset 148331f75eSAmir Ayupov# CHECK: !CFI $1 ; OpOffset 158331f75eSAmir Ayupov# CHECK: movq %rsi, %rbx 168331f75eSAmir Ayupov# CHECK: subq $0x70, %rsp 178331f75eSAmir Ayupov# CHECK: !CFI $2 ; OpDefCfaOffset 188331f75eSAmir Ayupov# CHECK: divsd %xmm0, %xmm2 198331f75eSAmir Ayupov# Duplicated tail 208331f75eSAmir Ayupov# CHECK: addq $0x70, %rsp 218331f75eSAmir Ayupov# CHECK: !CFI $3 ; OpDefCfaOffset 228331f75eSAmir Ayupov# CHECK: popq %rbx 238331f75eSAmir Ayupov# CHECK: !CFI $4 ; OpDefCfaOffset 248331f75eSAmir Ayupov# CHECK: retq 258331f75eSAmir Ayupov# CHECK: !CFI {{.*}} ; OpDefCfa 268331f75eSAmir Ayupov# Epilogue rescheduled to the middle of the function 278331f75eSAmir Ayupov# CHECK: addq $0x70, %rsp 288331f75eSAmir Ayupov# CHECK: !CFI $6 ; OpDefCfaOffset 298331f75eSAmir Ayupov# CHECK: popq %rbx 308331f75eSAmir Ayupov# CHECK: !CFI $7 ; OpDefCfaOffset 318331f75eSAmir Ayupov# CHECK: retq 328331f75eSAmir Ayupov# CHECK: !CFI {{.*}} ; OpDefCfa 338331f75eSAmir Ayupov 348331f75eSAmir Ayupov .text 358331f75eSAmir Ayupov .globl main 368331f75eSAmir Ayupov .type main, %function 378331f75eSAmir Ayupovmain: 388331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 main 0 0 0 398331f75eSAmir Ayupov .cfi_startproc 408331f75eSAmir AyupovLBB00: 418331f75eSAmir Ayupov pushq %r15 428331f75eSAmir Ayupov .cfi_def_cfa_offset 16 438331f75eSAmir Ayupov .cfi_offset %r15, -16 448331f75eSAmir Ayupov movl $0x401520, %edi 458331f75eSAmir Ayupov pushq %r14 468331f75eSAmir Ayupov .cfi_def_cfa_offset 24 478331f75eSAmir Ayupov .cfi_offset %r14, -24 488331f75eSAmir Ayupov pushq %r13 498331f75eSAmir Ayupov .cfi_def_cfa_offset 32 508331f75eSAmir Ayupov .cfi_offset %r13, -32 518331f75eSAmir Ayupov pushq %r12 528331f75eSAmir Ayupov .cfi_def_cfa_offset 40 538331f75eSAmir Ayupov .cfi_offset %r12, -40 548331f75eSAmir Ayupov xorl %r12d, %r12d 558331f75eSAmir Ayupov pushq %rbp 568331f75eSAmir Ayupov .cfi_def_cfa_offset 48 578331f75eSAmir Ayupov .cfi_offset %rbp, -48 588331f75eSAmir Ayupov pushq %rbx 598331f75eSAmir Ayupov .cfi_def_cfa_offset 56 608331f75eSAmir Ayupov .cfi_offset %rbx, -56 618331f75eSAmir Ayupov subq $0x98, %rsp 628331f75eSAmir Ayupov .cfi_def_cfa_offset 208 638331f75eSAmir Ayupov leaq 0x60(%rsp), %rbx 648331f75eSAmir Ayupov leaq 0x8c(%rsp), %rbp 658331f75eSAmir Ayupov callq puts@PLT 668331f75eSAmir Ayupov movsd DATAat0x401640(%rip), %xmm3 678331f75eSAmir Ayupov movq %rbx, %rsi 688331f75eSAmir Ayupov movsd DATAat0x401648(%rip), %xmm2 698331f75eSAmir Ayupov movq %rbp, %rdi 708331f75eSAmir Ayupov movsd DATAat0x401650(%rip), %xmm1 718331f75eSAmir Ayupov movq %rbx, %r13 728331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm0 738331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 748331f75eSAmir Ayupov movl $0x4015d8, %edi 758331f75eSAmir Ayupov xorl %eax, %eax 768331f75eSAmir Ayupov callq printf@PLT 778331f75eSAmir AyupovLBB00_br: jmp Ltmp0 788331f75eSAmir Ayupov# FDATA: 1 main #LBB00_br# 1 main #Ltmp0# 0 0 798331f75eSAmir Ayupov 808331f75eSAmir AyupovLtmp1: 818331f75eSAmir Ayupov movsd (%r13), %xmm0 828331f75eSAmir Ayupov movl $0x4015e3, %edi 838331f75eSAmir Ayupov movl $0x1, %eax 848331f75eSAmir Ayupov addl $0x1, %r12d 858331f75eSAmir Ayupov addq $0x8, %r13 868331f75eSAmir AyupovLtmp1_br: callq printf@PLT 878331f75eSAmir Ayupov# FDATA: 1 main #Ltmp1_br# 1 main #Ltmp0# 0 0 888331f75eSAmir Ayupov 898331f75eSAmir AyupovLtmp0: 908331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 918331f75eSAmir AyupovLtmp0_br: jl Ltmp1 928331f75eSAmir Ayupov# FDATA: 1 main #Ltmp0_br# 1 main #Ltmp1# 0 0 938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp0_br# 1 main #LFT2# 0 0 948331f75eSAmir Ayupov 958331f75eSAmir AyupovLFT2: 968331f75eSAmir Ayupov movl $0xa, %edi 978331f75eSAmir Ayupov movq %rbx, %r13 988331f75eSAmir Ayupov xorl %r12d, %r12d 998331f75eSAmir Ayupov callq putchar@PLT 1008331f75eSAmir Ayupov movsd DATAat0x401640(%rip), %xmm3 1018331f75eSAmir Ayupov movq %rbx, %rsi 1028331f75eSAmir Ayupov movsd DATAat0x401660(%rip), %xmm2 1038331f75eSAmir Ayupov movq %rbp, %rdi 1048331f75eSAmir Ayupov movsd DATAat0x401668(%rip), %xmm1 1058331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm0 1068331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 1078331f75eSAmir Ayupov movl $0x4015d8, %edi 1088331f75eSAmir Ayupov xorl %eax, %eax 1098331f75eSAmir Ayupov callq printf@PLT 1108331f75eSAmir AyupovLFT2_br: jmp Ltmp2 1118331f75eSAmir Ayupov# FDATA: 1 main #LFT2_br# 1 main #Ltmp2# 0 0 1128331f75eSAmir Ayupov 1138331f75eSAmir AyupovLtmp3: 1148331f75eSAmir Ayupov movsd (%r13), %xmm0 1158331f75eSAmir Ayupov movl $0x4015e3, %edi 1168331f75eSAmir Ayupov movl $0x1, %eax 1178331f75eSAmir Ayupov addl $0x1, %r12d 1188331f75eSAmir Ayupov addq $0x8, %r13 1198331f75eSAmir AyupovLtmp3_br: callq printf@PLT 1208331f75eSAmir Ayupov# FDATA: 1 main #Ltmp3_br# 1 main #Ltmp2# 0 0 1218331f75eSAmir Ayupov 1228331f75eSAmir AyupovLtmp2: 1238331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 1248331f75eSAmir AyupovLtmp2_br: jl Ltmp3 1258331f75eSAmir Ayupov# FDATA: 1 main #Ltmp2_br# 1 main #Ltmp3# 0 0 1268331f75eSAmir Ayupov# FDATA: 1 main #Ltmp2_br# 1 main #LFT4# 0 0 1278331f75eSAmir Ayupov 1288331f75eSAmir AyupovLFT4: 1298331f75eSAmir Ayupov movl $0xa, %edi 1308331f75eSAmir Ayupov callq putchar@PLT 1318331f75eSAmir Ayupov movsd DATAat0x401670(%rip), %xmm3 1328331f75eSAmir Ayupov movq %rbx, %rsi 1338331f75eSAmir Ayupov movsd DATAat0x401678(%rip), %xmm2 1348331f75eSAmir Ayupov movq %rbp, %rdi 1358331f75eSAmir Ayupov movsd DATAat0x401680(%rip), %xmm1 1368331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm0 1378331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 1388331f75eSAmir Ayupov movl $0x4015d8, %edi 1398331f75eSAmir Ayupov xorl %eax, %eax 1408331f75eSAmir Ayupov callq printf@PLT 1418331f75eSAmir Ayupov movq %rbx, %r12 1428331f75eSAmir Ayupov xorl %r13d, %r13d 1438331f75eSAmir AyupovLFT4_br: jmp Ltmp4 1448331f75eSAmir Ayupov# FDATA: 1 main #LFT4_br# 1 main #Ltmp4# 0 0 1458331f75eSAmir Ayupov 1468331f75eSAmir AyupovLtmp5: 1478331f75eSAmir Ayupov movsd (%r12), %xmm0 1488331f75eSAmir Ayupov movl $0x4015e3, %edi 1498331f75eSAmir Ayupov movl $0x1, %eax 1508331f75eSAmir Ayupov callq printf@PLT 1518331f75eSAmir Ayupov addl $0x1, %r13d 1528331f75eSAmir AyupovLtmp5_br: addq $0x8, %r12 1538331f75eSAmir Ayupov# FDATA: 1 main #Ltmp5_br# 1 main #Ltmp4# 0 0 1548331f75eSAmir Ayupov 1558331f75eSAmir AyupovLtmp4: 1568331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r13d 1578331f75eSAmir AyupovLtmp4_br: jl Ltmp5 1588331f75eSAmir Ayupov# FDATA: 1 main #Ltmp4_br# 1 main #Ltmp5# 0 0 1598331f75eSAmir Ayupov# FDATA: 1 main #Ltmp4_br# 1 main #LFT6# 0 0 1608331f75eSAmir Ayupov 1618331f75eSAmir AyupovLFT6: 1628331f75eSAmir Ayupov movl $0xa, %edi 1638331f75eSAmir AyupovLFT6_br: callq putchar@PLT 1648331f75eSAmir Ayupov# FDATA: 1 main #LFT6_br# 1 main #Ltmp27# 0 0 1658331f75eSAmir Ayupov 1668331f75eSAmir AyupovLtmp27: 1678331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm2 1688331f75eSAmir Ayupov movq %rbx, %rsi 1698331f75eSAmir Ayupov movsd DATAat0x401688(%rip), %xmm3 1708331f75eSAmir Ayupov movq %rbp, %rdi 1718331f75eSAmir Ayupov movsd DATAat0x401690(%rip), %xmm1 1728331f75eSAmir Ayupov movq %rbx, %r13 1738331f75eSAmir Ayupov movapd %xmm2, %xmm0 1748331f75eSAmir Ayupov xorl %r12d, %r12d 1758331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 1768331f75eSAmir Ayupov movl $0x4015d8, %edi 1778331f75eSAmir Ayupov xorl %eax, %eax 1788331f75eSAmir Ayupov callq printf@PLT 1798331f75eSAmir AyupovLtmp27_br: jmp Ltmp6 1808331f75eSAmir Ayupov# FDATA: 1 main #Ltmp27_br# 1 main #Ltmp6# 0 0 1818331f75eSAmir Ayupov 1828331f75eSAmir AyupovLtmp7: 1838331f75eSAmir Ayupov movsd (%r13), %xmm0 1848331f75eSAmir Ayupov movl $0x4015e3, %edi 1858331f75eSAmir Ayupov movl $0x1, %eax 1868331f75eSAmir Ayupov addl $0x1, %r12d 1878331f75eSAmir Ayupov addq $0x8, %r13 1888331f75eSAmir AyupovLtmp7_br: callq printf@PLT 1898331f75eSAmir Ayupov# FDATA: 1 main #Ltmp7_br# 1 main #Ltmp6# 0 0 1908331f75eSAmir Ayupov 1918331f75eSAmir AyupovLtmp6: 1928331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 1938331f75eSAmir AyupovLtmp6_br: jl Ltmp7 1948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp6_br# 1 main #Ltmp7# 0 0 1958331f75eSAmir Ayupov# FDATA: 1 main #Ltmp6_br# 1 main #LFT9# 0 0 1968331f75eSAmir Ayupov 1978331f75eSAmir AyupovLFT9: 1988331f75eSAmir Ayupov movl $0xa, %edi 1998331f75eSAmir Ayupov movq %rbx, %r13 2008331f75eSAmir Ayupov xorl %r12d, %r12d 2018331f75eSAmir Ayupov callq putchar@PLT 2028331f75eSAmir Ayupov movsd DATAat0x401698(%rip), %xmm3 2038331f75eSAmir Ayupov movq %rbx, %rsi 2048331f75eSAmir Ayupov movsd DATAat0x4016a0(%rip), %xmm2 2058331f75eSAmir Ayupov movq %rbp, %rdi 2068331f75eSAmir Ayupov movsd DATAat0x4016a8(%rip), %xmm1 2078331f75eSAmir Ayupov movsd DATAat0x4016b0(%rip), %xmm0 2088331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 2098331f75eSAmir Ayupov movl $0x4015d8, %edi 2108331f75eSAmir Ayupov xorl %eax, %eax 2118331f75eSAmir Ayupov callq printf@PLT 2128331f75eSAmir AyupovLFT9_br: jmp Ltmp8 2138331f75eSAmir Ayupov# FDATA: 1 main #LFT9_br# 1 main #Ltmp8# 0 0 2148331f75eSAmir Ayupov 2158331f75eSAmir AyupovLtmp9: 2168331f75eSAmir Ayupov movsd (%r13), %xmm0 2178331f75eSAmir Ayupov movl $0x4015e3, %edi 2188331f75eSAmir Ayupov movl $0x1, %eax 2198331f75eSAmir Ayupov addl $0x1, %r12d 2208331f75eSAmir Ayupov addq $0x8, %r13 2218331f75eSAmir AyupovLtmp9_br: callq printf@PLT 2228331f75eSAmir Ayupov# FDATA: 1 main #Ltmp9_br# 1 main #Ltmp8# 0 0 2238331f75eSAmir Ayupov 2248331f75eSAmir AyupovLtmp8: 2258331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 2268331f75eSAmir AyupovLtmp8_br: jl Ltmp9 2278331f75eSAmir Ayupov# FDATA: 1 main #Ltmp8_br# 1 main #Ltmp9# 0 0 2288331f75eSAmir Ayupov# FDATA: 1 main #Ltmp8_br# 1 main #LFT11# 0 0 2298331f75eSAmir Ayupov 2308331f75eSAmir AyupovLFT11: 2318331f75eSAmir Ayupov movl $0xa, %edi 2328331f75eSAmir Ayupov movq %rbx, %r13 2338331f75eSAmir Ayupov xorl %r12d, %r12d 2348331f75eSAmir Ayupov callq putchar@PLT 2358331f75eSAmir Ayupov movsd DATAat0x4016b8(%rip), %xmm3 2368331f75eSAmir Ayupov movq %rbx, %rsi 2378331f75eSAmir Ayupov movsd DATAat0x4016c0(%rip), %xmm2 2388331f75eSAmir Ayupov movq %rbp, %rdi 2398331f75eSAmir Ayupov movsd DATAat0x4016c8(%rip), %xmm1 2408331f75eSAmir Ayupov movsd DATAat0x4016d0(%rip), %xmm0 2418331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 2428331f75eSAmir Ayupov movl $0x4015d8, %edi 2438331f75eSAmir Ayupov xorl %eax, %eax 2448331f75eSAmir Ayupov callq printf@PLT 2458331f75eSAmir AyupovLFT11_br: jmp Ltmp10 2468331f75eSAmir Ayupov# FDATA: 1 main #LFT11_br# 1 main #Ltmp10# 0 0 2478331f75eSAmir Ayupov 2488331f75eSAmir AyupovLtmp11: 2498331f75eSAmir Ayupov movsd (%r13), %xmm0 2508331f75eSAmir Ayupov movl $0x4015e3, %edi 2518331f75eSAmir Ayupov movl $0x1, %eax 2528331f75eSAmir Ayupov addl $0x1, %r12d 2538331f75eSAmir Ayupov addq $0x8, %r13 2548331f75eSAmir AyupovLtmp11_br: callq printf@PLT 2558331f75eSAmir Ayupov# FDATA: 1 main #Ltmp11_br# 1 main #Ltmp10# 0 0 2568331f75eSAmir Ayupov 2578331f75eSAmir AyupovLtmp10: 2588331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 2598331f75eSAmir AyupovLtmp10_br: jl Ltmp11 2608331f75eSAmir Ayupov# FDATA: 1 main #Ltmp10_br# 1 main #Ltmp11# 0 0 2618331f75eSAmir Ayupov# FDATA: 1 main #Ltmp10_br# 1 main #LFT13# 0 0 2628331f75eSAmir Ayupov 2638331f75eSAmir AyupovLFT13: 2648331f75eSAmir Ayupov movl $0xa, %edi 2658331f75eSAmir Ayupov callq putchar@PLT 2668331f75eSAmir Ayupov movsd DATAat0x4016d8(%rip), %xmm3 2678331f75eSAmir Ayupov movq %rbx, %rsi 2688331f75eSAmir Ayupov movsd DATAat0x4016e0(%rip), %xmm2 2698331f75eSAmir Ayupov movq %rbp, %rdi 2708331f75eSAmir Ayupov movsd DATAat0x4016e8(%rip), %xmm1 2718331f75eSAmir Ayupov movsd DATAat0x4016f0(%rip), %xmm0 2728331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 2738331f75eSAmir Ayupov movl $0x4015d8, %edi 2748331f75eSAmir Ayupov xorl %eax, %eax 2758331f75eSAmir Ayupov callq printf@PLT 2768331f75eSAmir Ayupov movq %rbx, %r12 2778331f75eSAmir Ayupov xorl %r13d, %r13d 2788331f75eSAmir AyupovLFT13_br: jmp Ltmp12 2798331f75eSAmir Ayupov# FDATA: 1 main #LFT13_br# 1 main #Ltmp12# 0 0 2808331f75eSAmir Ayupov 2818331f75eSAmir AyupovLtmp13: 2828331f75eSAmir Ayupov movsd (%r12), %xmm0 2838331f75eSAmir Ayupov movl $0x4015e3, %edi 2848331f75eSAmir Ayupov movl $0x1, %eax 2858331f75eSAmir Ayupov callq printf@PLT 2868331f75eSAmir Ayupov addl $0x1, %r13d 2878331f75eSAmir AyupovLtmp13_br: addq $0x8, %r12 2888331f75eSAmir Ayupov# FDATA: 1 main #Ltmp13_br# 1 main #Ltmp12# 0 0 2898331f75eSAmir Ayupov 2908331f75eSAmir AyupovLtmp12: 2918331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r13d 2928331f75eSAmir AyupovLtmp12_br: jl Ltmp13 2938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp12_br# 1 main #Ltmp13# 0 0 2948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp12_br# 1 main #LFT15# 0 0 2958331f75eSAmir Ayupov 2968331f75eSAmir AyupovLFT15: 2978331f75eSAmir Ayupov movl $0xa, %edi 2988331f75eSAmir AyupovLFT15_br: callq putchar@PLT 2998331f75eSAmir Ayupov# FDATA: 1 main #LFT15_br# 1 main #Ltmp29# 0 0 3008331f75eSAmir Ayupov 3018331f75eSAmir AyupovLtmp29: 3028331f75eSAmir Ayupov movsd DATAat0x4016f8(%rip), %xmm3 3038331f75eSAmir Ayupov movq %rbx, %rsi 3048331f75eSAmir Ayupov movsd DATAat0x401700(%rip), %xmm2 3058331f75eSAmir Ayupov movq %rbp, %rdi 3068331f75eSAmir Ayupov movsd DATAat0x401708(%rip), %xmm1 3078331f75eSAmir Ayupov movq %rbx, %r13 3088331f75eSAmir Ayupov movsd DATAat0x401710(%rip), %xmm0 3098331f75eSAmir Ayupov xorl %r12d, %r12d 3108331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 3118331f75eSAmir Ayupov movl $0x4015d8, %edi 3128331f75eSAmir Ayupov xorl %eax, %eax 3138331f75eSAmir Ayupov callq printf@PLT 3148331f75eSAmir AyupovLtmp29_br: jmp Ltmp14 3158331f75eSAmir Ayupov# FDATA: 1 main #Ltmp29_br# 1 main #Ltmp14# 0 0 3168331f75eSAmir Ayupov 3178331f75eSAmir AyupovLtmp15: 3188331f75eSAmir Ayupov movsd (%r13), %xmm0 3198331f75eSAmir Ayupov movl $0x4015e3, %edi 3208331f75eSAmir Ayupov movl $0x1, %eax 3218331f75eSAmir Ayupov addl $0x1, %r12d 3228331f75eSAmir Ayupov addq $0x8, %r13 3238331f75eSAmir AyupovLtmp15_br: callq printf@PLT 3248331f75eSAmir Ayupov# FDATA: 1 main #Ltmp15_br# 1 main #Ltmp14# 0 0 3258331f75eSAmir Ayupov 3268331f75eSAmir AyupovLtmp14: 3278331f75eSAmir Ayupov cmpl 0x8c(%rsp), %r12d 3288331f75eSAmir AyupovLtmp14_br: jl Ltmp15 3298331f75eSAmir Ayupov# FDATA: 1 main #Ltmp14_br# 1 main #Ltmp15# 0 0 3308331f75eSAmir Ayupov# FDATA: 1 main #Ltmp14_br# 1 main #LFT16# 0 0 3318331f75eSAmir Ayupov 3328331f75eSAmir AyupovLFT16: 3338331f75eSAmir Ayupov movl $0xa, %edi 3348331f75eSAmir Ayupov movabsq $-0x4010000000000000, %r14 3358331f75eSAmir Ayupov callq putchar@PLT 3368331f75eSAmir Ayupov movabsq $0x3ff0000000000000, %rsi 3378331f75eSAmir Ayupov movl $0x0, 0x5c(%rsp) 3388331f75eSAmir AyupovLFT16_br: movq %rsi, 0x50(%rsp) 3398331f75eSAmir Ayupov# FDATA: 1 main #LFT16_br# 1 main #Ltmp21# 0 0 3408331f75eSAmir Ayupov 3418331f75eSAmir AyupovLtmp21: 3428331f75eSAmir Ayupov movabsq $0x4024000000000000, %rax 3438331f75eSAmir Ayupov xorl %r15d, %r15d 3448331f75eSAmir AyupovLtmp21_br: movq %rax, 0x48(%rsp) 3458331f75eSAmir Ayupov# FDATA: 1 main #Ltmp21_br# 1 main #Ltmp20# 0 0 3468331f75eSAmir Ayupov 3478331f75eSAmir AyupovLtmp20: 3488331f75eSAmir Ayupov movabsq $0x4014000000000000, %rdx 3498331f75eSAmir Ayupov xorl %r13d, %r13d 3508331f75eSAmir AyupovLtmp20_br: movq %rdx, 0x40(%rsp) 3518331f75eSAmir Ayupov# FDATA: 1 main #Ltmp20_br# 1 main #Ltmp19# 0 0 3528331f75eSAmir Ayupov 3538331f75eSAmir AyupovLtmp19: 3548331f75eSAmir Ayupov xorl %r12d, %r12d 3558331f75eSAmir AyupovLtmp19_br: movq %r14, 0x38(%rsp) 3568331f75eSAmir Ayupov# FDATA: 1 main #Ltmp19_br# 1 main #Ltmp18# 0 0 3578331f75eSAmir Ayupov 3588331f75eSAmir AyupovLtmp18: 3598331f75eSAmir Ayupov movsd 0x38(%rsp), %xmm3 3608331f75eSAmir Ayupov movq %rbx, %rsi 3618331f75eSAmir Ayupov movsd 0x40(%rsp), %xmm2 3628331f75eSAmir Ayupov movq %rbp, %rdi 3638331f75eSAmir Ayupov movsd 0x48(%rsp), %xmm1 3648331f75eSAmir Ayupov movsd 0x50(%rsp), %xmm0 3658331f75eSAmir Ayupov callq _Z10SolveCubicddddPiPd 3668331f75eSAmir Ayupov xorl %eax, %eax 3678331f75eSAmir Ayupov movl $0x4015d8, %edi 3688331f75eSAmir Ayupov callq printf@PLT 3698331f75eSAmir Ayupov movl 0x8c(%rsp), %ecx 3708331f75eSAmir Ayupov testl %ecx, %ecx 3718331f75eSAmir AyupovLtmp18_br: jle Ltmp16 3728331f75eSAmir Ayupov# FDATA: 1 main #Ltmp18_br# 1 main #Ltmp16# 0 0 3738331f75eSAmir Ayupov# FDATA: 1 main #Ltmp18_br# 1 main #LFT17# 0 0 3748331f75eSAmir Ayupov 3758331f75eSAmir AyupovLFT17: 3768331f75eSAmir Ayupov movq %rbx, %rcx 3778331f75eSAmir AyupovLFT17_br: xorl %edx, %edx 3788331f75eSAmir Ayupov# FDATA: 1 main #LFT17_br# 1 main #Ltmp17# 0 0 3798331f75eSAmir Ayupov 3808331f75eSAmir AyupovLtmp17: 3818331f75eSAmir Ayupov movsd (%rcx), %xmm0 3828331f75eSAmir Ayupov movl $0x4015e3, %edi 3838331f75eSAmir Ayupov movl $0x1, %eax 3848331f75eSAmir Ayupov movl %edx, 0x20(%rsp) 3858331f75eSAmir Ayupov movq %rcx, 0x30(%rsp) 3868331f75eSAmir Ayupov callq printf@PLT 3878331f75eSAmir Ayupov movl 0x20(%rsp), %edx 3888331f75eSAmir Ayupov movq 0x30(%rsp), %rcx 3898331f75eSAmir Ayupov addl $0x1, %edx 3908331f75eSAmir Ayupov addq $0x8, %rcx 3918331f75eSAmir Ayupov cmpl %edx, 0x8c(%rsp) 3928331f75eSAmir AyupovLtmp17_br: jg Ltmp17 3938331f75eSAmir Ayupov# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp17# 0 0 3948331f75eSAmir Ayupov# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp16# 0 0 3958331f75eSAmir Ayupov 3968331f75eSAmir AyupovLtmp16: 3978331f75eSAmir Ayupov movl $0xa, %edi 3988331f75eSAmir Ayupov addl $0x1, %r12d 3998331f75eSAmir Ayupov callq putchar@PLT 4008331f75eSAmir Ayupov movsd 0x38(%rsp), %xmm0 4018331f75eSAmir Ayupov cmpl $0x9, %r12d 4028331f75eSAmir Ayupov subsd DATAat0x401718(%rip), %xmm0 4038331f75eSAmir Ayupov movsd %xmm0, 0x38(%rsp) 4048331f75eSAmir AyupovLtmp16_br: jne Ltmp18 4058331f75eSAmir Ayupov# FDATA: 1 main #Ltmp16_br# 1 main #Ltmp18# 0 0 4068331f75eSAmir Ayupov# FDATA: 1 main #Ltmp16_br# 1 main #LFT18# 0 0 4078331f75eSAmir Ayupov 4088331f75eSAmir AyupovLFT18: 4098331f75eSAmir Ayupov movsd DATAat0x401720(%rip), %xmm0 4108331f75eSAmir Ayupov addl $0x1, %r13d 4118331f75eSAmir Ayupov cmpl $0x11, %r13d 4128331f75eSAmir Ayupov addsd 0x40(%rsp), %xmm0 4138331f75eSAmir Ayupov movsd %xmm0, 0x40(%rsp) 4148331f75eSAmir AyupovLFT18_br: jne Ltmp19 4158331f75eSAmir Ayupov# FDATA: 1 main #LFT18_br# 1 main #Ltmp19# 0 0 4168331f75eSAmir Ayupov# FDATA: 1 main #LFT18_br# 1 main #LFT19# 0 0 4178331f75eSAmir Ayupov 4188331f75eSAmir AyupovLFT19: 4198331f75eSAmir Ayupov movsd 0x48(%rsp), %xmm0 4208331f75eSAmir Ayupov addl $0x1, %r15d 4218331f75eSAmir Ayupov cmpl $0x28, %r15d 4228331f75eSAmir Ayupov subsd DATAat0x401728(%rip), %xmm0 4238331f75eSAmir Ayupov movsd %xmm0, 0x48(%rsp) 4248331f75eSAmir AyupovLFT19_br: jne Ltmp20 4258331f75eSAmir Ayupov# FDATA: 1 main #LFT19_br# 1 main #Ltmp20# 0 0 4268331f75eSAmir Ayupov# FDATA: 1 main #LFT19_br# 1 main #LFT20# 0 0 4278331f75eSAmir Ayupov 4288331f75eSAmir AyupovLFT20: 4298331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm0 4308331f75eSAmir Ayupov addl $0x1, 0x5c(%rsp) 4318331f75eSAmir Ayupov cmpl $0x9, 0x5c(%rsp) 4328331f75eSAmir Ayupov addsd 0x50(%rsp), %xmm0 4338331f75eSAmir Ayupov movsd %xmm0, 0x50(%rsp) 4348331f75eSAmir AyupovLFT20_br: jne Ltmp21 4358331f75eSAmir Ayupov# FDATA: 1 main #LFT20_br# 1 main #Ltmp21# 0 0 4368331f75eSAmir Ayupov# FDATA: 1 main #LFT20_br# 1 main #LFT21# 0 0 4378331f75eSAmir Ayupov 4388331f75eSAmir AyupovLFT21: 4398331f75eSAmir Ayupov leaq 0x80(%rsp), %r12 4408331f75eSAmir Ayupov movl $0x401548, %edi 4418331f75eSAmir Ayupov movl $0xc350, %ebp 4428331f75eSAmir Ayupov xorl %ebx, %ebx 4438331f75eSAmir AyupovLFT21_br: callq puts@PLT 4448331f75eSAmir Ayupov# FDATA: 1 main #LFT21_br# 1 main #Ltmp22# 0 0 4458331f75eSAmir Ayupov 4468331f75eSAmir AyupovLtmp22: 4478331f75eSAmir Ayupov movslq %ebx, %rdi 4488331f75eSAmir Ayupov movq %r12, %rsi 4498331f75eSAmir Ayupov callq _Z5usqrtmP8int_sqrt 4508331f75eSAmir Ayupov movl 0x80(%rsp), %edx 4518331f75eSAmir Ayupov movl %ebx, %esi 4528331f75eSAmir Ayupov xorl %eax, %eax 4538331f75eSAmir Ayupov movl $0x4015f2, %edi 4548331f75eSAmir Ayupov addl $0x2, %ebx 4558331f75eSAmir Ayupov callq printf@PLT 4568331f75eSAmir Ayupov subl $0x1, %ebp 4578331f75eSAmir AyupovLtmp22_br: jne Ltmp22 4588331f75eSAmir Ayupov# FDATA: 1 main #Ltmp22_br# 1 main #Ltmp22# 0 0 4598331f75eSAmir Ayupov# FDATA: 1 main #Ltmp22_br# 1 main #LFT22# 0 0 4608331f75eSAmir Ayupov 4618331f75eSAmir AyupovLFT22: 4628331f75eSAmir Ayupov movl $0xa, %edi 4638331f75eSAmir Ayupov movl $0x3fed0169, %ebx 4648331f75eSAmir AyupovLFT22_br: callq putchar@PLT 4658331f75eSAmir Ayupov# FDATA: 1 main #LFT22_br# 1 main #Ltmp23# 0 0 4668331f75eSAmir Ayupov 4678331f75eSAmir AyupovLtmp23: 4688331f75eSAmir Ayupov movq %rbx, %rdi 4698331f75eSAmir Ayupov movq %r12, %rsi 4708331f75eSAmir Ayupov callq _Z5usqrtmP8int_sqrt 4718331f75eSAmir Ayupov movl 0x80(%rsp), %edx 4728331f75eSAmir Ayupov movq %rbx, %rsi 4738331f75eSAmir Ayupov xorl %eax, %eax 4748331f75eSAmir Ayupov movl $0x401603, %edi 4758331f75eSAmir Ayupov addq $0x1, %rbx 4768331f75eSAmir Ayupov callq printf@PLT 4778331f75eSAmir Ayupov cmpq $0x3fed4169, %rbx 4788331f75eSAmir AyupovLtmp23_br: jne Ltmp23 4798331f75eSAmir Ayupov# FDATA: 1 main #Ltmp23_br# 1 main #Ltmp23# 0 0 4808331f75eSAmir Ayupov# FDATA: 1 main #Ltmp23_br# 1 main #LFT23# 0 0 4818331f75eSAmir Ayupov 4828331f75eSAmir AyupovLFT23: 4838331f75eSAmir Ayupov movl $0x401570, %edi 4848331f75eSAmir Ayupov xorl %ebx, %ebx 4858331f75eSAmir Ayupov callq puts@PLT 4868331f75eSAmir Ayupov movq %rbx, 0x8(%rsp) 4878331f75eSAmir Ayupov movsd DATAat0x401748(%rip), %xmm3 4888331f75eSAmir AyupovLFT23_br: movsd 0x8(%rsp), %xmm2 4898331f75eSAmir Ayupov# FDATA: 1 main #LFT23_br# 1 main #Ltmp24# 0 0 4908331f75eSAmir Ayupov 4918331f75eSAmir AyupovLtmp24: 4928331f75eSAmir Ayupov movsd DATAat0x401730(%rip), %xmm1 4938331f75eSAmir Ayupov movl $0x401598, %edi 4948331f75eSAmir Ayupov movapd %xmm2, %xmm0 4958331f75eSAmir Ayupov movl $0x2, %eax 4968331f75eSAmir Ayupov mulsd %xmm2, %xmm1 4978331f75eSAmir Ayupov movsd %xmm2, 0x20(%rsp) 4988331f75eSAmir Ayupov movsd %xmm3, 0x10(%rsp) 4998331f75eSAmir Ayupov divsd DATAat0x401738(%rip), %xmm1 5008331f75eSAmir Ayupov callq printf@PLT 5018331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm2 5028331f75eSAmir Ayupov movsd 0x10(%rsp), %xmm3 5038331f75eSAmir Ayupov addsd DATAat0x401740(%rip), %xmm2 5048331f75eSAmir Ayupov ucomisd %xmm2, %xmm3 5058331f75eSAmir AyupovLtmp24_br: jae Ltmp24 5068331f75eSAmir Ayupov# FDATA: 1 main #Ltmp24_br# 1 main #Ltmp24# 0 0 5078331f75eSAmir Ayupov# FDATA: 1 main #Ltmp24_br# 1 main #LFT24# 0 0 5088331f75eSAmir Ayupov 5098331f75eSAmir AyupovLFT24: 5108331f75eSAmir Ayupov movl $0x401612, %edi 5118331f75eSAmir Ayupov callq puts@PLT 5128331f75eSAmir Ayupov movq %rbx, 0x8(%rsp) 5138331f75eSAmir Ayupov movsd DATAat0x401758(%rip), %xmm3 5148331f75eSAmir AyupovLFT24_br: movsd 0x8(%rsp), %xmm2 5158331f75eSAmir Ayupov# FDATA: 1 main #LFT24_br# 1 main #Ltmp25# 0 0 5168331f75eSAmir Ayupov 5178331f75eSAmir AyupovLtmp25: 5188331f75eSAmir Ayupov movsd DATAat0x401738(%rip), %xmm1 5198331f75eSAmir Ayupov movl $0x4015b8, %edi 5208331f75eSAmir Ayupov movapd %xmm2, %xmm0 5218331f75eSAmir Ayupov movl $0x2, %eax 5228331f75eSAmir Ayupov mulsd %xmm2, %xmm1 5238331f75eSAmir Ayupov movsd %xmm2, 0x20(%rsp) 5248331f75eSAmir Ayupov movsd %xmm3, 0x10(%rsp) 5258331f75eSAmir Ayupov divsd DATAat0x401730(%rip), %xmm1 5268331f75eSAmir Ayupov callq printf@PLT 5278331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm2 5288331f75eSAmir Ayupov movsd 0x10(%rsp), %xmm3 5298331f75eSAmir Ayupov addsd DATAat0x401750(%rip), %xmm2 5308331f75eSAmir Ayupov ucomisd %xmm2, %xmm3 5318331f75eSAmir AyupovLtmp25_br: jae Ltmp25 5328331f75eSAmir Ayupov# FDATA: 1 main #Ltmp25_br# 1 main #Ltmp25# 0 0 5338331f75eSAmir Ayupov# FDATA: 1 main #Ltmp25_br# 1 main #LFT25# 0 0 5348331f75eSAmir Ayupov 5358331f75eSAmir AyupovLFT25: 5368331f75eSAmir Ayupov addq $0x98, %rsp 5378331f75eSAmir Ayupov .cfi_def_cfa_offset 56 5388331f75eSAmir Ayupov xorl %eax, %eax 5398331f75eSAmir Ayupov popq %rbx 5408331f75eSAmir Ayupov .cfi_def_cfa_offset 48 5418331f75eSAmir Ayupov popq %rbp 5428331f75eSAmir Ayupov .cfi_def_cfa_offset 40 5438331f75eSAmir Ayupov popq %r12 5448331f75eSAmir Ayupov .cfi_def_cfa_offset 32 5458331f75eSAmir Ayupov popq %r13 5468331f75eSAmir Ayupov .cfi_def_cfa_offset 24 5478331f75eSAmir Ayupov popq %r14 5488331f75eSAmir Ayupov .cfi_def_cfa_offset 16 5498331f75eSAmir Ayupov popq %r15 5508331f75eSAmir Ayupov .cfi_def_cfa_offset 8 5518331f75eSAmir Ayupov retq 5528331f75eSAmir Ayupov .cfi_def_cfa %rsp, 208 5538331f75eSAmir Ayupov 5548331f75eSAmir AyupovLLP0: 5558331f75eSAmir Ayupov cmpq $0x1, %rdx 5568331f75eSAmir Ayupov movq %rax, %rdi 5578331f75eSAmir AyupovLLP0_br: je Ltmp26 5588331f75eSAmir Ayupov# FDATA: 1 main #LLP0_br# 1 main #Ltmp26# 0 0 5598331f75eSAmir Ayupov# FDATA: 1 main #LLP0_br# 1 main #Ltmp28# 0 0 5608331f75eSAmir Ayupov 5618331f75eSAmir AyupovLtmp28: 5628331f75eSAmir AyupovLtmp28_br: callq _Unwind_Resume@PLT 5638331f75eSAmir Ayupov# FDATA: 1 main #Ltmp28_br# 1 main #Ltmp26# 0 0 5648331f75eSAmir Ayupov 5658331f75eSAmir AyupovLtmp26: 5668331f75eSAmir Ayupov callq __cxa_begin_catch@PLT 5678331f75eSAmir Ayupov movl $0x4015e7, %edi 5688331f75eSAmir Ayupov callq puts@PLT 5698331f75eSAmir Ayupov callq __cxa_end_catch@PLT 5708331f75eSAmir AyupovLtmp26_br: jmp Ltmp27 5718331f75eSAmir Ayupov# FDATA: 1 main #Ltmp26_br# 1 main #Ltmp27# 0 0 5728331f75eSAmir Ayupov 5738331f75eSAmir AyupovLtmp30: 5748331f75eSAmir Ayupov movq %rax, 0x30(%rsp) 5758331f75eSAmir Ayupov callq __cxa_end_catch@PLT 5768331f75eSAmir Ayupov movq 0x30(%rsp), %rdi 5778331f75eSAmir AyupovLtmp30_br: jmp Ltmp28 5788331f75eSAmir Ayupov# FDATA: 1 main #Ltmp30_br# 1 main #Ltmp28# 0 0 5798331f75eSAmir Ayupov 5808331f75eSAmir AyupovLLP1: 5818331f75eSAmir Ayupov cmpq $0x1, %rdx 5828331f75eSAmir Ayupov movq %rax, %rdi 5838331f75eSAmir AyupovLLP1_br: jne Ltmp28 5848331f75eSAmir Ayupov# FDATA: 1 main #LLP1_br# 1 main #Ltmp28# 0 0 5858331f75eSAmir Ayupov# FDATA: 1 main #LLP1_br# 1 main #LFT26# 0 0 5868331f75eSAmir Ayupov 5878331f75eSAmir AyupovLFT26: 5888331f75eSAmir Ayupov callq __cxa_begin_catch@PLT 5898331f75eSAmir Ayupov movl $0x4015e7, %edi 5908331f75eSAmir Ayupov callq puts@PLT 5918331f75eSAmir Ayupov callq __cxa_end_catch@PLT 5928331f75eSAmir AyupovLFT26_br: jmp Ltmp29 5938331f75eSAmir Ayupov# FDATA: 1 main #LFT26_br# 1 main #Ltmp29# 0 0 5948331f75eSAmir Ayupov 5958331f75eSAmir AyupovLLP2: 5968331f75eSAmir AyupovLLP2_br: jmp Ltmp30 5978331f75eSAmir Ayupov# FDATA: 1 main #LLP2_br# 1 main #Ltmp30# 0 0 5988331f75eSAmir Ayupov 5998331f75eSAmir Ayupov .cfi_endproc 6008331f75eSAmir Ayupov.size main, .-main 6018331f75eSAmir Ayupov 6028331f75eSAmir Ayupov.section .rodata 6038331f75eSAmir Ayupov"DATAat0x401738": 6048331f75eSAmir Ayupov"DATAat0x401748": 6058331f75eSAmir Ayupov"DATAat0x401728": 6068331f75eSAmir Ayupov"DATAat0x401718": 6078331f75eSAmir Ayupov"DATAat0x4016f8": 6088331f75eSAmir Ayupov"DATAat0x401690": 6098331f75eSAmir Ayupov"DATAat0x401668": 6108331f75eSAmir Ayupov"DATAat0x401650": 6118331f75eSAmir Ayupov"DATAat0x401700": 6128331f75eSAmir Ayupov"DATAat0x401698": 6138331f75eSAmir Ayupov"DATAat0x401688": 6148331f75eSAmir Ayupov"DATAat0x401648": 6158331f75eSAmir Ayupov"DATAat0x401680": 6168331f75eSAmir Ayupov"DATAat0x4016c8": 6178331f75eSAmir Ayupov"DATAat0x401750": 6188331f75eSAmir Ayupov"DATAat0x401678": 6198331f75eSAmir Ayupov"DATAat0x4016c0": 6208331f75eSAmir Ayupov"DATAat0x401758": 6218331f75eSAmir Ayupov"DATAat0x401660": 6228331f75eSAmir Ayupov"DATAat0x4016b0": 6238331f75eSAmir Ayupov"DATAat0x401640": 6248331f75eSAmir Ayupov"DATAat0x401658": 6258331f75eSAmir Ayupov"DATAat0x401720": 6268331f75eSAmir Ayupov"DATAat0x4016f0": 6278331f75eSAmir Ayupov"DATAat0x401710": 6288331f75eSAmir Ayupov"DATAat0x4016a8": 6298331f75eSAmir Ayupov"DATAat0x401730": 6308331f75eSAmir Ayupov"DATAat0x4016b8": 6318331f75eSAmir Ayupov"DATAat0x401708": 6328331f75eSAmir Ayupov"DATAat0x401670": 6338331f75eSAmir Ayupov"DATAat0x4016a0": 6348331f75eSAmir Ayupov"DATAat0x4016d0": 6358331f75eSAmir Ayupov"DATAat0x4016d8": 6368331f75eSAmir Ayupov"DATAat0x4016e0": 6378331f75eSAmir Ayupov"DATAat0x401740": 6388331f75eSAmir Ayupov"DATAat0x4016e8": 6398331f75eSAmir Ayupov .text 6408331f75eSAmir Ayupov .globl _Z10SolveCubicddddPiPd 6418331f75eSAmir Ayupov .type _Z10SolveCubicddddPiPd, %function 6428331f75eSAmir Ayupov_Z10SolveCubicddddPiPd: 6438331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 _Z10SolveCubicddddPiPd 0 0 57 6448331f75eSAmir Ayupov .cfi_startproc 6458331f75eSAmir AyupovLBB01: 6468331f75eSAmir Ayupov divsd %xmm0, %xmm1 6478331f75eSAmir Ayupov pushq %rbx 6488331f75eSAmir Ayupov .cfi_def_cfa_offset 16 6498331f75eSAmir Ayupov .cfi_offset %rbx, -16 6508331f75eSAmir Ayupov movq %rsi, %rbx 6518331f75eSAmir Ayupov subq $0x70, %rsp 6528331f75eSAmir Ayupov .cfi_def_cfa_offset 128 6538331f75eSAmir Ayupov divsd %xmm0, %xmm2 6548331f75eSAmir Ayupov movsd %xmm1, 0x48(%rsp) 6558331f75eSAmir Ayupov fldl 0x48(%rsp) 6568331f75eSAmir Ayupov divsd %xmm0, %xmm3 6578331f75eSAmir Ayupov movsd %xmm2, 0x48(%rsp) 6588331f75eSAmir Ayupov fldl 0x48(%rsp) 6598331f75eSAmir Ayupov fld %st(1) 6608331f75eSAmir Ayupov fmul %st(2), %st 6618331f75eSAmir Ayupov movsd %xmm3, 0x48(%rsp) 6628331f75eSAmir Ayupov fld %st(1) 6638331f75eSAmir Ayupov fmuls DATAat0x401760(%rip) 6648331f75eSAmir Ayupov faddp %st, %st(1) 6658331f75eSAmir Ayupov fdivs DATAat0x401764(%rip) 6668331f75eSAmir Ayupov fld %st(2) 6678331f75eSAmir Ayupov fadd %st(3), %st 6688331f75eSAmir Ayupov fmul %st(3), %st 6698331f75eSAmir Ayupov fmul %st(3), %st 6708331f75eSAmir Ayupov fld %st(3) 6718331f75eSAmir Ayupov fmuls DATAat0x401768(%rip) 6728331f75eSAmir Ayupov fmulp %st, %st(3) 6738331f75eSAmir Ayupov faddp %st, %st(2) 6748331f75eSAmir Ayupov flds DATAat0x40176c(%rip) 6758331f75eSAmir Ayupov fmull 0x48(%rsp) 6768331f75eSAmir Ayupov faddp %st, %st(2) 6778331f75eSAmir Ayupov fxch %st(1) 6788331f75eSAmir Ayupov fdivs DATAat0x401770(%rip) 6798331f75eSAmir Ayupov fld %st(1) 6808331f75eSAmir Ayupov fmul %st(2), %st 6818331f75eSAmir Ayupov fmul %st(2), %st 6828331f75eSAmir Ayupov fld %st(1) 6838331f75eSAmir Ayupov fmul %st(2), %st 6848331f75eSAmir Ayupov fsub %st(1), %st 6858331f75eSAmir Ayupov fstpl 0x68(%rsp) 6868331f75eSAmir Ayupov movsd 0x68(%rsp), %xmm0 6878331f75eSAmir Ayupov ucomisd DATAat0x401778(%rip), %xmm0 6888331f75eSAmir AyupovLBB01_br: jbe Ltmp31 6898331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #Ltmp31# 0 0 6908331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #LFT1# 0 0 6918331f75eSAmir Ayupov 6928331f75eSAmir AyupovLFT1: 6938331f75eSAmir Ayupov fstp %st(0) 6948331f75eSAmir AyupovLFT1_br: jmp Ltmp32 6958331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT1_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0 6968331f75eSAmir Ayupov 6978331f75eSAmir AyupovLtmp37: 6988331f75eSAmir AyupovLtmp37_br: fstp %st(0) 6998331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp37_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0 7008331f75eSAmir Ayupov 7018331f75eSAmir AyupovLtmp32: 7028331f75eSAmir Ayupov sqrtsd %xmm0, %xmm1 7038331f75eSAmir Ayupov movl $0x1, (%rdi) 7048331f75eSAmir Ayupov ucomisd %xmm1, %xmm1 7058331f75eSAmir AyupovLtmp32_br: jp Ltmp33 7068331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0 7078331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #LFT3# 0 0 7088331f75eSAmir Ayupov 7098331f75eSAmir AyupovLFT3: 7108331f75eSAmir AyupovLFT3_br: jne Ltmp33 7118331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0 7128331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0 7138331f75eSAmir Ayupov 7148331f75eSAmir AyupovLtmp36: 7158331f75eSAmir Ayupov fstl 0x68(%rsp) 7168331f75eSAmir Ayupov movsd DATAat0x4017b0(%rip), %xmm2 7178331f75eSAmir Ayupov fstpt 0x30(%rsp) 7188331f75eSAmir Ayupov fxch %st(1) 7198331f75eSAmir Ayupov movsd 0x68(%rsp), %xmm0 7208331f75eSAmir Ayupov fstpt 0x10(%rsp) 7218331f75eSAmir Ayupov andpd %xmm2, %xmm0 7228331f75eSAmir Ayupov fstpt 0x20(%rsp) 7238331f75eSAmir Ayupov addsd %xmm1, %xmm0 7248331f75eSAmir Ayupov movsd DATAat0x401798(%rip), %xmm1 7258331f75eSAmir Ayupov callq pow@PLT 7268331f75eSAmir Ayupov movsd %xmm0, 0x8(%rsp) 7278331f75eSAmir Ayupov fldl 0x8(%rsp) 7288331f75eSAmir Ayupov fldz 7298331f75eSAmir Ayupov fldt 0x30(%rsp) 7308331f75eSAmir Ayupov fxch %st(1) 7318331f75eSAmir Ayupov fucompi %st(1), %st 7328331f75eSAmir Ayupov fstp %st(0) 7338331f75eSAmir Ayupov fldt 0x10(%rsp) 7348331f75eSAmir Ayupov fldt 0x20(%rsp) 7358331f75eSAmir AyupovLtmp36_br: ja Ltmp34 7368331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #Ltmp34# 0 0 7378331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #LFT5# 0 0 7388331f75eSAmir Ayupov 7398331f75eSAmir AyupovLFT5: 7408331f75eSAmir AyupovLFT5_br: movsd DATAat0x4017a0(%rip), %xmm1 7418331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT5_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0 7428331f75eSAmir Ayupov 7438331f75eSAmir AyupovLtmp35: 7448331f75eSAmir Ayupov fdiv %st(2), %st 7458331f75eSAmir Ayupov faddp %st, %st(2) 7468331f75eSAmir Ayupov fxch %st(1) 7478331f75eSAmir Ayupov fstpl 0x68(%rsp) 7488331f75eSAmir Ayupov fdivs DATAat0x401760(%rip) 7498331f75eSAmir Ayupov movsd 0x68(%rsp), %xmm0 7508331f75eSAmir Ayupov mulsd %xmm1, %xmm0 7518331f75eSAmir Ayupov movsd %xmm0, 0x8(%rsp) 7528331f75eSAmir Ayupov fldl 0x8(%rsp) 7538331f75eSAmir Ayupov faddp %st, %st(1) 7548331f75eSAmir Ayupov fstpl (%rbx) 7558331f75eSAmir Ayupov addq $0x70, %rsp 7568331f75eSAmir Ayupov .cfi_def_cfa_offset 16 7578331f75eSAmir Ayupov popq %rbx 7588331f75eSAmir Ayupov .cfi_def_cfa_offset 8 7598331f75eSAmir Ayupov retq 7608331f75eSAmir Ayupov .cfi_def_cfa %rsp, 128 7618331f75eSAmir Ayupov 7628331f75eSAmir AyupovLtmp34: 7638331f75eSAmir Ayupov movsd DATAat0x401658(%rip), %xmm1 7648331f75eSAmir AyupovLtmp34_br: jmp Ltmp35 7658331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp34_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0 7668331f75eSAmir Ayupov 7678331f75eSAmir AyupovLtmp33: 7688331f75eSAmir Ayupov fstpt 0x30(%rsp) 7698331f75eSAmir Ayupov fxch %st(1) 7708331f75eSAmir Ayupov fstpt 0x10(%rsp) 7718331f75eSAmir Ayupov fstpt 0x20(%rsp) 7728331f75eSAmir Ayupov callq sqrt@PLT 7738331f75eSAmir Ayupov movapd %xmm0, %xmm1 7748331f75eSAmir Ayupov fldt 0x20(%rsp) 7758331f75eSAmir Ayupov fldt 0x10(%rsp) 7768331f75eSAmir Ayupov fldt 0x30(%rsp) 7778331f75eSAmir Ayupov fxch %st(1) 7788331f75eSAmir Ayupov fxch %st(2) 7798331f75eSAmir Ayupov fxch %st(1) 7808331f75eSAmir AyupovLtmp33_br: jmp Ltmp36 7818331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp33_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0 7828331f75eSAmir Ayupov 7838331f75eSAmir AyupovLtmp31: 7848331f75eSAmir AyupovLtmp31_br: jp Ltmp37 7858331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #Ltmp37# 0 0 7868331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #LFT7# 0 0 7878331f75eSAmir Ayupov 7888331f75eSAmir AyupovLFT7: 7898331f75eSAmir Ayupov fstpl 0x68(%rsp) 7908331f75eSAmir Ayupov movl $0x3, (%rdi) 7918331f75eSAmir Ayupov movsd 0x68(%rsp), %xmm1 7928331f75eSAmir Ayupov sqrtsd %xmm1, %xmm0 7938331f75eSAmir Ayupov ucomisd %xmm0, %xmm0 7948331f75eSAmir AyupovLFT7_br: jp Ltmp38 7958331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0 7968331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #LFT8# 0 0 7978331f75eSAmir Ayupov 7988331f75eSAmir AyupovLFT8: 7998331f75eSAmir AyupovLFT8_br: jne Ltmp38 8008331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0 8018331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0 8028331f75eSAmir Ayupov 8038331f75eSAmir AyupovLtmp47: 8048331f75eSAmir Ayupov movsd %xmm0, 0x8(%rsp) 8058331f75eSAmir Ayupov fldl 0x8(%rsp) 8068331f75eSAmir Ayupov fdivrp %st, %st(1) 8078331f75eSAmir Ayupov fstpl 0x68(%rsp) 8088331f75eSAmir Ayupov fxch %st(1) 8098331f75eSAmir Ayupov fstpt 0x10(%rsp) 8108331f75eSAmir Ayupov movsd 0x68(%rsp), %xmm0 8118331f75eSAmir Ayupov fstpt 0x20(%rsp) 8128331f75eSAmir Ayupov callq acos@PLT 8138331f75eSAmir Ayupov movsd %xmm0, 0x48(%rsp) 8148331f75eSAmir Ayupov fldt 0x20(%rsp) 8158331f75eSAmir Ayupov fstpl 0x60(%rsp) 8168331f75eSAmir Ayupov sqrtsd 0x60(%rsp), %xmm1 8178331f75eSAmir Ayupov movapd %xmm1, %xmm2 8188331f75eSAmir Ayupov ucomisd %xmm1, %xmm1 8198331f75eSAmir Ayupov fldt 0x10(%rsp) 8208331f75eSAmir AyupovLtmp47_br: jp Ltmp39 8218331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #Ltmp39# 0 0 8228331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #LFT10# 0 0 8238331f75eSAmir Ayupov 8248331f75eSAmir AyupovLFT10: 8258331f75eSAmir AyupovLFT10_br: jne Ltmp40 8268331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp40# 0 0 8278331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0 8288331f75eSAmir Ayupov 8298331f75eSAmir AyupovLtmp46: 8308331f75eSAmir Ayupov divsd DATAat0x4016b0(%rip), %xmm0 8318331f75eSAmir Ayupov movsd %xmm1, 0x20(%rsp) 8328331f75eSAmir Ayupov movsd %xmm2, 0x30(%rsp) 8338331f75eSAmir Ayupov fstpt 0x10(%rsp) 8348331f75eSAmir Ayupov callq cos@PLT 8358331f75eSAmir Ayupov movsd 0x30(%rsp), %xmm2 8368331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm1 8378331f75eSAmir Ayupov fldt 0x10(%rsp) 8388331f75eSAmir Ayupov ucomisd %xmm1, %xmm1 8398331f75eSAmir Ayupov mulsd DATAat0x401780(%rip), %xmm2 8408331f75eSAmir Ayupov fdivs DATAat0x401760(%rip) 8418331f75eSAmir Ayupov mulsd %xmm0, %xmm2 8428331f75eSAmir Ayupov movsd %xmm2, 0x8(%rsp) 8438331f75eSAmir Ayupov movapd %xmm1, %xmm2 8448331f75eSAmir Ayupov fld %st(0) 8458331f75eSAmir Ayupov fstpt 0x50(%rsp) 8468331f75eSAmir Ayupov fldl 0x8(%rsp) 8478331f75eSAmir Ayupov faddp %st, %st(1) 8488331f75eSAmir Ayupov fstpl (%rbx) 8498331f75eSAmir AyupovLtmp46_br: jp Ltmp41 8508331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0 8518331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #LFT12# 0 0 8528331f75eSAmir Ayupov 8538331f75eSAmir AyupovLFT12: 8548331f75eSAmir AyupovLFT12_br: jne Ltmp41 8558331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0 8568331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0 8578331f75eSAmir Ayupov 8588331f75eSAmir AyupovLtmp44: 8598331f75eSAmir Ayupov movsd 0x48(%rsp), %xmm0 8608331f75eSAmir Ayupov movsd %xmm1, 0x20(%rsp) 8618331f75eSAmir Ayupov addsd DATAat0x401788(%rip), %xmm0 8628331f75eSAmir Ayupov movsd %xmm2, 0x30(%rsp) 8638331f75eSAmir Ayupov divsd DATAat0x4016b0(%rip), %xmm0 8648331f75eSAmir Ayupov callq cos@PLT 8658331f75eSAmir Ayupov movsd 0x30(%rsp), %xmm2 8668331f75eSAmir Ayupov fldt 0x50(%rsp) 8678331f75eSAmir Ayupov mulsd DATAat0x401780(%rip), %xmm2 8688331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm1 8698331f75eSAmir Ayupov ucomisd %xmm1, %xmm1 8708331f75eSAmir Ayupov mulsd %xmm0, %xmm2 8718331f75eSAmir Ayupov movsd %xmm2, 0x8(%rsp) 8728331f75eSAmir Ayupov fldl 0x8(%rsp) 8738331f75eSAmir Ayupov faddp %st, %st(1) 8748331f75eSAmir Ayupov fstpl 0x8(%rbx) 8758331f75eSAmir AyupovLtmp44_br: jp Ltmp42 8768331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0 8778331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #LFT14# 0 0 8788331f75eSAmir Ayupov 8798331f75eSAmir AyupovLFT14: 8808331f75eSAmir AyupovLFT14_br: jne Ltmp42 8818331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0 8828331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0 8838331f75eSAmir Ayupov 8848331f75eSAmir AyupovLtmp43: 8858331f75eSAmir Ayupov movsd 0x48(%rsp), %xmm0 8868331f75eSAmir Ayupov movsd %xmm1, 0x20(%rsp) 8878331f75eSAmir Ayupov addsd DATAat0x401790(%rip), %xmm0 8888331f75eSAmir Ayupov divsd DATAat0x4016b0(%rip), %xmm0 8898331f75eSAmir Ayupov callq cos@PLT 8908331f75eSAmir Ayupov fldt 0x50(%rsp) 8918331f75eSAmir Ayupov movsd DATAat0x401780(%rip), %xmm2 8928331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm1 8938331f75eSAmir Ayupov mulsd %xmm1, %xmm2 8948331f75eSAmir Ayupov mulsd %xmm0, %xmm2 8958331f75eSAmir Ayupov movsd %xmm2, 0x8(%rsp) 8968331f75eSAmir Ayupov fldl 0x8(%rsp) 8978331f75eSAmir Ayupov faddp %st, %st(1) 8988331f75eSAmir Ayupov fstpl 0x10(%rbx) 8998331f75eSAmir Ayupov addq $0x70, %rsp 9008331f75eSAmir Ayupov .cfi_def_cfa_offset 16 9018331f75eSAmir Ayupov popq %rbx 9028331f75eSAmir Ayupov .cfi_def_cfa_offset 8 9038331f75eSAmir Ayupov retq 9048331f75eSAmir Ayupov .cfi_def_cfa %rsp, 128 9058331f75eSAmir Ayupov 9068331f75eSAmir AyupovLtmp42: 9078331f75eSAmir Ayupov movsd 0x60(%rsp), %xmm0 9088331f75eSAmir Ayupov callq sqrt@PLT 9098331f75eSAmir Ayupov movapd %xmm0, %xmm1 9108331f75eSAmir AyupovLtmp42_br: jmp Ltmp43 9118331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp42_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0 9128331f75eSAmir Ayupov 9138331f75eSAmir AyupovLtmp41: 9148331f75eSAmir Ayupov movsd 0x60(%rsp), %xmm0 9158331f75eSAmir Ayupov callq sqrt@PLT 9168331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm1 9178331f75eSAmir Ayupov movapd %xmm0, %xmm2 9188331f75eSAmir AyupovLtmp41_br: jmp Ltmp44 9198331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp41_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0 9208331f75eSAmir Ayupov 9218331f75eSAmir AyupovLtmp39: 9228331f75eSAmir Ayupov fstp %st(0) 9238331f75eSAmir AyupovLtmp39_br: jmp Ltmp45 9248331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp39_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0 9258331f75eSAmir Ayupov 9268331f75eSAmir AyupovLtmp40: 9278331f75eSAmir AyupovLtmp40_br: fstp %st(0) 9288331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp40_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0 9298331f75eSAmir Ayupov 9308331f75eSAmir AyupovLtmp45: 9318331f75eSAmir Ayupov movsd 0x60(%rsp), %xmm0 9328331f75eSAmir Ayupov movsd %xmm1, 0x20(%rsp) 9338331f75eSAmir Ayupov callq sqrt@PLT 9348331f75eSAmir Ayupov movsd 0x20(%rsp), %xmm1 9358331f75eSAmir Ayupov movapd %xmm0, %xmm2 9368331f75eSAmir Ayupov movsd 0x48(%rsp), %xmm0 9378331f75eSAmir Ayupov fldt 0x10(%rsp) 9388331f75eSAmir AyupovLtmp45_br: jmp Ltmp46 9398331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp45_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0 9408331f75eSAmir Ayupov 9418331f75eSAmir AyupovLtmp38: 9428331f75eSAmir Ayupov fstpt 0x30(%rsp) 9438331f75eSAmir Ayupov fxch %st(1) 9448331f75eSAmir Ayupov movapd %xmm1, %xmm0 9458331f75eSAmir Ayupov fstpt 0x10(%rsp) 9468331f75eSAmir Ayupov fstpt 0x20(%rsp) 9478331f75eSAmir Ayupov callq sqrt@PLT 9488331f75eSAmir Ayupov fldt 0x20(%rsp) 9498331f75eSAmir Ayupov fldt 0x10(%rsp) 9508331f75eSAmir Ayupov fldt 0x30(%rsp) 9518331f75eSAmir Ayupov fxch %st(1) 9528331f75eSAmir Ayupov fxch %st(2) 9538331f75eSAmir Ayupov fxch %st(1) 9548331f75eSAmir AyupovLtmp38_br: jmp Ltmp47 9558331f75eSAmir Ayupov# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp38_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0 9568331f75eSAmir Ayupov 9578331f75eSAmir Ayupov .cfi_endproc 9588331f75eSAmir Ayupov.size _Z10SolveCubicddddPiPd, .-_Z10SolveCubicddddPiPd 9598331f75eSAmir Ayupov.section .rodata 9608331f75eSAmir Ayupov"DATAat0x401788": 9618331f75eSAmir Ayupov"DATAat0x401790": 9628331f75eSAmir Ayupov"DATAat0x401780": 9638331f75eSAmir Ayupov"DATAat0x401770": 9648331f75eSAmir Ayupov"DATAat0x40176c": 9658331f75eSAmir Ayupov"DATAat0x401760": 9668331f75eSAmir Ayupov"DATAat0x401768": 9678331f75eSAmir Ayupov"DATAat0x401778": 9688331f75eSAmir Ayupov"DATAat0x401764": 9698331f75eSAmir Ayupov"DATAat0x401798": 9708331f75eSAmir Ayupov"DATAat0x4017b0": 9718331f75eSAmir Ayupov"DATAat0x4017a0": 9728331f75eSAmir Ayupov 9738331f75eSAmir Ayupov .text 9748331f75eSAmir Ayupov .globl _Z5usqrtmP8int_sqrt 9758331f75eSAmir Ayupov .type _Z5usqrtmP8int_sqrt, %function 9768331f75eSAmir Ayupov_Z5usqrtmP8int_sqrt: 9778331f75eSAmir Ayupov# FDATA: 0 [unknown] 0 1 _Z5usqrtmP8int_sqrt 0 0 6 9788331f75eSAmir Ayupov .cfi_startproc 9798331f75eSAmir AyupovLBB02: 9808331f75eSAmir Ayupov xorl %r9d, %r9d 9818331f75eSAmir Ayupov xorl %eax, %eax 9828331f75eSAmir AyupovLBB02_br: xorl %ecx, %ecx 9838331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #LBB02_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0 9848331f75eSAmir Ayupov 9858331f75eSAmir AyupovLtmp48: 9868331f75eSAmir Ayupov movq %rdi, %rdx 9878331f75eSAmir Ayupov leaq (%rax,%rax), %r10 9888331f75eSAmir Ayupov leaq 0x1(,%rax,4), %r8 9898331f75eSAmir Ayupov andl $0xc0000000, %edx 9908331f75eSAmir Ayupov shlq $0x2, %rdi 9918331f75eSAmir Ayupov shrq $0x1e, %rdx 9928331f75eSAmir Ayupov leaq 0x1(%r10), %rax 9938331f75eSAmir Ayupov leaq (%rdx,%rcx,4), %rdx 9948331f75eSAmir Ayupov movq %rdx, %rcx 9958331f75eSAmir Ayupov subq %r8, %rcx 9968331f75eSAmir Ayupov cmpq %r8, %rdx 9978331f75eSAmir Ayupov cmovbq %rdx, %rcx 9988331f75eSAmir Ayupov cmovbq %r10, %rax 9998331f75eSAmir Ayupov addl $0x1, %r9d 10008331f75eSAmir Ayupov cmpl $0x20, %r9d 10018331f75eSAmir AyupovLtmp48_br: jne Ltmp48 10028331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0 10038331f75eSAmir Ayupov# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #LFT0# 0 0 10048331f75eSAmir Ayupov 10058331f75eSAmir AyupovLFT0: 10068331f75eSAmir Ayupov movq %rax, (%rsi) 10078331f75eSAmir Ayupov retq 10088331f75eSAmir Ayupov 10098331f75eSAmir Ayupov .cfi_endproc 10108331f75eSAmir Ayupov.size _Z5usqrtmP8int_sqrt, .-_Z5usqrtmP8int_sqrt 1011