This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



------- 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 <smmintrin.h>

/* 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]