Bug 408140 - Missing support for vmovdqu64
Summary: Missing support for vmovdqu64
Status: RESOLVED DUPLICATE of bug 383010
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.15 SVN
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-31 10:11 UTC by Pedro Ferreira
Modified: 2024-02-25 02:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro Ferreira 2019-05-31 10:11:57 UTC
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.
Comment 1 Mark Wielaard 2019-05-31 12:02:06 UTC
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
Comment 2 Tom Hughes 2022-06-14 21:30:08 UTC

*** This bug has been marked as a duplicate of bug 383010 ***