LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File valgrind-3.6.0-rexw-ptest.patch of Package valgrind (Project home:gnb:novaprova)

--- valgrind/VEX/priv/guest_amd64_toIR.c.jj	2011-07-01 12:57:11.000000000 +0200
+++ valgrind/VEX/priv/guest_amd64_toIR.c	2011-08-01 20:54:20.000000000 +0200
@@ -15632,7 +15632,7 @@ DisResult disInstr_AMD64_WRK ( 
        not by any means a complete implementation.)
    */
    if (have66noF2noF3(pfx) 
-       && sz == 2 
+       && (sz == 2 || /* ignore redundant REX.W */ sz == 8)
        && insn[0] == 0x0F && insn[1] == 0x3A
        && (insn[2] >= 0x60 && insn[2] <= 0x63)) {
 
@@ -15753,7 +15753,8 @@ DisResult disInstr_AMD64_WRK ( 
 
    /* 66 0f 38 17 /r = PTEST xmm1, xmm2/m128
       Logical compare (set ZF and CF from AND/ANDN of the operands) */
-   if (have66noF2noF3( pfx ) && sz == 2 
+   if (have66noF2noF3( pfx )
+       && (sz == 2 || /* ignore redundant REX.W */ sz == 8)
        && insn[0] == 0x0F && insn[1] == 0x38 && insn[2] == 0x17) {
       modrm = insn[3];
       IRTemp vecE = newTemp(Ity_V128);