diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-19 11:38:11 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-19 11:38:11 +0000 |
commit | efd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17 (patch) | |
tree | c0afe1a7e7975789a575b441ac8e4e988da8f49c /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | 9570ff94f7f19af86a5f0cf3ea2992173980b3d8 (diff) | |
download | bcm5719-llvm-efd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17.tar.gz bcm5719-llvm-efd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17.zip |
Reverting r229831 due to multiple ARM/PPC/MIPS build-bot failures.
llvm-svn: 229841
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp')
-rw-r--r-- | llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp index 5ee2663aff5..99fb1aba841 100644 --- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp +++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp @@ -80,19 +80,20 @@ X86GenericDisassembler::X86GenericDisassembler( MCContext &Ctx, std::unique_ptr<const MCInstrInfo> MII) : MCDisassembler(STI, Ctx), MII(std::move(MII)) { - const FeatureBitset &FB = STI.getFeatureBits(); - if (FB[X86::Mode16Bit]) { + switch (STI.getFeatureBits() & + (X86::Mode16Bit | X86::Mode32Bit | X86::Mode64Bit)) { + case X86::Mode16Bit: fMode = MODE_16BIT; - return; - } else if (FB[X86::Mode32Bit]) { + break; + case X86::Mode32Bit: fMode = MODE_32BIT; - return; - } else if (FB[X86::Mode64Bit]) { + break; + case X86::Mode64Bit: fMode = MODE_64BIT; - return; + break; + default: + llvm_unreachable("Invalid CPU mode"); } - - llvm_unreachable("Invalid CPU mode"); } struct Region { |