summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:34 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:34 -0700
commit985d959ea64dbfab142c2cb338c88641e2bcfc96 (patch)
tree377b54cc3b8b49a4b33f15f37b9eabfb5528abd4
parent4f2d4f466ad5f5fcb94d42bcc6e5a7549f1eab17 (diff)
downloadgem5-985d959ea64dbfab142c2cb338c88641e2bcfc96.tar.xz
X86: Implement a locking version of DEC.
-rw-r--r--src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py b/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py
index b85dc6328..184b9da72 100644
--- a/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py
+++ b/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py
@@ -108,4 +108,19 @@ def macroop DEC_P
subi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
st t1, seg, riprel, disp
};
+
+def macroop DEC_LOCKED_M
+{
+ ldstl t1, seg, sib, disp
+ subi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
+ stul t1, seg, sib, disp
+};
+
+def macroop DEC_LOCKED_P
+{
+ rdip t7
+ ldstl t1, seg, riprel, disp
+ subi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
+ stul t1, seg, riprel, disp
+};
'''