Reverting r237234, "Use std::bitset for SubtargetFeatures"

The buildbots are still not satisfied.
MIPS and ARM are failing (even though at least MIPS was expected to pass).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237245 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael Kuperstein
2015-05-13 10:28:46 +00:00
parent 4d8e3c44c1
commit 66112dd7f8
37 changed files with 1021 additions and 1068 deletions

View File

@@ -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 {