diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-18 16:10:21 +0200 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-18 16:10:21 +0200 |
commit | de89e133d8a3f92d9f2f99d0d8bcca50e9da6cb4 (patch) | |
tree | c4a16317ee7385992707b4f10cf01ade4abed703 /src/arch/x86/isa/insts/x87/arithmetic | |
parent | 59befdb62824ee220e4ea91a045f0db5817e1cd7 (diff) | |
download | gem5-de89e133d8a3f92d9f2f99d0d8bcca50e9da6cb4.tar.xz |
x86: Fix the flag handling code in FABS and FCHS
This changeset fixes two problems in the FABS and FCHS
implementation. First, the ISA parser expects the assignment in
flag_code to be a pure assignment and not an and-assignment, which
leads to the isa_parser omitting the misc reg update. Second, the FCHS
and FABS macro-ops don't set the SetStatus flag, which means that the
default micro-op version, which doesn't update FSW, is executed.
Diffstat (limited to 'src/arch/x86/isa/insts/x87/arithmetic')
-rw-r--r-- | src/arch/x86/isa/insts/x87/arithmetic/change_sign.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py b/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py index 779f1b5b2..207b8a0b0 100644 --- a/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py +++ b/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py @@ -38,10 +38,10 @@ microcode = ''' def macroop FABS { - absfp st(0), st(0) + absfp st(0), st(0), SetStatus=True }; def macroop FCHS { - chsfp st(0), st(0) + chsfp st(0), st(0), SetStatus=True }; ''' |