Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .file "test.cpp"
- .section .text._Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,"axG",@progbits,_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,comdat
- .weak _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
- .align 16, 0x90
- .type _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,@function
- _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_: # @_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
- .cfi_startproc
- # BB#0:
- movl $64, %edx
- testq %rdi, %rdi
- je .LBB0_2
- # BB#1:
- bsrq %rdi, %rdx
- xorq $63, %rdx
- .LBB0_2: # %_Z7Log2_64m.exit
- movl $63, %ecx
- movl $63, %eax
- subl %edx, %eax
- movl $64, %edx
- testq %rsi, %rsi
- je .LBB0_4
- # BB#3:
- bsrq %rsi, %rdx
- xorq $63, %rdx
- .LBB0_4: # %_Z7Log2_64m.exit3
- subl %edx, %ecx
- addl %eax, %ecx
- cmpl $62, %ecx
- jg .LBB0_6
- # BB#5:
- imulq %rdi, %rsi
- movq %rsi, %rax
- retq
- .LBB0_6:
- movq $-1, %rax
- cmpl $63, %ecx
- jg .LBB0_11
- # BB#7:
- movq %rdi, %rcx
- shrq %rcx
- imulq %rsi, %rcx
- testq %rcx, %rcx
- js .LBB0_11
- # BB#8:
- addq %rcx, %rcx
- testb $1, %dil
- jne .LBB0_10
- # BB#9:
- movq %rcx, %rax
- retq
- .LBB0_10:
- leaq (%rcx,%rsi), %rax
- cmpq %rsi, %rax
- movq $-1, %rdx
- cmovbq %rdx, %rax
- addq %rsi, %rcx
- cmovbq %rdx, %rax
- .LBB0_11:
- retq
- .Lfunc_end0:
- .size _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_, .Lfunc_end0-_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
- .cfi_endproc
- .ident "Ubuntu clang version 3.7.0-2ubuntu1 (tags/RELEASE_370/final) (based on LLVM 3.7.0)"
- .section ".note.GNU-stack","",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement