[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2010-08-22 Thread baggett dot patrick at gmail dot com


--- Comment #1 from baggett dot patrick at gmail dot com  2010-08-22 12:31 
---
I can confirm that is a problem on GCC 4.4.3, though I was using the
Intel-style intrinsic found in the SSE4 manual.

Smallest testcase:

gcc -msse4 -m64 

#include 

/* Read four bytes and extend to 4 ints in xmm reg. */
__m128i vint_zx8_32(unsigned char* m)
{
return _mm_cvtepu8_epi32( *((__m128i*)m) );
}


Generated Code:

vint_zx8_32:
movdqa  (%rdi), %xmm0
pmovzxbd%xmm0, %xmm0
ret


Expected Code:

vint_zx8_32:
pmovzxbd(%rdi), %xmm0
ret


-- 

baggett dot patrick at gmail dot com changed:

   What|Removed |Added

 CC||baggett dot patrick at gmail
   ||dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41484



[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2010-08-22 Thread baggett dot patrick at gmail dot com


--- Comment #2 from baggett dot patrick at gmail dot com  2010-08-22 12:34 
---
Created an attachment (id=21542)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21542&action=view)
Test case showing intrinsics not generating memory operation.

Use "gcc -msse4 -m64 -S testcase_41484.c" to compile, view resulting assembly.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41484