From 92867cac95e63e9f197a5a50d82e3e0e5b1f8a51 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 17 Aug 2009 20:25:15 -0700 Subject: [PATCH] X86: Implement MOVNTI. --- src/arch/x86/isa/decoder/two_byte_opcodes.isa | 2 +- .../isa/insts/general_purpose/data_transfer/move.py | 11 +++++++++-- 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}" #}};