| Summary: | [SSE4.1] missing support for PMAXUD (x86) | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Dirk Mueller <mueller> |
| Component: | vex | Assignee: | Alexandra Hajkova <ahajkova> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | ahajkova, mark |
| Priority: | NOR | ||
| Version First Reported In: | 3.20.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Dirk Mueller
2023-11-14 08:41:25 UTC
Note that this is implemented for amd64, just not for x86 (32bit).
See VEX/priv/guest_amd64_toIR.c (dis_ESC_0F38__SSE4):
case 0x3B:
case 0x3F:
/* 66 0F 38 3B /r = PMINUD xmm1, xmm2/m128
Minimum of Packed Unsigned Doubleword Integers (XMM)
66 0F 38 3F /r = PMAXUD xmm1, xmm2/m128
Maximum of Packed Unsigned Doubleword Integers (XMM)
*/
if (have66noF2noF3(pfx) && sz == 2) {
/* FIXME: this needs an alignment check */
Bool isMAX = opc == 0x3F;
delta = dis_SSEint_E_to_G(
vbi, pfx, delta,
isMAX ? "pmaxud" : "pminud",
isMAX ? Iop_Max32Ux4 : Iop_Min32Ux4,
False
);
goto decode_success;
}
break;
With tests in none/tests/amd64/sse4-64.c.
Bug #512873 is a more general variant of this bug, plus patch. *** This bug has been marked as a duplicate of bug 512873 *** |