X86: Allow logic instructions to set ECF as well as CF.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 3 Oct 2007 05:05:10 +0000 (22:05 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 3 Oct 2007 05:05:10 +0000 (22:05 -0700)
--HG--
extra : convert_revision : 6ac20f069c86c23a8d443a7127afd6015166c00d

src/arch/x86/isa/microops/regop.isa

index 40a441b1e4c050f81b8906f4bca676adc2f38d6e..f161e6825d24de95133c5b820089e1ea421c624a 100644 (file)
@@ -439,10 +439,11 @@ let {{
         abstract = True
         flag_code = '''
             //Don't have genFlags handle the OF or CF bits
-            uint64_t mask = CFBit | OFBit;
+            uint64_t mask = CFBit | ECFBit | OFBit;
             ccFlagBits = genFlags(ccFlagBits, ext & ~mask, DestReg, psrc1, op2);
             //If a logic microop wants to set these, it wants to set them to 0.
             ccFlagBits &= ~(CFBit & ext);
+            ccFlagBits &= ~(ECFBit & ext);
             ccFlagBits &= ~(OFBit & ext);
         '''