mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-14 15:25:25 +00:00
Use std::bitset for SubtargetFeatures
Previously, subtarget features were a bitfield with the underlying type being uint64_t. Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset. No functional change. The first two times this was committed (r229831, r233055), it caused several buildbot failures. At least some of the ARM and MIPS ones were due to gcc/binutils issues, and should now be fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237234 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -36,16 +36,16 @@ class MipsDisassembler : public MCDisassembler {
|
||||
public:
|
||||
MipsDisassembler(const MCSubtargetInfo &STI, MCContext &Ctx, bool IsBigEndian)
|
||||
: MCDisassembler(STI, Ctx),
|
||||
IsMicroMips(STI.getFeatureBits() & Mips::FeatureMicroMips),
|
||||
IsMicroMips(STI.getFeatureBits()[Mips::FeatureMicroMips]),
|
||||
IsBigEndian(IsBigEndian) {}
|
||||
|
||||
bool hasMips3() const { return STI.getFeatureBits() & Mips::FeatureMips3; }
|
||||
bool hasMips32() const { return STI.getFeatureBits() & Mips::FeatureMips32; }
|
||||
bool hasMips3() const { return STI.getFeatureBits()[Mips::FeatureMips3]; }
|
||||
bool hasMips32() const { return STI.getFeatureBits()[Mips::FeatureMips32]; }
|
||||
bool hasMips32r6() const {
|
||||
return STI.getFeatureBits() & Mips::FeatureMips32r6;
|
||||
return STI.getFeatureBits()[Mips::FeatureMips32r6];
|
||||
}
|
||||
|
||||
bool isGP64() const { return STI.getFeatureBits() & Mips::FeatureGP64Bit; }
|
||||
bool isGP64() const { return STI.getFeatureBits()[Mips::FeatureGP64Bit]; }
|
||||
|
||||
bool hasCOP3() const {
|
||||
// Only present in MIPS-I and MIPS-II
|
||||
|
Reference in New Issue
Block a user