diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-12 23:54:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-12 23:54:57 +0000 |
commit | 064e9263628cde03e15457b474c39c87322cb0c0 (patch) | |
tree | b66ce8489b4cd8613a3b7eca0078e9ed1df7977e /llvm/lib/Target/X86/X86CodeEmitter.cpp | |
parent | cfcb775b56f5792259b02d695d32e3e51ab2cf30 (diff) | |
download | bcm5719-llvm-064e9263628cde03e15457b474c39c87322cb0c0.tar.gz bcm5719-llvm-064e9263628cde03e15457b474c39c87322cb0c0.zip |
Remove special cases for [LM]FENCE, MONITOR and MWAIT from
encoder and decoder by using new MRM_ forms.
llvm-svn: 96048
Diffstat (limited to 'llvm/lib/Target/X86/X86CodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index 6a42240736e..5cecd706ebf 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -762,27 +762,8 @@ void Emitter<CodeEmitter>::emitInstruction(const MachineInstr &MI, case X86II::MRM4r: case X86II::MRM5r: case X86II::MRM6r: case X86II::MRM7r: { MCE.emitByte(BaseOpcode); - - // Special handling of lfence, mfence, monitor, and mwait. - if (Desc->getOpcode() == X86::LFENCE || - Desc->getOpcode() == X86::MFENCE || - Desc->getOpcode() == X86::MONITOR || - Desc->getOpcode() == X86::MWAIT) { - emitRegModRMByte((Desc->TSFlags & X86II::FormMask)-X86II::MRM0r); - - switch (Desc->getOpcode()) { - default: break; - case X86::MONITOR: - MCE.emitByte(0xC8); - break; - case X86::MWAIT: - MCE.emitByte(0xC9); - break; - } - } else { - emitRegModRMByte(MI.getOperand(CurOp++).getReg(), - (Desc->TSFlags & X86II::FormMask)-X86II::MRM0r); - } + emitRegModRMByte(MI.getOperand(CurOp++).getReg(), + (Desc->TSFlags & X86II::FormMask)-X86II::MRM0r); if (CurOp == NumOps) break; |