From: Julian Seward Date: Wed, 19 Oct 2016 15:37:54 +0000 (+0000) Subject: Accept redundant REX prefixes for {minsd,maxsd} m128, xmm. Fixes #357932. X-Git-Tag: svn/VALGRIND_3_12_0^2~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f421509ab8340b305c44147f729333242d4bcbdf;p=thirdparty%2Fvalgrind.git Accept redundant REX prefixes for {minsd,maxsd} m128, xmm. Fixes #357932. Patch from axel.carl.mueller@gmail.com. git-svn-id: svn://svn.valgrind.org/vex/trunk@3274 --- diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index ea41c8f0de..2a2a85cf6b 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -13520,7 +13520,8 @@ Long dis_ESC_0F__SSE2 ( Bool* decode_OK, goto decode_success; } /* F2 0F 5D = MINSD -- min 64F0x2 from R/M to R */ - if (haveF2no66noF3(pfx) && sz == 4) { + if (haveF2no66noF3(pfx) + && (sz == 4 || /* ignore redundant REX.W */ sz == 8)) { delta = dis_SSE_E_to_G_lo64( vbi, pfx, delta, "minsd", Iop_Min64F0x2 ); goto decode_success; } @@ -13566,7 +13567,8 @@ Long dis_ESC_0F__SSE2 ( Bool* decode_OK, goto decode_success; } /* F2 0F 5F = MAXSD -- max 64F0x2 from R/M to R */ - if (haveF2no66noF3(pfx) && sz == 4) { + if (haveF2no66noF3(pfx) + && (sz == 4 || /* ignore redundant REX.W */ sz == 8)) { delta = dis_SSE_E_to_G_lo64( vbi, pfx, delta, "maxsd", Iop_Max64F0x2 ); goto decode_success; }