X86: Actually set the flags on a rotate left instruction.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 5 Aug 2009 09:58:20 +0000 (02:58 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 5 Aug 2009 09:58:20 +0000 (02:58 -0700)
src/arch/x86/isa/insts/general_purpose/rotate_and_shift/rotate.py

index b5ae9560e463120210a54e36ca2030ec924dec61..41d68106a70b43dc08be688a031c8eeb1f28a38f 100644 (file)
 microcode = '''
 def macroop ROL_R_I
 {
-    roli reg, reg, imm
+    roli reg, reg, imm, flags=(OF,CF)
 };
 
 def macroop ROL_M_I
 {
     ldst t1, seg, sib, disp
-    roli t1, t1, imm
+    roli t1, t1, imm, flags=(OF,CF)
     st t1, seg, sib, disp
 };
 
@@ -70,19 +70,19 @@ def macroop ROL_P_I
 {
     rdip t7
     ldst t1, seg, riprel, disp
-    roli t1, t1, imm
+    roli t1, t1, imm, flags=(OF,CF)
     st t1, seg, riprel, disp
 };
 
 def macroop ROL_1_R
 {
-    roli reg, reg, 1
+    roli reg, reg, 1, flags=(OF,CF)
 };
 
 def macroop ROL_1_M
 {
     ldst t1, seg, sib, disp
-    roli t1, t1, 1
+    roli t1, t1, 1, flags=(OF,CF)
     st t1, seg, sib, disp
 };
 
@@ -90,19 +90,19 @@ def macroop ROL_1_P
 {
     rdip t7
     ldst t1, seg, riprel, disp
-    roli t1, t1, 1
+    roli t1, t1, 1, flags=(OF,CF)
     st t1, seg, riprel, disp
 };
 
 def macroop ROL_R_R
 {
-    rol reg, reg, regm
+    rol reg, reg, regm, flags=(OF,CF)
 };
 
 def macroop ROL_M_R
 {
     ldst t1, seg, sib, disp
-    rol t1, t1, reg
+    rol t1, t1, reg, flags=(OF,CF)
     st t1, seg, sib, disp
 };
 
@@ -110,7 +110,7 @@ def macroop ROL_P_R
 {
     rdip t7
     ldst t1, seg, riprel, disp
-    rol t1, t1, reg
+    rol t1, t1, reg, flags=(OF,CF)
     st t1, seg, riprel, disp
 };