Index: utils/TableGen/AsmMatcherEmitter.cpp =================================================================== --- utils/TableGen/AsmMatcherEmitter.cpp +++ utils/TableGen/AsmMatcherEmitter.cpp @@ -2844,7 +2844,8 @@ OS << " " << getMinimalTypeForRange(MaxMask) << " OperandMask;\n"; OS << " " << getMinimalTypeForRange(std::distance( - Info.Classes.begin(), Info.Classes.end())) << " Class;\n"; + Info.Classes.begin(), Info.Classes.end()) + 3) + << " Class;\n"; OS << " " << getMinimalTypeForRange(MaxFeaturesIndex) << " RequiredFeaturesIdx;\n\n"; OS << " StringRef getMnemonic() const {\n"; @@ -3402,7 +3403,7 @@ OS << " " << getMinimalTypeForRange(FeatureBitsets.size()) << " RequiredFeaturesIdx;\n"; OS << " " << getMinimalTypeForRange( - std::distance(Info.Classes.begin(), Info.Classes.end())) + std::distance(Info.Classes.begin(), Info.Classes.end()) + 3) << " Classes[" << MaxNumOperands << "];\n"; OS << " StringRef getMnemonic() const {\n"; OS << " return StringRef(MnemonicTable + Mnemonic + 1,\n";