summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:31 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:31 -0700
commit4f2d4f466ad5f5fcb94d42bcc6e5a7549f1eab17 (patch)
treebdcf72d9d1b768317ef9e231f9001a39ab6a458c /src/arch/x86
parent2394f73f908c86488341625963a792382baeff78 (diff)
downloadgem5-4f2d4f466ad5f5fcb94d42bcc6e5a7549f1eab17.tar.xz
X86: Implement a locking version of INC.
Diffstat (limited to 'src/arch/x86')
-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 7afd24992..b85dc6328 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
@@ -74,6 +74,21 @@ def macroop INC_P
st t1, seg, riprel, disp
};
+def macroop INC_LOCKED_M
+{
+ ldstl t1, seg, sib, disp
+ addi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
+ stul t1, seg, sib, disp
+};
+
+def macroop INC_LOCKED_P
+{
+ rdip t7
+ ldstl t1, seg, riprel, disp
+ addi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
+ stul t1, seg, riprel, disp
+};
+
def macroop DEC_R
{
subi reg, reg, 1, flags=(OF, SF, ZF, AF, PF)