Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .LCPI0_0:
- .long 1127219200 # 0x43300000
- .long 1160773632 # 0x45300000
- .long 0 # 0x0
- .long 0 # 0x0
- .LCPI0_1:
- .quad 0x4330000000000000 # double 4503599627370496
- .quad 0x4530000000000000 # double 1.9342813113834067E+25
- .LCPI0_2:
- .quad 0x3ff0000000000000 # double 1
- sum_reciprocals(unsigned long, unsigned long): # @sum_reciprocals(unsigned long, unsigned long)
- xorpd xmm0, xmm0
- cmp rsi, rdi
- jbe .LBB0_7
- mov ecx, esi
- sub ecx, edi
- mov rax, rdi
- not rax
- test cl, 1
- jne .LBB0_3
- xorpd xmm0, xmm0
- add rax, rsi
- jne .LBB0_5
- jmp .LBB0_7
- .LBB0_3:
- movq xmm0, rdi
- punpckldq xmm0, xmmword ptr [rip + .LCPI0_0] # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
- subpd xmm0, xmmword ptr [rip + .LCPI0_1]
- movapd xmm1, xmm0
- unpckhpd xmm1, xmm0 # xmm1 = xmm1[1],xmm0[1]
- addsd xmm1, xmm0
- movsd xmm2, qword ptr [rip + .LCPI0_2] # xmm2 = mem[0],zero
- divsd xmm2, xmm1
- xorpd xmm0, xmm0
- addsd xmm0, xmm2
- add rdi, 1
- add rax, rsi
- je .LBB0_7
- .LBB0_5:
- movdqa xmm1, xmmword ptr [rip + .LCPI0_0] # xmm1 = [1127219200,1160773632,0,0]
- movapd xmm2, xmmword ptr [rip + .LCPI0_1] # xmm2 = [4.503599627370496E+15,1.9342813113834067E+25]
- movsd xmm3, qword ptr [rip + .LCPI0_2] # xmm3 = mem[0],zero
- .LBB0_6: # =>This Inner Loop Header: Depth=1
- movq xmm4, rdi
- punpckldq xmm4, xmm1 # xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]
- subpd xmm4, xmm2
- movapd xmm5, xmm4
- unpckhpd xmm5, xmm4 # xmm5 = xmm5[1],xmm4[1]
- addsd xmm5, xmm4
- movapd xmm4, xmm3
- divsd xmm4, xmm5
- addsd xmm4, xmm0
- lea rax, [rdi + 1]
- movq xmm0, rax
- punpckldq xmm0, xmm1 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
- subpd xmm0, xmm2
- movapd xmm5, xmm0
- unpckhpd xmm5, xmm0 # xmm5 = xmm5[1],xmm0[1]
- addsd xmm5, xmm0
- movapd xmm0, xmm3
- divsd xmm0, xmm5
- addsd xmm0, xmm4
- add rdi, 2
- cmp rdi, rsi
- jne .LBB0_6
- .LBB0_7:
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement