Author: sewardj
Date: 2007-11-16 02:30:38 +0000 (Fri, 16 Nov 2007)
New Revision: 1796

Log:
Implement SALC.  Fixes #147628.

Modified:
   trunk/priv/guest-x86/toIR.c


Modified: trunk/priv/guest-x86/toIR.c
===================================================================
--- trunk/priv/guest-x86/toIR.c 2007-11-16 00:18:44 UTC (rev 1795)
+++ trunk/priv/guest-x86/toIR.c 2007-11-16 02:30:38 UTC (rev 1796)
@@ -12207,6 +12207,19 @@
       stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
       break;
 
+   case 0xD6: /* SALC */
+      t0 = newTemp(Ity_I32);
+      t1 = newTemp(Ity_I32);
+      assign( t0,  binop(Iop_And32,
+                         mk_x86g_calculate_eflags_c(),
+                         mkU32(1)) );
+      assign( t1, binop(Iop_Sar32, 
+                        binop(Iop_Shl32, mkexpr(t0), mkU8(31)), 
+                        mkU8(31)) );
+      putIReg(1, R_EAX, unop(Iop_32to8, mkexpr(t1)) );
+      DIP("salc\n");
+      break;
+
    /* REPNE prefix insn */
    case 0xF2: { 
       Addr32 eip_orig = guest_EIP_bbstart + delta - 1;


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to