summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:25 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-04-19 04:56:25 -0700
commit9b9b7a412c5c768dc484608c97a9363cf6689fca (patch)
treedce5b19546285149480018fca6bfd2b776e9e156 /src/arch/x86
parentb8f81c62a29b59d8de18476726cf2b7ac7cea1f5 (diff)
downloadgem5-9b9b7a412c5c768dc484608c97a9363cf6689fca.tar.xz
X86: Implement a locking version of NOT.
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/isa/insts/general_purpose/logical.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/logical.py b/src/arch/x86/isa/insts/general_purpose/logical.py
index c57d306dc..c618ce4d7 100644
--- a/src/arch/x86/isa/insts/general_purpose/logical.py
+++ b/src/arch/x86/isa/insts/general_purpose/logical.py
@@ -340,4 +340,21 @@ def macroop NOT_P
xor t2, t2, t1
st t2, seg, riprel, disp
};
+
+def macroop NOT_LOCKED_M
+{
+ limm t1, -1
+ ldstl t2, seg, sib, disp
+ xor t2, t2, t1
+ stul t2, seg, sib, disp
+};
+
+def macroop NOT_LOCKED_P
+{
+ limm t1, -1
+ rdip t7
+ ldstl t2, seg, riprel, disp
+ xor t2, t2, t1
+ stul t2, seg, riprel, disp
+};
'''