summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-08-17 20:25:15 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-08-17 20:25:15 -0700
commit92867cac95e63e9f197a5a50d82e3e0e5b1f8a51 (patch)
treed9aaafebca88a0c752ad114c52922f1d021c85d4
parent6415252a0f006740995c07efe8b6b8a8b2ff8d86 (diff)
downloadgem5-92867cac95e63e9f197a5a50d82e3e0e5b1f8a51.tar.xz
X86: Implement MOVNTI.
-rw-r--r--src/arch/x86/isa/decoder/two_byte_opcodes.isa2
-rw-r--r--src/arch/x86/isa/insts/general_purpose/data_transfer/move.py11
2 files changed, 10 insertions, 3 deletions
diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
index f88ea89d4..c2ba399b2 100644
--- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa
+++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
@@ -907,7 +907,7 @@
// no prefix
0x0: decode OPCODE_OP_BOTTOM3 {
0x2: CMPPS(Vo,Wo,Ib);
- 0x3: WarnUnimpl::movnti_Mdq_Gdq();
+ 0x3: MOVNTI(Mdp,Gdp);
0x4: PINSRW(Pq,Ew,Ib);
0x5: PEXTRW(Gd,PRq,Ib);
0x6: SHUFPS(Vps,Wps,Ib);
diff --git a/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py b/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py
index 560a86e64..7ccdca6c3 100644
--- a/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py
@@ -346,10 +346,17 @@ processDescriptor:
wrdl reg, t3, t1
wrsel reg, t1
};
+
+def macroop MOVNTI_M_R {
+ st reg, seg, sib, disp
+};
+
+def macroop MOVNTI_P_R {
+ rdip t7
+ st reg, seg, riprel, disp
+};
'''
#let {{
# class MOVD(Inst):
# "GenFault ${new UnimpInstFault}"
-# class MOVNTI(Inst):
-# "GenFault ${new UnimpInstFault}"
#}};