summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-08-05 03:06:37 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-08-05 03:06:37 -0700
commit2914a8eb16cd5a3804bdd500458cff2d2c413869 (patch)
tree86d892978c494f3649c08206d180625779a5d4e2 /src/arch
parente2e0ae576a3f0425cd7092d9115debefa64d7476 (diff)
downloadgem5-2914a8eb16cd5a3804bdd500458cff2d2c413869.tar.xz
X86: Make the check for negative operands for sign multiply more direct.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/isa/microops/regop.isa5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa
index f2a574954..f2e16a515 100644
--- a/src/arch/x86/isa/microops/regop.isa
+++ b/src/arch/x86/isa/microops/regop.isa
@@ -530,10 +530,9 @@ let {{
hiResult = ((psrc1_l * psrc2_h + psrc1_h * psrc2_l +
((psrc1_l * psrc2_l) / shifter)) /shifter) +
psrc1_h * psrc2_h;
- if (spsrc1 < 0)
+ if (bits(psrc1, dataSize * 8 - 1))
hiResult -= op2;
- int64_t bigSop2 = sop2;
- if (bigSop2 < 0)
+ if (bits(op2, dataSize * 8 - 1))
hiResult -= psrc1;
ProdHi = hiResult;
'''