Created
March 12, 2013 21:51
-
-
Save y-tag/5147413 to your computer and use it in GitHub Desktop.
$ clang++ -o mixed_entropy.clang.64.s -S mixed_entropy.cc -Wall
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.file "mixed_entropy.cc" | |
.text | |
.globl _Z13mixed_entropydd | |
.align 16, 0x90 | |
.type _Z13mixed_entropydd,@function | |
_Z13mixed_entropydd: # @_Z13mixed_entropydd | |
.Ltmp2: | |
.cfi_startproc | |
# BB#0: | |
pushq %rbp | |
.Ltmp3: | |
.cfi_def_cfa_offset 16 | |
.Ltmp4: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp5: | |
.cfi_def_cfa_register %rbp | |
subq $32, %rsp | |
pxor %xmm2, %xmm2 | |
movsd %xmm0, -16(%rbp) | |
movsd %xmm1, -24(%rbp) | |
movsd -24(%rbp), %xmm0 | |
ucomisd %xmm2, %xmm0 | |
jne .LBB0_2 | |
jp .LBB0_2 | |
# BB#1: | |
pxor %xmm0, %xmm0 | |
movsd %xmm0, -8(%rbp) | |
jmp .LBB0_3 | |
.LBB0_2: | |
movsd -24(%rbp), %xmm0 | |
callq log | |
movsd -16(%rbp), %xmm1 | |
divsd -24(%rbp), %xmm1 | |
subsd %xmm1, %xmm0 | |
movsd %xmm0, -8(%rbp) | |
.LBB0_3: | |
movsd -8(%rbp), %xmm0 | |
addq $32, %rsp | |
popq %rbp | |
ret | |
.Ltmp6: | |
.size _Z13mixed_entropydd, .Ltmp6-_Z13mixed_entropydd | |
.Ltmp7: | |
.cfi_endproc | |
.Leh_func_end0: | |
.globl main | |
.align 16, 0x90 | |
.type main,@function | |
main: # @main | |
.Ltmp10: | |
.cfi_startproc | |
# BB#0: | |
pushq %rbp | |
.Ltmp11: | |
.cfi_def_cfa_offset 16 | |
.Ltmp12: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp13: | |
.cfi_def_cfa_register %rbp | |
subq $80, %rsp | |
movl $3, %eax | |
movabsq $3, %rcx | |
cvtsi2sdq %rcx, %xmm0 | |
movl $0, -4(%rbp) | |
movl %edi, -8(%rbp) | |
movq %rsi, -16(%rbp) | |
movsd %xmm0, -24(%rbp) | |
movl %eax, %edi | |
callq _ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_ | |
movl $3, %edi | |
movabsq $3, %rcx | |
cvtsi2sdq %rcx, %xmm1 | |
movaps %xmm1, %xmm2 | |
mulsd %xmm0, %xmm2 | |
movsd %xmm2, -32(%rbp) | |
movsd -32(%rbp), %xmm0 | |
movd %xmm0, %rcx | |
movabsq $-9223372036854775808, %rsi # imm = 0x8000000000000000 | |
xorq %rcx, %rsi | |
movd %rsi, %xmm0 | |
divsd %xmm1, %xmm0 | |
movsd %xmm0, -56(%rbp) # 8-byte Spill | |
callq _ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_ | |
leaq .L.str, %rsi | |
pxor %xmm1, %xmm1 | |
movsd -56(%rbp), %xmm2 # 8-byte Reload | |
addsd %xmm2, %xmm0 | |
movsd %xmm0, -40(%rbp) | |
movsd %xmm1, -48(%rbp) | |
movsd -40(%rbp), %xmm0 | |
movsd %xmm0, -48(%rbp) | |
movq stdout, %rdi | |
movsd -48(%rbp), %xmm0 | |
movb $1, %al | |
callq fprintf | |
pxor %xmm0, %xmm0 | |
movsd -24(%rbp), %xmm1 | |
ucomisd %xmm0, %xmm1 | |
movl %eax, -60(%rbp) # 4-byte Spill | |
jne .LBB1_2 | |
jp .LBB1_2 | |
# BB#1: | |
pxor %xmm0, %xmm0 | |
movsd %xmm0, -72(%rbp) # 8-byte Spill | |
jmp .LBB1_3 | |
.LBB1_2: | |
movsd -24(%rbp), %xmm0 | |
callq log | |
movsd -32(%rbp), %xmm1 | |
divsd -24(%rbp), %xmm1 | |
subsd %xmm1, %xmm0 | |
movsd %xmm0, -72(%rbp) # 8-byte Spill | |
.LBB1_3: | |
movsd -72(%rbp), %xmm0 # 8-byte Reload | |
leaq .L.str, %rsi | |
movsd %xmm0, -48(%rbp) | |
movq stdout, %rdi | |
movsd -48(%rbp), %xmm0 | |
movb $1, %al | |
callq fprintf | |
movsd -32(%rbp), %xmm0 | |
movsd -24(%rbp), %xmm1 | |
movl %eax, -76(%rbp) # 4-byte Spill | |
callq _Z13mixed_entropydd | |
leaq .L.str, %rsi | |
movsd %xmm0, -48(%rbp) | |
movq stdout, %rdi | |
movsd -48(%rbp), %xmm0 | |
movb $1, %al | |
callq fprintf | |
movl $0, %ecx | |
movl %eax, -80(%rbp) # 4-byte Spill | |
movl %ecx, %eax | |
addq $80, %rsp | |
popq %rbp | |
ret | |
.Ltmp14: | |
.size main, .Ltmp14-main | |
.Ltmp15: | |
.cfi_endproc | |
.Leh_func_end1: | |
.section .text._ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_,"axG",@progbits,_ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_,comdat | |
.weak _ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_ | |
.align 16, 0x90 | |
.type _ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_,@function | |
_ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_: # @_ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_ | |
.Ltmp18: | |
.cfi_startproc | |
# BB#0: | |
pushq %rbp | |
.Ltmp19: | |
.cfi_def_cfa_offset 16 | |
.Ltmp20: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp21: | |
.cfi_def_cfa_register %rbp | |
subq $16, %rsp | |
movl %edi, -4(%rbp) | |
cvtsi2sd -4(%rbp), %xmm0 | |
callq log | |
addq $16, %rsp | |
popq %rbp | |
ret | |
.Ltmp22: | |
.size _ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_, .Ltmp22-_ZSt3logIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_ | |
.Ltmp23: | |
.cfi_endproc | |
.Leh_func_end2: | |
.type .L.str,@object # @.str | |
.section .rodata.str1.1,"aMS",@progbits,1 | |
.L.str: | |
.asciz "d = %g\n" | |
.size .L.str, 8 | |
.section ".note.GNU-stack","",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment