Advertisement
Guest User

wtf clang

a guest
Feb 21st, 2020
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .LCPI0_0:
  2.   .long 1127219200 # 0x43300000
  3.   .long 1160773632 # 0x45300000
  4.   .long 0 # 0x0
  5.   .long 0 # 0x0
  6. .LCPI0_1:
  7.   .quad 0x4330000000000000 # double 4503599627370496
  8.   .quad 0x4530000000000000 # double 1.9342813113834067E+25
  9. .LCPI0_2:
  10.   .quad 0x3ff0000000000000 # double 1
  11. sum_reciprocals(unsigned long, unsigned long): # @sum_reciprocals(unsigned long, unsigned long)
  12.   xorpd xmm0, xmm0
  13.   cmp rsi, rdi
  14.   jbe .LBB0_7
  15.   mov ecx, esi
  16.   sub ecx, edi
  17.   mov rax, rdi
  18.   not rax
  19.   test cl, 1
  20.   jne .LBB0_3
  21.   xorpd xmm0, xmm0
  22.   add rax, rsi
  23.   jne .LBB0_5
  24.   jmp .LBB0_7
  25. .LBB0_3:
  26.   movq xmm0, rdi
  27.   punpckldq xmm0, xmmword ptr [rip + .LCPI0_0] # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
  28.   subpd xmm0, xmmword ptr [rip + .LCPI0_1]
  29.   movapd xmm1, xmm0
  30.   unpckhpd xmm1, xmm0 # xmm1 = xmm1[1],xmm0[1]
  31.   addsd xmm1, xmm0
  32.   movsd xmm2, qword ptr [rip + .LCPI0_2] # xmm2 = mem[0],zero
  33.   divsd xmm2, xmm1
  34.   xorpd xmm0, xmm0
  35.   addsd xmm0, xmm2
  36.   add rdi, 1
  37.   add rax, rsi
  38.   je .LBB0_7
  39. .LBB0_5:
  40.   movdqa xmm1, xmmword ptr [rip + .LCPI0_0] # xmm1 = [1127219200,1160773632,0,0]
  41.   movapd xmm2, xmmword ptr [rip + .LCPI0_1] # xmm2 = [4.503599627370496E+15,1.9342813113834067E+25]
  42.   movsd xmm3, qword ptr [rip + .LCPI0_2] # xmm3 = mem[0],zero
  43. .LBB0_6: # =>This Inner Loop Header: Depth=1
  44.   movq xmm4, rdi
  45.   punpckldq xmm4, xmm1 # xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]
  46.   subpd xmm4, xmm2
  47.   movapd xmm5, xmm4
  48.   unpckhpd xmm5, xmm4 # xmm5 = xmm5[1],xmm4[1]
  49.   addsd xmm5, xmm4
  50.   movapd xmm4, xmm3
  51.   divsd xmm4, xmm5
  52.   addsd xmm4, xmm0
  53.   lea rax, [rdi + 1]
  54.   movq xmm0, rax
  55.   punpckldq xmm0, xmm1 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
  56.   subpd xmm0, xmm2
  57.   movapd xmm5, xmm0
  58.   unpckhpd xmm5, xmm0 # xmm5 = xmm5[1],xmm0[1]
  59.   addsd xmm5, xmm0
  60.   movapd xmm0, xmm3
  61.   divsd xmm0, xmm5
  62.   addsd xmm0, xmm4
  63.   add rdi, 2
  64.   cmp rdi, rsi
  65.   jne .LBB0_6
  66. .LBB0_7:
  67.   ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement