On Tue, Mar 13, 2012 at 7:39 PM, John Reiser <[email protected]> wrote:

> > vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0x16
> > ==18426==    at 0x804BE18: manhattan(unsigned char const*, unsigned char
> const*) (emmintrin.h:208)
>
> That's "PEXTRD r/m32, xmm2, Ib"  which extracts a 32-bit wide, 32-bit
> aligned,
> known-in-advance slice from xmm2, then places the slice into a general
> register
> or memory location.  The opcode is from the SSE4.1 extensions, and occupies
> four bytes; the valgrind report omits the operands.
>
> The easiest way to deal with this is to ask the compiler not to use SSE4.1.
> (In this case the compiler probably would store the 128-bit xmm2 into
> memory,
> then fetch the selected 32-bit slice.)
> Otherwise, it's somewhat tedious work inside valgrind's VEX x86->IR
> translator.


Removing SSE4.1 and SSE4.2 flags did the trick. Thanks.
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to