X86: Fix a bug introduced to IDIV in a recent attempt to fix another bug.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 17 Aug 2009 07:20:03 +0000 (00:20 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 17 Aug 2009 07:20:03 +0000 (00:20 -0700)
src/arch/x86/isa/insts/general_purpose/arithmetic/multiply_and_divide.py

index 47ad1d53c02f5e95c7eb3c8f0be627548d84f463..86f1946bafccf05bd09a1fe4190ae135f428a1bf 100644 (file)
@@ -459,7 +459,7 @@ def macroop IDIV_B_M
     ld t8, seg, sib, disp
 
     #Find the sign of the divisor
-    slli t0, t3, 1, flags=(ECF,), dataSize=1
+    slli t0, t8, 1, flags=(ECF,), dataSize=1
 
     # Negate divisor
     sub t3, t0, t8, dataSize=1
@@ -531,7 +531,7 @@ def macroop IDIV_B_P
     ld t8, seg, riprel, disp
 
     #Find the sign of the divisor
-    slli t0, t3, 1, flags=(ECF,), dataSize=1
+    slli t0, t8, 1, flags=(ECF,), dataSize=1
 
     # Negate divisor
     sub t3, t0, t8, dataSize=1
@@ -678,7 +678,7 @@ def macroop IDIV_M
 
     #Find the sign of the divisor
     #FIXME!!! This depends on shifts setting the carry flag correctly.
-    slli t0, t3, 1, flags=(ECF,)
+    slli t0, t8, 1, flags=(ECF,)
 
     # Negate divisor
     sub t3, t0, t8
@@ -754,7 +754,7 @@ def macroop IDIV_P
 
     #Find the sign of the divisor
     #FIXME!!! This depends on shifts setting the carry flag correctly.
-    slli t0, t3, 1, flags=(ECF,)
+    slli t0, t8, 1, flags=(ECF,)
 
     # Negate divisor
     sub t3, t0, t8