Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Assembly x86 > Re: Population ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 28 of 33 Topic 4614 of 4729
Post > Topic >>

Re: Population count in SSE2, again

by "Maarten Kronenburg" <spamtrap@[EMAIL PROTECTED] > Apr 16, 2008 at 07:38 PM

"Maarten Kronenburg"  wrote in message
>

As always there is some room for improvement,
below the loop runs the other way which is a bit better:

PROC    __int_popcnt
ARG     pdata:dword, ndata:dword
push ebp
mov ebp, esp
 push esi
 push edi
 mov esi, [pdata]
 mov edi, [ndata]
 pxor xmm7, xmm7
 mov eax, 0F0F0F0Fh
 movd xmm6, eax
 punpckldq xmm6, xmm6
 unpcklpd xmm6, xmm6
 movdqa xmm5, xmm6
 pslld xmm5, 2
 pxor xmm5, xmm6
 movdqa xmm4, xmm5
 pslld xmm4, 1
 pxor xmm4, xmm5
 pxor xmm0, xmm0
 mov ecx, edi
 and edi, 0FFFFFFFCh
 lea esi, [esi+4*edi]
 neg edi
 jz short @[EMAIL PROTECTED]
 movdqu xmm1, [esi+4*edi]
@[EMAIL PROTECTED]
 movdqa xmm2, xmm1
 psrld xmm2, 1
 pand xmm1, xmm4
 pand xmm2, xmm4
 paddd xmm1, xmm2
 movdqa xmm2, xmm1
 psrld xmm2, 2
 pand xmm1, xmm5
 pand xmm2, xmm5
 paddd xmm1, xmm2
 movdqa xmm2, xmm1
 psrld xmm2, 4
 paddd xmm1, xmm2
 pand xmm1, xmm6
 psadbw xmm1, xmm7
 paddd xmm0, xmm1
 add edi, 4
 jnz short @[EMAIL PROTECTED]
 and ecx, 3
 jz short @[EMAIL PROTECTED]
 mov edi, 0FFFFFFFCh
 dec ecx
 jnz short @[EMAIL PROTECTED]
 movd xmm1, [esi]
 jmp short @[EMAIL PROTECTED]
 movq xmm1, [esi]
 dec ecx
 jz short @[EMAIL PROTECTED]
 movd xmm2, [esi+8]
 movlhps xmm1, xmm2
 dec ecx
 jmp short @[EMAIL PROTECTED]
 movhlps xmm1, xmm0
 paddd xmm0, xmm1
 movd eax, xmm0
 pop edi
 pop esi
pop ebp
ret
ENDP    __int_popcnt
 




 33 Posts in Topic:
Population count in SSE2, again
"James Van Buskirk&q  2008-04-12 03:14:45 
Re: Population count in SSE2, again
Terence <spamtrap@[EM  2008-04-12 16:55:40 
Re: Population count in SSE2, again
Terje Mathisen <spamt  2008-04-13 15:08:36 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-13 09:20:49 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-13 21:48:40 
Re: Population count in SSE2, again
Jake Waskett <spamtra  2008-04-13 21:43:32 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-14 01:55:14 
Re: Population count in SSE2, again
Jake Waskett <spamtra  2008-04-14 11:19:35 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-14 02:38:07 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-14 20:53:32 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-15 17:13:38 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-15 21:58:21 
Re: Population count in SSE2, again
Terence <spamtrap@[EM  2008-04-13 17:14:55 
Re: Population count in SSE2, again
"Wolfgang Kern"  2008-04-14 12:42:35 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-14 13:53:21 
Re: Population count in SSE2, again
"Wolfgang Kern"  2008-04-16 15:34:09 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-16 10:05:48 
Re: Population count in SSE2, again
Robert Redelmeier <red  2008-04-14 14:21:05 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-14 02:58:34 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-14 18:09:21 
Re: Population count in SSE2, again
Terje Mathisen <spamt  2008-04-15 07:28:26 
Re: Population count in SSE2, again
Terence <spamtrap@[EM  2008-04-14 05:00:42 
Re: Population count in SSE2, again
Terence <spamtrap@[EM  2008-04-14 15:09:35 
Re: Population count in SSE2, again
Terence <spamtrap@[EM  2008-04-15 02:29:34 
Re: Population count in SSE2, again
Gerd Isenberg <spamtr  2008-04-15 02:56:39 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-16 00:33:16 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-16 14:42:37 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-16 19:38:21 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-16 12:41:36 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-16 21:39:47 
Re: Population count in SSE2, again
"Maarten Kronenburg&  2008-04-17 16:43:31 
Re: Population count in SSE2, again
Gerd Isenberg <spamtr  2008-04-16 09:58:11 
Re: Population count in SSE2, again
"James Van Buskirk&q  2008-04-16 12:59:38 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 20:55:33 CDT 2008.