]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Support mmxext (integer sse) subset on i386 (athlon).
authorMark Wielaard <mark@klomp.org>
Tue, 27 Aug 2013 10:19:03 +0000 (10:19 +0000)
committerMark Wielaard <mark@klomp.org>
Tue, 27 Aug 2013 10:19:03 +0000 (10:19 +0000)
commitb74b87a96fca1ce3228bf68369a8afeb1413d9f7
tree71ba08e3789bb4459d6a3f45c1fba936a444fc7f
parent5e61568891de0d3aa2c118976ee9a4491059a816
Support mmxext (integer sse) subset on i386 (athlon).

Some processors like the AMD Athlon "Classic" support mmxext,
a sse1 subset. This subset is not properly detected by VEX.
The subset uses the same encoding as the sse1 instructions.

The subset is described at:
  http://support.amd.com/us/Embedded_TechDocs/22466.pdf
  https://en.wikipedia.org/wiki/3DNow!#3DNow.21_extensions

This introduces a new VEX_HWCAPS_X86_MMXEXT that sits between
the baseline (0) and VEX_HWCAPS_X86_SSE1. There is also a new
x86g_dirtyhelper_CPUID_mmxext to mimics a Athlon "Classic"
(Model 2, K75 "Pluto/Orion").

Groups all mmxext instructions together in one block.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2745
VEX/priv/guest_x86_defs.h
VEX/priv/guest_x86_helpers.c
VEX/priv/guest_x86_toIR.c
VEX/priv/host_x86_defs.c
VEX/priv/host_x86_defs.h
VEX/priv/host_x86_isel.c
VEX/priv/main_main.c
VEX/pub/libvex.h