]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r1707 (Enable lvxl and stvxl.)
authorJulian Seward <jseward@acm.org>
Wed, 27 Dec 2006 21:38:35 +0000 (21:38 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 27 Dec 2006 21:38:35 +0000 (21:38 +0000)
git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_2_BRANCH@1708

VEX/priv/guest-ppc/toIR.c

index c89698360831ce2b2253e5cda83d243e4de5ecaf..aef1852b63bf1dcb3e46a417ada763cb39a948b1 100644 (file)
@@ -6862,10 +6862,9 @@ static Bool dis_av_load ( UInt theInstr )
       break;
 
    case 0x167: // lvxl (Load Vector Indexed LRU, AV p128)
-     // XXX: lvxl gives explicit control over cache block replacement
       DIP("lvxl v%d,r%u,r%u\n", vD_addr, rA_addr, rB_addr);
-      DIP(" => not implemented\n");
-      return False;
+      putVReg( vD_addr, loadBE(Ity_V128, mkexpr(EA_align16)) );
+      break;
 
    default:
       vex_printf("dis_av_load(ppc)(opc2)\n");
@@ -6950,12 +6949,9 @@ static Bool dis_av_store ( UInt theInstr )
       break;
 
    case 0x1E7: // stvxl (Store Vector Indexed LRU, AV p135)
-     // XXX: stvxl can give explicit control over cache block replacement
       DIP("stvxl v%d,r%u,r%u\n", vS_addr, rA_addr, rB_addr);
-      DIP(" => not implemented\n");
-      return False;
-//      STORE(vS, 16, addr_align( mkexpr(EA), 16 ));
-//      break;
+      storeBE( addr_align( mkexpr(EA), 16 ), mkexpr(vS) );
+      break;
 
    default:
       vex_printf("dis_av_store(ppc)(opc2)\n");