Version: SVN r1969 (using Devel) OS: Linux Installed from: Compiled sources Running valgrind on an application using Intel Performance Primitive libraries, valgrind exits with the following message: vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xFE 0x7E 0x70 0x48 ==23588== valgrind: Unrecognised instruction at address 0x17783a16. This can be reproduced with valgrind r11100 and VEX r1969. Running objdump -d on the library and grepping for these bytes, I get the following instruction: 8e1a4: 48 0f fe 7e 70 rex.W paddd 0x70(%rsi),%mm7
I also get another unhandled instruction with IPP (in a different part of the code): vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xFC 0xD 0x77 0x8A ==21616== valgrind: Unrecognised instruction at address 0x182e0171. I get the following from objdump: 65171: 48 0f fc 0d 77 8a 24 rex.W paddb 0x248a77(%rip),%mm1 # 2adbf0 <const_array_of_127b> I can open another bug for the second instruction if it matters.
Created attachment 42847 [details] workaround for rex.W prefix Attached workaround for the REX.W prefix. The PMOVMSKB instruction is just ignored for now but with these changes my application can run inside valgrind with memcheck.