summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:28 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:28 -0700
commit2394f73f908c86488341625963a792382baeff78 (patch)
treef4e9ab1b47362cdd7498e074d691f2e207861b2d /src/arch/x86/isa
parent9b9b7a412c5c768dc484608c97a9363cf6689fca (diff)
downloadgem5-2394f73f908c86488341625963a792382baeff78.tar.xz
X86: Implement a locking version of NEG.
Diffstat (limited to 'src/arch/x86/isa')
-rw-r--r--src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py b/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py
index c8a2d1d1c..fbef20dc1 100644
--- a/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py
+++ b/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py
@@ -425,4 +425,19 @@ def macroop NEG_P
sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF)
st t1, seg, riprel, disp
};
+
+def macroop NEG_LOCKED_M
+{
+ ldstl t1, seg, sib, disp
+ sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF)
+ stul t1, seg, sib, disp
+};
+
+def macroop NEG_LOCKED_P
+{
+ rdip t7
+ ldstl t1, seg, riprel, disp
+ sub t1, t0, t1, flags=(CF,OF,SF,ZF,AF,PF)
+ stul t1, seg, riprel, disp
+};
'''