Advertisement
Guest User

Untitled

a guest
Nov 20th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. .text
  2. .file "test.cpp"
  3. .section .text._Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,"axG",@progbits,_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,comdat
  4. .weak _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
  5. .align 16, 0x90
  6. .type _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_,@function
  7. _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_: # @_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
  8. .cfi_startproc
  9. # BB#0:
  10. movl $64, %edx
  11. testq %rdi, %rdi
  12. je .LBB0_2
  13. # BB#1:
  14. bsrq %rdi, %rdx
  15. xorq $63, %rdx
  16. .LBB0_2: # %_Z7Log2_64m.exit
  17. movl $63, %ecx
  18. movl $63, %eax
  19. subl %edx, %eax
  20. movl $64, %edx
  21. testq %rsi, %rsi
  22. je .LBB0_4
  23. # BB#3:
  24. bsrq %rsi, %rdx
  25. xorq $63, %rdx
  26. .LBB0_4: # %_Z7Log2_64m.exit3
  27. subl %edx, %ecx
  28. addl %eax, %ecx
  29. cmpl $62, %ecx
  30. jg .LBB0_6
  31. # BB#5:
  32. imulq %rdi, %rsi
  33. movq %rsi, %rax
  34. retq
  35. .LBB0_6:
  36. movq $-1, %rax
  37. cmpl $63, %ecx
  38. jg .LBB0_11
  39. # BB#7:
  40. movq %rdi, %rcx
  41. shrq %rcx
  42. imulq %rsi, %rcx
  43. testq %rcx, %rcx
  44. js .LBB0_11
  45. # BB#8:
  46. addq %rcx, %rcx
  47. testb $1, %dil
  48. jne .LBB0_10
  49. # BB#9:
  50. movq %rcx, %rax
  51. retq
  52. .LBB0_10:
  53. leaq (%rcx,%rsi), %rax
  54. cmpq %rsi, %rax
  55. movq $-1, %rdx
  56. cmovbq %rdx, %rax
  57. addq %rsi, %rcx
  58. cmovbq %rdx, %rax
  59. .LBB0_11:
  60. retq
  61. .Lfunc_end0:
  62. .size _Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_, .Lfunc_end0-_Z18SaturatingMultiplyImENSt9enable_ifIXsr3std11is_unsignedIT_EE5valueES1_E4typeES1_S1_
  63. .cfi_endproc
  64.  
  65.  
  66. .ident "Ubuntu clang version 3.7.0-2ubuntu1 (tags/RELEASE_370/final) (based on LLVM 3.7.0)"
  67. .section ".note.GNU-stack","",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement