|
From: <sv...@va...> - 2012-06-04 07:38:23
|
sewardj 2012-06-04 08:38:10 +0100 (Mon, 04 Jun 2012)
New Revision: 2371
Log:
dis_AVX128_E_V_to_G is a special case of
dis_VEX_NDS_128_AnySimdPfx_0F_WIG_simple, so implement the former by
calling the latter.
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+4 -25)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-06-04 00:12:33 -23:00 (rev 2370)
+++ trunk/priv/guest_amd64_toIR.c 2012-06-04 08:38:10 +01:00 (rev 2371)
@@ -19602,31 +19602,10 @@
Prefix pfx, Long delta,
HChar* opname, IROp op )
{
- HChar dis_buf[50];
- Int alen;
- IRTemp addr;
- UChar rm = getUChar(delta);
- UInt rG = gregOfRexRM(pfx,rm);
- UInt rV = getVexNvvvv(pfx);
- IRExpr* vpart = getXMMReg(rV);
- IRExpr* epart = NULL;
- if (epartIsReg(rm)) {
- UInt rE = eregOfRexRM(pfx,rm);
- epart = getXMMReg(rE);
- DIP("%s %s,%s,%s\n", opname,
- nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
- delta = delta+1;
- } else {
- addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
- epart = loadLE(Ity_V128, mkexpr(addr));
- DIP("%s %s,%s,%s\n", opname,
- dis_buf, nameXMMReg(rV), nameXMMReg(rG));
- delta = delta+alen;
- }
-
- putYMMRegLoAndZU( rG, binop(op, vpart, epart) );
- *uses_vvvv = True;
- return delta;
+ return dis_VEX_NDS_128_AnySimdPfx_0F_WIG(
+ uses_vvvv, vbi, pfx, delta, opname, op,
+ NULL, False/*!invertLeftArg*/, False/*!swapArgs*/
+ );
}
|