Bug 410764 - BLENDVPD, BLENDVPS, PBLENDVB not implemented in guest_x86
Summary: BLENDVPD, BLENDVPS, PBLENDVB not implemented in guest_x86
Status: RESOLVED UNMAINTAINED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-09 13:20 UTC by Eric Reischer
Modified: 2019-12-28 16:57 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Reischer 2019-08-09 13:20:01 UTC
0f1e2acf (#256968) brought in the BLENDVPD, BLENDVPS, and PBLENDVB opcodes, but these were only added to the amd64 guest, not x86 (which, from what I'm reading, are also valid opcodes in 32-bit mode).  Should probably also add the EXTRACTPS opcode as well, which was also committed in that same batch to only the amd64 guest.
Comment 1 Tom Hughes 2019-08-09 13:41:02 UTC
Our general policy is that new opcodes are only added to the 64 bit backend.

The 32 bit backend is very old and is hard to extend further without a lot of work while the 64 bit backend has been extensively rewritten to better support decoding the large number of new opcodes that have been added.

Further information is available at http://valgrind.org/docs/manual/manual-core.html#manual-core.limits but broadly speaking 32 bit support is frozen at SSSE3 level, plus a few SSE4 instructions needed to be able to run 32 bit programs on MacOS.

The cpuid we report in 32 bit mode should correctly identify what opcodes we support there.
Comment 2 Julian Seward 2019-12-28 16:57:40 UTC
Sorry .. if you want to use instructions after SSSE3, you need
to use the 64-bit port.  There are no plans to backport any such
support to the 32-bit version.