| Summary: | Missing support for vmovdqu64 | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Pedro Ferreira <arkangath> |
| Component: | vex | Assignee: | Julian Seward <jseward> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | gabravier, mark, tom |
| Priority: | NOR | ||
| Version First Reported In: | 3.15 SVN | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
I believe vmovdqu64 is part of AVX512 as an EVEX encoded extension of the legacy avx1 instruction vmovdqu https://en.wikipedia.org/wiki/EVEX_prefix https://en.wikipedia.org/wiki/AVX-512#Legacy_instructions_upgraded_with_EVEX_encoded_versions valgrind doesn't support avx512 yet. See https://bugs.kde.org/show_bug.cgi?id=383010 *** This bug has been marked as a duplicate of bug 383010 *** |
Whe running a binary using the "vmovdqu64" instruction, valgrind dies with the usual "unhandled instruction bytes". vex amd64->IR: unhandled instruction bytes: 0x62 0xD1 0xFE 0x8 0x6F 0x47 0x2C 0x48 0x8B 0x15 This was found initially on Gentoo's Valgrind 3.15.0, but I built from git (sources) and replicated. I hacked in a C file with $ cat i.c asm(".byte 0x62, 0xD1, 0xFE, 0x8, 0x6F, 0x47, 0x2C, 0x48, 0x8B, 0x15"); Which yields: 0000000000000000 <.text>: 0: 62 d1 fe 08 6f 47 2c vmovdqu64 0x2c0(%r15),%xmm0 7: 48 rex.W 8: 8b .byte 0x8b 9: 15 .byte 0x15 I'm happy to test any candidate patches.