forked from OSchip/llvm-project
1011 lines
23 KiB
ArmAsm
1011 lines
23 KiB
ArmAsm
# Check that llvm-bolt is able to read a file with DWARF Exception CFI
|
|
# information and fix CFI information after reordering.
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
|
|
# RUN: llvm-strip --strip-unneeded %t.o
|
|
# RUN: %clangxx %cflags %t.o -o %t.exe
|
|
# RUN: llvm-bolt %t.exe -o %t --reorder-blocks=cache --print-after-lowering \
|
|
# RUN: --print-only=_Z10SolveCubicddddPiPd 2>&1 | FileCheck %s
|
|
#
|
|
# Entry BB
|
|
# CHECK: divsd %xmm0, %xmm1
|
|
# CHECK: pushq %rbx
|
|
# CHECK: !CFI $0 ; OpDefCfaOffset
|
|
# CHECK: !CFI $1 ; OpOffset
|
|
# CHECK: movq %rsi, %rbx
|
|
# CHECK: subq $0x70, %rsp
|
|
# CHECK: !CFI $2 ; OpDefCfaOffset
|
|
# CHECK: divsd %xmm0, %xmm2
|
|
# Duplicated tail
|
|
# CHECK: addq $0x70, %rsp
|
|
# CHECK: !CFI $3 ; OpDefCfaOffset
|
|
# CHECK: popq %rbx
|
|
# CHECK: !CFI $4 ; OpDefCfaOffset
|
|
# CHECK: retq
|
|
# CHECK: !CFI {{.*}} ; OpDefCfa
|
|
# Epilogue rescheduled to the middle of the function
|
|
# CHECK: addq $0x70, %rsp
|
|
# CHECK: !CFI $6 ; OpDefCfaOffset
|
|
# CHECK: popq %rbx
|
|
# CHECK: !CFI $7 ; OpDefCfaOffset
|
|
# CHECK: retq
|
|
# CHECK: !CFI {{.*}} ; OpDefCfa
|
|
|
|
.text
|
|
.globl main
|
|
.type main, %function
|
|
main:
|
|
# FDATA: 0 [unknown] 0 1 main 0 0 0
|
|
.cfi_startproc
|
|
LBB00:
|
|
pushq %r15
|
|
.cfi_def_cfa_offset 16
|
|
.cfi_offset %r15, -16
|
|
movl $0x401520, %edi
|
|
pushq %r14
|
|
.cfi_def_cfa_offset 24
|
|
.cfi_offset %r14, -24
|
|
pushq %r13
|
|
.cfi_def_cfa_offset 32
|
|
.cfi_offset %r13, -32
|
|
pushq %r12
|
|
.cfi_def_cfa_offset 40
|
|
.cfi_offset %r12, -40
|
|
xorl %r12d, %r12d
|
|
pushq %rbp
|
|
.cfi_def_cfa_offset 48
|
|
.cfi_offset %rbp, -48
|
|
pushq %rbx
|
|
.cfi_def_cfa_offset 56
|
|
.cfi_offset %rbx, -56
|
|
subq $0x98, %rsp
|
|
.cfi_def_cfa_offset 208
|
|
leaq 0x60(%rsp), %rbx
|
|
leaq 0x8c(%rsp), %rbp
|
|
callq puts@PLT
|
|
movsd DATAat0x401640(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x401648(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x401650(%rip), %xmm1
|
|
movq %rbx, %r13
|
|
movsd DATAat0x401658(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
LBB00_br: jmp Ltmp0
|
|
# FDATA: 1 main #LBB00_br# 1 main #Ltmp0# 0 0
|
|
|
|
Ltmp1:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp1_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp1_br# 1 main #Ltmp0# 0 0
|
|
|
|
Ltmp0:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp0_br: jl Ltmp1
|
|
# FDATA: 1 main #Ltmp0_br# 1 main #Ltmp1# 0 0
|
|
# FDATA: 1 main #Ltmp0_br# 1 main #LFT2# 0 0
|
|
|
|
LFT2:
|
|
movl $0xa, %edi
|
|
movq %rbx, %r13
|
|
xorl %r12d, %r12d
|
|
callq putchar@PLT
|
|
movsd DATAat0x401640(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x401660(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x401668(%rip), %xmm1
|
|
movsd DATAat0x401658(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
LFT2_br: jmp Ltmp2
|
|
# FDATA: 1 main #LFT2_br# 1 main #Ltmp2# 0 0
|
|
|
|
Ltmp3:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp3_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp3_br# 1 main #Ltmp2# 0 0
|
|
|
|
Ltmp2:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp2_br: jl Ltmp3
|
|
# FDATA: 1 main #Ltmp2_br# 1 main #Ltmp3# 0 0
|
|
# FDATA: 1 main #Ltmp2_br# 1 main #LFT4# 0 0
|
|
|
|
LFT4:
|
|
movl $0xa, %edi
|
|
callq putchar@PLT
|
|
movsd DATAat0x401670(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x401678(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x401680(%rip), %xmm1
|
|
movsd DATAat0x401658(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
movq %rbx, %r12
|
|
xorl %r13d, %r13d
|
|
LFT4_br: jmp Ltmp4
|
|
# FDATA: 1 main #LFT4_br# 1 main #Ltmp4# 0 0
|
|
|
|
Ltmp5:
|
|
movsd (%r12), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
callq printf@PLT
|
|
addl $0x1, %r13d
|
|
Ltmp5_br: addq $0x8, %r12
|
|
# FDATA: 1 main #Ltmp5_br# 1 main #Ltmp4# 0 0
|
|
|
|
Ltmp4:
|
|
cmpl 0x8c(%rsp), %r13d
|
|
Ltmp4_br: jl Ltmp5
|
|
# FDATA: 1 main #Ltmp4_br# 1 main #Ltmp5# 0 0
|
|
# FDATA: 1 main #Ltmp4_br# 1 main #LFT6# 0 0
|
|
|
|
LFT6:
|
|
movl $0xa, %edi
|
|
LFT6_br: callq putchar@PLT
|
|
# FDATA: 1 main #LFT6_br# 1 main #Ltmp27# 0 0
|
|
|
|
Ltmp27:
|
|
movsd DATAat0x401658(%rip), %xmm2
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x401688(%rip), %xmm3
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x401690(%rip), %xmm1
|
|
movq %rbx, %r13
|
|
movapd %xmm2, %xmm0
|
|
xorl %r12d, %r12d
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
Ltmp27_br: jmp Ltmp6
|
|
# FDATA: 1 main #Ltmp27_br# 1 main #Ltmp6# 0 0
|
|
|
|
Ltmp7:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp7_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp7_br# 1 main #Ltmp6# 0 0
|
|
|
|
Ltmp6:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp6_br: jl Ltmp7
|
|
# FDATA: 1 main #Ltmp6_br# 1 main #Ltmp7# 0 0
|
|
# FDATA: 1 main #Ltmp6_br# 1 main #LFT9# 0 0
|
|
|
|
LFT9:
|
|
movl $0xa, %edi
|
|
movq %rbx, %r13
|
|
xorl %r12d, %r12d
|
|
callq putchar@PLT
|
|
movsd DATAat0x401698(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x4016a0(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x4016a8(%rip), %xmm1
|
|
movsd DATAat0x4016b0(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
LFT9_br: jmp Ltmp8
|
|
# FDATA: 1 main #LFT9_br# 1 main #Ltmp8# 0 0
|
|
|
|
Ltmp9:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp9_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp9_br# 1 main #Ltmp8# 0 0
|
|
|
|
Ltmp8:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp8_br: jl Ltmp9
|
|
# FDATA: 1 main #Ltmp8_br# 1 main #Ltmp9# 0 0
|
|
# FDATA: 1 main #Ltmp8_br# 1 main #LFT11# 0 0
|
|
|
|
LFT11:
|
|
movl $0xa, %edi
|
|
movq %rbx, %r13
|
|
xorl %r12d, %r12d
|
|
callq putchar@PLT
|
|
movsd DATAat0x4016b8(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x4016c0(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x4016c8(%rip), %xmm1
|
|
movsd DATAat0x4016d0(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
LFT11_br: jmp Ltmp10
|
|
# FDATA: 1 main #LFT11_br# 1 main #Ltmp10# 0 0
|
|
|
|
Ltmp11:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp11_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp11_br# 1 main #Ltmp10# 0 0
|
|
|
|
Ltmp10:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp10_br: jl Ltmp11
|
|
# FDATA: 1 main #Ltmp10_br# 1 main #Ltmp11# 0 0
|
|
# FDATA: 1 main #Ltmp10_br# 1 main #LFT13# 0 0
|
|
|
|
LFT13:
|
|
movl $0xa, %edi
|
|
callq putchar@PLT
|
|
movsd DATAat0x4016d8(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x4016e0(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x4016e8(%rip), %xmm1
|
|
movsd DATAat0x4016f0(%rip), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
movq %rbx, %r12
|
|
xorl %r13d, %r13d
|
|
LFT13_br: jmp Ltmp12
|
|
# FDATA: 1 main #LFT13_br# 1 main #Ltmp12# 0 0
|
|
|
|
Ltmp13:
|
|
movsd (%r12), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
callq printf@PLT
|
|
addl $0x1, %r13d
|
|
Ltmp13_br: addq $0x8, %r12
|
|
# FDATA: 1 main #Ltmp13_br# 1 main #Ltmp12# 0 0
|
|
|
|
Ltmp12:
|
|
cmpl 0x8c(%rsp), %r13d
|
|
Ltmp12_br: jl Ltmp13
|
|
# FDATA: 1 main #Ltmp12_br# 1 main #Ltmp13# 0 0
|
|
# FDATA: 1 main #Ltmp12_br# 1 main #LFT15# 0 0
|
|
|
|
LFT15:
|
|
movl $0xa, %edi
|
|
LFT15_br: callq putchar@PLT
|
|
# FDATA: 1 main #LFT15_br# 1 main #Ltmp29# 0 0
|
|
|
|
Ltmp29:
|
|
movsd DATAat0x4016f8(%rip), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd DATAat0x401700(%rip), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd DATAat0x401708(%rip), %xmm1
|
|
movq %rbx, %r13
|
|
movsd DATAat0x401710(%rip), %xmm0
|
|
xorl %r12d, %r12d
|
|
callq _Z10SolveCubicddddPiPd
|
|
movl $0x4015d8, %edi
|
|
xorl %eax, %eax
|
|
callq printf@PLT
|
|
Ltmp29_br: jmp Ltmp14
|
|
# FDATA: 1 main #Ltmp29_br# 1 main #Ltmp14# 0 0
|
|
|
|
Ltmp15:
|
|
movsd (%r13), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
addl $0x1, %r12d
|
|
addq $0x8, %r13
|
|
Ltmp15_br: callq printf@PLT
|
|
# FDATA: 1 main #Ltmp15_br# 1 main #Ltmp14# 0 0
|
|
|
|
Ltmp14:
|
|
cmpl 0x8c(%rsp), %r12d
|
|
Ltmp14_br: jl Ltmp15
|
|
# FDATA: 1 main #Ltmp14_br# 1 main #Ltmp15# 0 0
|
|
# FDATA: 1 main #Ltmp14_br# 1 main #LFT16# 0 0
|
|
|
|
LFT16:
|
|
movl $0xa, %edi
|
|
movabsq $-0x4010000000000000, %r14
|
|
callq putchar@PLT
|
|
movabsq $0x3ff0000000000000, %rsi
|
|
movl $0x0, 0x5c(%rsp)
|
|
LFT16_br: movq %rsi, 0x50(%rsp)
|
|
# FDATA: 1 main #LFT16_br# 1 main #Ltmp21# 0 0
|
|
|
|
Ltmp21:
|
|
movabsq $0x4024000000000000, %rax
|
|
xorl %r15d, %r15d
|
|
Ltmp21_br: movq %rax, 0x48(%rsp)
|
|
# FDATA: 1 main #Ltmp21_br# 1 main #Ltmp20# 0 0
|
|
|
|
Ltmp20:
|
|
movabsq $0x4014000000000000, %rdx
|
|
xorl %r13d, %r13d
|
|
Ltmp20_br: movq %rdx, 0x40(%rsp)
|
|
# FDATA: 1 main #Ltmp20_br# 1 main #Ltmp19# 0 0
|
|
|
|
Ltmp19:
|
|
xorl %r12d, %r12d
|
|
Ltmp19_br: movq %r14, 0x38(%rsp)
|
|
# FDATA: 1 main #Ltmp19_br# 1 main #Ltmp18# 0 0
|
|
|
|
Ltmp18:
|
|
movsd 0x38(%rsp), %xmm3
|
|
movq %rbx, %rsi
|
|
movsd 0x40(%rsp), %xmm2
|
|
movq %rbp, %rdi
|
|
movsd 0x48(%rsp), %xmm1
|
|
movsd 0x50(%rsp), %xmm0
|
|
callq _Z10SolveCubicddddPiPd
|
|
xorl %eax, %eax
|
|
movl $0x4015d8, %edi
|
|
callq printf@PLT
|
|
movl 0x8c(%rsp), %ecx
|
|
testl %ecx, %ecx
|
|
Ltmp18_br: jle Ltmp16
|
|
# FDATA: 1 main #Ltmp18_br# 1 main #Ltmp16# 0 0
|
|
# FDATA: 1 main #Ltmp18_br# 1 main #LFT17# 0 0
|
|
|
|
LFT17:
|
|
movq %rbx, %rcx
|
|
LFT17_br: xorl %edx, %edx
|
|
# FDATA: 1 main #LFT17_br# 1 main #Ltmp17# 0 0
|
|
|
|
Ltmp17:
|
|
movsd (%rcx), %xmm0
|
|
movl $0x4015e3, %edi
|
|
movl $0x1, %eax
|
|
movl %edx, 0x20(%rsp)
|
|
movq %rcx, 0x30(%rsp)
|
|
callq printf@PLT
|
|
movl 0x20(%rsp), %edx
|
|
movq 0x30(%rsp), %rcx
|
|
addl $0x1, %edx
|
|
addq $0x8, %rcx
|
|
cmpl %edx, 0x8c(%rsp)
|
|
Ltmp17_br: jg Ltmp17
|
|
# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp17# 0 0
|
|
# FDATA: 1 main #Ltmp17_br# 1 main #Ltmp16# 0 0
|
|
|
|
Ltmp16:
|
|
movl $0xa, %edi
|
|
addl $0x1, %r12d
|
|
callq putchar@PLT
|
|
movsd 0x38(%rsp), %xmm0
|
|
cmpl $0x9, %r12d
|
|
subsd DATAat0x401718(%rip), %xmm0
|
|
movsd %xmm0, 0x38(%rsp)
|
|
Ltmp16_br: jne Ltmp18
|
|
# FDATA: 1 main #Ltmp16_br# 1 main #Ltmp18# 0 0
|
|
# FDATA: 1 main #Ltmp16_br# 1 main #LFT18# 0 0
|
|
|
|
LFT18:
|
|
movsd DATAat0x401720(%rip), %xmm0
|
|
addl $0x1, %r13d
|
|
cmpl $0x11, %r13d
|
|
addsd 0x40(%rsp), %xmm0
|
|
movsd %xmm0, 0x40(%rsp)
|
|
LFT18_br: jne Ltmp19
|
|
# FDATA: 1 main #LFT18_br# 1 main #Ltmp19# 0 0
|
|
# FDATA: 1 main #LFT18_br# 1 main #LFT19# 0 0
|
|
|
|
LFT19:
|
|
movsd 0x48(%rsp), %xmm0
|
|
addl $0x1, %r15d
|
|
cmpl $0x28, %r15d
|
|
subsd DATAat0x401728(%rip), %xmm0
|
|
movsd %xmm0, 0x48(%rsp)
|
|
LFT19_br: jne Ltmp20
|
|
# FDATA: 1 main #LFT19_br# 1 main #Ltmp20# 0 0
|
|
# FDATA: 1 main #LFT19_br# 1 main #LFT20# 0 0
|
|
|
|
LFT20:
|
|
movsd DATAat0x401658(%rip), %xmm0
|
|
addl $0x1, 0x5c(%rsp)
|
|
cmpl $0x9, 0x5c(%rsp)
|
|
addsd 0x50(%rsp), %xmm0
|
|
movsd %xmm0, 0x50(%rsp)
|
|
LFT20_br: jne Ltmp21
|
|
# FDATA: 1 main #LFT20_br# 1 main #Ltmp21# 0 0
|
|
# FDATA: 1 main #LFT20_br# 1 main #LFT21# 0 0
|
|
|
|
LFT21:
|
|
leaq 0x80(%rsp), %r12
|
|
movl $0x401548, %edi
|
|
movl $0xc350, %ebp
|
|
xorl %ebx, %ebx
|
|
LFT21_br: callq puts@PLT
|
|
# FDATA: 1 main #LFT21_br# 1 main #Ltmp22# 0 0
|
|
|
|
Ltmp22:
|
|
movslq %ebx, %rdi
|
|
movq %r12, %rsi
|
|
callq _Z5usqrtmP8int_sqrt
|
|
movl 0x80(%rsp), %edx
|
|
movl %ebx, %esi
|
|
xorl %eax, %eax
|
|
movl $0x4015f2, %edi
|
|
addl $0x2, %ebx
|
|
callq printf@PLT
|
|
subl $0x1, %ebp
|
|
Ltmp22_br: jne Ltmp22
|
|
# FDATA: 1 main #Ltmp22_br# 1 main #Ltmp22# 0 0
|
|
# FDATA: 1 main #Ltmp22_br# 1 main #LFT22# 0 0
|
|
|
|
LFT22:
|
|
movl $0xa, %edi
|
|
movl $0x3fed0169, %ebx
|
|
LFT22_br: callq putchar@PLT
|
|
# FDATA: 1 main #LFT22_br# 1 main #Ltmp23# 0 0
|
|
|
|
Ltmp23:
|
|
movq %rbx, %rdi
|
|
movq %r12, %rsi
|
|
callq _Z5usqrtmP8int_sqrt
|
|
movl 0x80(%rsp), %edx
|
|
movq %rbx, %rsi
|
|
xorl %eax, %eax
|
|
movl $0x401603, %edi
|
|
addq $0x1, %rbx
|
|
callq printf@PLT
|
|
cmpq $0x3fed4169, %rbx
|
|
Ltmp23_br: jne Ltmp23
|
|
# FDATA: 1 main #Ltmp23_br# 1 main #Ltmp23# 0 0
|
|
# FDATA: 1 main #Ltmp23_br# 1 main #LFT23# 0 0
|
|
|
|
LFT23:
|
|
movl $0x401570, %edi
|
|
xorl %ebx, %ebx
|
|
callq puts@PLT
|
|
movq %rbx, 0x8(%rsp)
|
|
movsd DATAat0x401748(%rip), %xmm3
|
|
LFT23_br: movsd 0x8(%rsp), %xmm2
|
|
# FDATA: 1 main #LFT23_br# 1 main #Ltmp24# 0 0
|
|
|
|
Ltmp24:
|
|
movsd DATAat0x401730(%rip), %xmm1
|
|
movl $0x401598, %edi
|
|
movapd %xmm2, %xmm0
|
|
movl $0x2, %eax
|
|
mulsd %xmm2, %xmm1
|
|
movsd %xmm2, 0x20(%rsp)
|
|
movsd %xmm3, 0x10(%rsp)
|
|
divsd DATAat0x401738(%rip), %xmm1
|
|
callq printf@PLT
|
|
movsd 0x20(%rsp), %xmm2
|
|
movsd 0x10(%rsp), %xmm3
|
|
addsd DATAat0x401740(%rip), %xmm2
|
|
ucomisd %xmm2, %xmm3
|
|
Ltmp24_br: jae Ltmp24
|
|
# FDATA: 1 main #Ltmp24_br# 1 main #Ltmp24# 0 0
|
|
# FDATA: 1 main #Ltmp24_br# 1 main #LFT24# 0 0
|
|
|
|
LFT24:
|
|
movl $0x401612, %edi
|
|
callq puts@PLT
|
|
movq %rbx, 0x8(%rsp)
|
|
movsd DATAat0x401758(%rip), %xmm3
|
|
LFT24_br: movsd 0x8(%rsp), %xmm2
|
|
# FDATA: 1 main #LFT24_br# 1 main #Ltmp25# 0 0
|
|
|
|
Ltmp25:
|
|
movsd DATAat0x401738(%rip), %xmm1
|
|
movl $0x4015b8, %edi
|
|
movapd %xmm2, %xmm0
|
|
movl $0x2, %eax
|
|
mulsd %xmm2, %xmm1
|
|
movsd %xmm2, 0x20(%rsp)
|
|
movsd %xmm3, 0x10(%rsp)
|
|
divsd DATAat0x401730(%rip), %xmm1
|
|
callq printf@PLT
|
|
movsd 0x20(%rsp), %xmm2
|
|
movsd 0x10(%rsp), %xmm3
|
|
addsd DATAat0x401750(%rip), %xmm2
|
|
ucomisd %xmm2, %xmm3
|
|
Ltmp25_br: jae Ltmp25
|
|
# FDATA: 1 main #Ltmp25_br# 1 main #Ltmp25# 0 0
|
|
# FDATA: 1 main #Ltmp25_br# 1 main #LFT25# 0 0
|
|
|
|
LFT25:
|
|
addq $0x98, %rsp
|
|
.cfi_def_cfa_offset 56
|
|
xorl %eax, %eax
|
|
popq %rbx
|
|
.cfi_def_cfa_offset 48
|
|
popq %rbp
|
|
.cfi_def_cfa_offset 40
|
|
popq %r12
|
|
.cfi_def_cfa_offset 32
|
|
popq %r13
|
|
.cfi_def_cfa_offset 24
|
|
popq %r14
|
|
.cfi_def_cfa_offset 16
|
|
popq %r15
|
|
.cfi_def_cfa_offset 8
|
|
retq
|
|
.cfi_def_cfa %rsp, 208
|
|
|
|
LLP0:
|
|
cmpq $0x1, %rdx
|
|
movq %rax, %rdi
|
|
LLP0_br: je Ltmp26
|
|
# FDATA: 1 main #LLP0_br# 1 main #Ltmp26# 0 0
|
|
# FDATA: 1 main #LLP0_br# 1 main #Ltmp28# 0 0
|
|
|
|
Ltmp28:
|
|
Ltmp28_br: callq _Unwind_Resume@PLT
|
|
# FDATA: 1 main #Ltmp28_br# 1 main #Ltmp26# 0 0
|
|
|
|
Ltmp26:
|
|
callq __cxa_begin_catch@PLT
|
|
movl $0x4015e7, %edi
|
|
callq puts@PLT
|
|
callq __cxa_end_catch@PLT
|
|
Ltmp26_br: jmp Ltmp27
|
|
# FDATA: 1 main #Ltmp26_br# 1 main #Ltmp27# 0 0
|
|
|
|
Ltmp30:
|
|
movq %rax, 0x30(%rsp)
|
|
callq __cxa_end_catch@PLT
|
|
movq 0x30(%rsp), %rdi
|
|
Ltmp30_br: jmp Ltmp28
|
|
# FDATA: 1 main #Ltmp30_br# 1 main #Ltmp28# 0 0
|
|
|
|
LLP1:
|
|
cmpq $0x1, %rdx
|
|
movq %rax, %rdi
|
|
LLP1_br: jne Ltmp28
|
|
# FDATA: 1 main #LLP1_br# 1 main #Ltmp28# 0 0
|
|
# FDATA: 1 main #LLP1_br# 1 main #LFT26# 0 0
|
|
|
|
LFT26:
|
|
callq __cxa_begin_catch@PLT
|
|
movl $0x4015e7, %edi
|
|
callq puts@PLT
|
|
callq __cxa_end_catch@PLT
|
|
LFT26_br: jmp Ltmp29
|
|
# FDATA: 1 main #LFT26_br# 1 main #Ltmp29# 0 0
|
|
|
|
LLP2:
|
|
LLP2_br: jmp Ltmp30
|
|
# FDATA: 1 main #LLP2_br# 1 main #Ltmp30# 0 0
|
|
|
|
.cfi_endproc
|
|
.size main, .-main
|
|
|
|
.section .rodata
|
|
"DATAat0x401738":
|
|
"DATAat0x401748":
|
|
"DATAat0x401728":
|
|
"DATAat0x401718":
|
|
"DATAat0x4016f8":
|
|
"DATAat0x401690":
|
|
"DATAat0x401668":
|
|
"DATAat0x401650":
|
|
"DATAat0x401700":
|
|
"DATAat0x401698":
|
|
"DATAat0x401688":
|
|
"DATAat0x401648":
|
|
"DATAat0x401680":
|
|
"DATAat0x4016c8":
|
|
"DATAat0x401750":
|
|
"DATAat0x401678":
|
|
"DATAat0x4016c0":
|
|
"DATAat0x401758":
|
|
"DATAat0x401660":
|
|
"DATAat0x4016b0":
|
|
"DATAat0x401640":
|
|
"DATAat0x401658":
|
|
"DATAat0x401720":
|
|
"DATAat0x4016f0":
|
|
"DATAat0x401710":
|
|
"DATAat0x4016a8":
|
|
"DATAat0x401730":
|
|
"DATAat0x4016b8":
|
|
"DATAat0x401708":
|
|
"DATAat0x401670":
|
|
"DATAat0x4016a0":
|
|
"DATAat0x4016d0":
|
|
"DATAat0x4016d8":
|
|
"DATAat0x4016e0":
|
|
"DATAat0x401740":
|
|
"DATAat0x4016e8":
|
|
.text
|
|
.globl _Z10SolveCubicddddPiPd
|
|
.type _Z10SolveCubicddddPiPd, %function
|
|
_Z10SolveCubicddddPiPd:
|
|
# FDATA: 0 [unknown] 0 1 _Z10SolveCubicddddPiPd 0 0 57
|
|
.cfi_startproc
|
|
LBB01:
|
|
divsd %xmm0, %xmm1
|
|
pushq %rbx
|
|
.cfi_def_cfa_offset 16
|
|
.cfi_offset %rbx, -16
|
|
movq %rsi, %rbx
|
|
subq $0x70, %rsp
|
|
.cfi_def_cfa_offset 128
|
|
divsd %xmm0, %xmm2
|
|
movsd %xmm1, 0x48(%rsp)
|
|
fldl 0x48(%rsp)
|
|
divsd %xmm0, %xmm3
|
|
movsd %xmm2, 0x48(%rsp)
|
|
fldl 0x48(%rsp)
|
|
fld %st(1)
|
|
fmul %st(2), %st
|
|
movsd %xmm3, 0x48(%rsp)
|
|
fld %st(1)
|
|
fmuls DATAat0x401760(%rip)
|
|
faddp %st, %st(1)
|
|
fdivs DATAat0x401764(%rip)
|
|
fld %st(2)
|
|
fadd %st(3), %st
|
|
fmul %st(3), %st
|
|
fmul %st(3), %st
|
|
fld %st(3)
|
|
fmuls DATAat0x401768(%rip)
|
|
fmulp %st, %st(3)
|
|
faddp %st, %st(2)
|
|
flds DATAat0x40176c(%rip)
|
|
fmull 0x48(%rsp)
|
|
faddp %st, %st(2)
|
|
fxch %st(1)
|
|
fdivs DATAat0x401770(%rip)
|
|
fld %st(1)
|
|
fmul %st(2), %st
|
|
fmul %st(2), %st
|
|
fld %st(1)
|
|
fmul %st(2), %st
|
|
fsub %st(1), %st
|
|
fstpl 0x68(%rsp)
|
|
movsd 0x68(%rsp), %xmm0
|
|
ucomisd DATAat0x401778(%rip), %xmm0
|
|
LBB01_br: jbe Ltmp31
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #Ltmp31# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LBB01_br# 1 _Z10SolveCubicddddPiPd #LFT1# 0 0
|
|
|
|
LFT1:
|
|
fstp %st(0)
|
|
LFT1_br: jmp Ltmp32
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT1_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
|
|
|
|
Ltmp37:
|
|
Ltmp37_br: fstp %st(0)
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp37_br# 1 _Z10SolveCubicddddPiPd #Ltmp32# 0 0
|
|
|
|
Ltmp32:
|
|
sqrtsd %xmm0, %xmm1
|
|
movl $0x1, (%rdi)
|
|
ucomisd %xmm1, %xmm1
|
|
Ltmp32_br: jp Ltmp33
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp32_br# 1 _Z10SolveCubicddddPiPd #LFT3# 0 0
|
|
|
|
LFT3:
|
|
LFT3_br: jne Ltmp33
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp33# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT3_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
|
|
|
|
Ltmp36:
|
|
fstl 0x68(%rsp)
|
|
movsd DATAat0x4017b0(%rip), %xmm2
|
|
fstpt 0x30(%rsp)
|
|
fxch %st(1)
|
|
movsd 0x68(%rsp), %xmm0
|
|
fstpt 0x10(%rsp)
|
|
andpd %xmm2, %xmm0
|
|
fstpt 0x20(%rsp)
|
|
addsd %xmm1, %xmm0
|
|
movsd DATAat0x401798(%rip), %xmm1
|
|
callq pow@PLT
|
|
movsd %xmm0, 0x8(%rsp)
|
|
fldl 0x8(%rsp)
|
|
fldz
|
|
fldt 0x30(%rsp)
|
|
fxch %st(1)
|
|
fucompi %st(1), %st
|
|
fstp %st(0)
|
|
fldt 0x10(%rsp)
|
|
fldt 0x20(%rsp)
|
|
Ltmp36_br: ja Ltmp34
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #Ltmp34# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp36_br# 1 _Z10SolveCubicddddPiPd #LFT5# 0 0
|
|
|
|
LFT5:
|
|
LFT5_br: movsd DATAat0x4017a0(%rip), %xmm1
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT5_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
|
|
|
|
Ltmp35:
|
|
fdiv %st(2), %st
|
|
faddp %st, %st(2)
|
|
fxch %st(1)
|
|
fstpl 0x68(%rsp)
|
|
fdivs DATAat0x401760(%rip)
|
|
movsd 0x68(%rsp), %xmm0
|
|
mulsd %xmm1, %xmm0
|
|
movsd %xmm0, 0x8(%rsp)
|
|
fldl 0x8(%rsp)
|
|
faddp %st, %st(1)
|
|
fstpl (%rbx)
|
|
addq $0x70, %rsp
|
|
.cfi_def_cfa_offset 16
|
|
popq %rbx
|
|
.cfi_def_cfa_offset 8
|
|
retq
|
|
.cfi_def_cfa %rsp, 128
|
|
|
|
Ltmp34:
|
|
movsd DATAat0x401658(%rip), %xmm1
|
|
Ltmp34_br: jmp Ltmp35
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp34_br# 1 _Z10SolveCubicddddPiPd #Ltmp35# 0 0
|
|
|
|
Ltmp33:
|
|
fstpt 0x30(%rsp)
|
|
fxch %st(1)
|
|
fstpt 0x10(%rsp)
|
|
fstpt 0x20(%rsp)
|
|
callq sqrt@PLT
|
|
movapd %xmm0, %xmm1
|
|
fldt 0x20(%rsp)
|
|
fldt 0x10(%rsp)
|
|
fldt 0x30(%rsp)
|
|
fxch %st(1)
|
|
fxch %st(2)
|
|
fxch %st(1)
|
|
Ltmp33_br: jmp Ltmp36
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp33_br# 1 _Z10SolveCubicddddPiPd #Ltmp36# 0 0
|
|
|
|
Ltmp31:
|
|
Ltmp31_br: jp Ltmp37
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #Ltmp37# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp31_br# 1 _Z10SolveCubicddddPiPd #LFT7# 0 0
|
|
|
|
LFT7:
|
|
fstpl 0x68(%rsp)
|
|
movl $0x3, (%rdi)
|
|
movsd 0x68(%rsp), %xmm1
|
|
sqrtsd %xmm1, %xmm0
|
|
ucomisd %xmm0, %xmm0
|
|
LFT7_br: jp Ltmp38
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT7_br# 1 _Z10SolveCubicddddPiPd #LFT8# 0 0
|
|
|
|
LFT8:
|
|
LFT8_br: jne Ltmp38
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp38# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT8_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
|
|
|
|
Ltmp47:
|
|
movsd %xmm0, 0x8(%rsp)
|
|
fldl 0x8(%rsp)
|
|
fdivrp %st, %st(1)
|
|
fstpl 0x68(%rsp)
|
|
fxch %st(1)
|
|
fstpt 0x10(%rsp)
|
|
movsd 0x68(%rsp), %xmm0
|
|
fstpt 0x20(%rsp)
|
|
callq acos@PLT
|
|
movsd %xmm0, 0x48(%rsp)
|
|
fldt 0x20(%rsp)
|
|
fstpl 0x60(%rsp)
|
|
sqrtsd 0x60(%rsp), %xmm1
|
|
movapd %xmm1, %xmm2
|
|
ucomisd %xmm1, %xmm1
|
|
fldt 0x10(%rsp)
|
|
Ltmp47_br: jp Ltmp39
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #Ltmp39# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp47_br# 1 _Z10SolveCubicddddPiPd #LFT10# 0 0
|
|
|
|
LFT10:
|
|
LFT10_br: jne Ltmp40
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp40# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT10_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
|
|
|
|
Ltmp46:
|
|
divsd DATAat0x4016b0(%rip), %xmm0
|
|
movsd %xmm1, 0x20(%rsp)
|
|
movsd %xmm2, 0x30(%rsp)
|
|
fstpt 0x10(%rsp)
|
|
callq cos@PLT
|
|
movsd 0x30(%rsp), %xmm2
|
|
movsd 0x20(%rsp), %xmm1
|
|
fldt 0x10(%rsp)
|
|
ucomisd %xmm1, %xmm1
|
|
mulsd DATAat0x401780(%rip), %xmm2
|
|
fdivs DATAat0x401760(%rip)
|
|
mulsd %xmm0, %xmm2
|
|
movsd %xmm2, 0x8(%rsp)
|
|
movapd %xmm1, %xmm2
|
|
fld %st(0)
|
|
fstpt 0x50(%rsp)
|
|
fldl 0x8(%rsp)
|
|
faddp %st, %st(1)
|
|
fstpl (%rbx)
|
|
Ltmp46_br: jp Ltmp41
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp46_br# 1 _Z10SolveCubicddddPiPd #LFT12# 0 0
|
|
|
|
LFT12:
|
|
LFT12_br: jne Ltmp41
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp41# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT12_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
|
|
|
|
Ltmp44:
|
|
movsd 0x48(%rsp), %xmm0
|
|
movsd %xmm1, 0x20(%rsp)
|
|
addsd DATAat0x401788(%rip), %xmm0
|
|
movsd %xmm2, 0x30(%rsp)
|
|
divsd DATAat0x4016b0(%rip), %xmm0
|
|
callq cos@PLT
|
|
movsd 0x30(%rsp), %xmm2
|
|
fldt 0x50(%rsp)
|
|
mulsd DATAat0x401780(%rip), %xmm2
|
|
movsd 0x20(%rsp), %xmm1
|
|
ucomisd %xmm1, %xmm1
|
|
mulsd %xmm0, %xmm2
|
|
movsd %xmm2, 0x8(%rsp)
|
|
fldl 0x8(%rsp)
|
|
faddp %st, %st(1)
|
|
fstpl 0x8(%rbx)
|
|
Ltmp44_br: jp Ltmp42
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp44_br# 1 _Z10SolveCubicddddPiPd #LFT14# 0 0
|
|
|
|
LFT14:
|
|
LFT14_br: jne Ltmp42
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp42# 0 0
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #LFT14_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
|
|
|
|
Ltmp43:
|
|
movsd 0x48(%rsp), %xmm0
|
|
movsd %xmm1, 0x20(%rsp)
|
|
addsd DATAat0x401790(%rip), %xmm0
|
|
divsd DATAat0x4016b0(%rip), %xmm0
|
|
callq cos@PLT
|
|
fldt 0x50(%rsp)
|
|
movsd DATAat0x401780(%rip), %xmm2
|
|
movsd 0x20(%rsp), %xmm1
|
|
mulsd %xmm1, %xmm2
|
|
mulsd %xmm0, %xmm2
|
|
movsd %xmm2, 0x8(%rsp)
|
|
fldl 0x8(%rsp)
|
|
faddp %st, %st(1)
|
|
fstpl 0x10(%rbx)
|
|
addq $0x70, %rsp
|
|
.cfi_def_cfa_offset 16
|
|
popq %rbx
|
|
.cfi_def_cfa_offset 8
|
|
retq
|
|
.cfi_def_cfa %rsp, 128
|
|
|
|
Ltmp42:
|
|
movsd 0x60(%rsp), %xmm0
|
|
callq sqrt@PLT
|
|
movapd %xmm0, %xmm1
|
|
Ltmp42_br: jmp Ltmp43
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp42_br# 1 _Z10SolveCubicddddPiPd #Ltmp43# 0 0
|
|
|
|
Ltmp41:
|
|
movsd 0x60(%rsp), %xmm0
|
|
callq sqrt@PLT
|
|
movsd 0x20(%rsp), %xmm1
|
|
movapd %xmm0, %xmm2
|
|
Ltmp41_br: jmp Ltmp44
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp41_br# 1 _Z10SolveCubicddddPiPd #Ltmp44# 0 0
|
|
|
|
Ltmp39:
|
|
fstp %st(0)
|
|
Ltmp39_br: jmp Ltmp45
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp39_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
|
|
|
|
Ltmp40:
|
|
Ltmp40_br: fstp %st(0)
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp40_br# 1 _Z10SolveCubicddddPiPd #Ltmp45# 0 0
|
|
|
|
Ltmp45:
|
|
movsd 0x60(%rsp), %xmm0
|
|
movsd %xmm1, 0x20(%rsp)
|
|
callq sqrt@PLT
|
|
movsd 0x20(%rsp), %xmm1
|
|
movapd %xmm0, %xmm2
|
|
movsd 0x48(%rsp), %xmm0
|
|
fldt 0x10(%rsp)
|
|
Ltmp45_br: jmp Ltmp46
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp45_br# 1 _Z10SolveCubicddddPiPd #Ltmp46# 0 0
|
|
|
|
Ltmp38:
|
|
fstpt 0x30(%rsp)
|
|
fxch %st(1)
|
|
movapd %xmm1, %xmm0
|
|
fstpt 0x10(%rsp)
|
|
fstpt 0x20(%rsp)
|
|
callq sqrt@PLT
|
|
fldt 0x20(%rsp)
|
|
fldt 0x10(%rsp)
|
|
fldt 0x30(%rsp)
|
|
fxch %st(1)
|
|
fxch %st(2)
|
|
fxch %st(1)
|
|
Ltmp38_br: jmp Ltmp47
|
|
# FDATA: 1 _Z10SolveCubicddddPiPd #Ltmp38_br# 1 _Z10SolveCubicddddPiPd #Ltmp47# 0 0
|
|
|
|
.cfi_endproc
|
|
.size _Z10SolveCubicddddPiPd, .-_Z10SolveCubicddddPiPd
|
|
.section .rodata
|
|
"DATAat0x401788":
|
|
"DATAat0x401790":
|
|
"DATAat0x401780":
|
|
"DATAat0x401770":
|
|
"DATAat0x40176c":
|
|
"DATAat0x401760":
|
|
"DATAat0x401768":
|
|
"DATAat0x401778":
|
|
"DATAat0x401764":
|
|
"DATAat0x401798":
|
|
"DATAat0x4017b0":
|
|
"DATAat0x4017a0":
|
|
|
|
.text
|
|
.globl _Z5usqrtmP8int_sqrt
|
|
.type _Z5usqrtmP8int_sqrt, %function
|
|
_Z5usqrtmP8int_sqrt:
|
|
# FDATA: 0 [unknown] 0 1 _Z5usqrtmP8int_sqrt 0 0 6
|
|
.cfi_startproc
|
|
LBB02:
|
|
xorl %r9d, %r9d
|
|
xorl %eax, %eax
|
|
LBB02_br: xorl %ecx, %ecx
|
|
# FDATA: 1 _Z5usqrtmP8int_sqrt #LBB02_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
|
|
|
|
Ltmp48:
|
|
movq %rdi, %rdx
|
|
leaq (%rax,%rax), %r10
|
|
leaq 0x1(,%rax,4), %r8
|
|
andl $0xc0000000, %edx
|
|
shlq $0x2, %rdi
|
|
shrq $0x1e, %rdx
|
|
leaq 0x1(%r10), %rax
|
|
leaq (%rdx,%rcx,4), %rdx
|
|
movq %rdx, %rcx
|
|
subq %r8, %rcx
|
|
cmpq %r8, %rdx
|
|
cmovbq %rdx, %rcx
|
|
cmovbq %r10, %rax
|
|
addl $0x1, %r9d
|
|
cmpl $0x20, %r9d
|
|
Ltmp48_br: jne Ltmp48
|
|
# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #Ltmp48# 0 0
|
|
# FDATA: 1 _Z5usqrtmP8int_sqrt #Ltmp48_br# 1 _Z5usqrtmP8int_sqrt #LFT0# 0 0
|
|
|
|
LFT0:
|
|
movq %rax, (%rsi)
|
|
retq
|
|
|
|
.cfi_endproc
|
|
.size _Z5usqrtmP8int_sqrt, .-_Z5usqrtmP8int_sqrt
|