llvm/lib/Target/MSP430/MSP430GenAsmMatcher.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Assembly Matcher Source Fragment                                           *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: MSP430.td                                                            *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/


#ifdef GET_ASSEMBLER_HEADER
#undef GET_ASSEMBLER_HEADER
  // This should be included into the middle of the declaration of
  // your subclasses implementation of MCTargetAsmParser.
  FeatureBitset ComputeAvailableFeatures(const FeatureBitset &FB) const;
  void convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode,
                       const OperandVector &Operands);
  void convertToMapAndConstraints(unsigned Kind,
                           const OperandVector &Operands) override;
  unsigned MatchInstructionImpl(const OperandVector &Operands,
                                MCInst &Inst,
                                uint64_t &ErrorInfo,
                                FeatureBitset &MissingFeatures,
                                bool matchingInlineAsm,
                                unsigned VariantID =MissingFeatures;
    return MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures,
                                matchingInlineAsm, VariantID);
  }

#endif // GET_ASSEMBLER_HEADER


#ifdef GET_OPERAND_DIAGNOSTIC_TYPES
#undef GET_OPERAND_DIAGNOSTIC_TYPES

#endif // GET_OPERAND_DIAGNOSTIC_TYPES


#ifdef GET_REGISTER_MATCHER
#undef GET_REGISTER_MATCHER

// Bits for subtarget features that participate in instruction matching.
enum SubtargetFeatureBits : uint8_t {} MSP430::R7;	 // "r7"
    case '8':	 // 2 strings to match.
      return MSP430::R8;	 // "r8"
    case '9':	 // 2 strings to match.
      return MSP430::R9;	 // "r9"
    }
    break;
  case 3:	 // 12 strings to match.
    if (memcmp(Name.data()+0, "r1", 2) != 0)
      break;
    switch (Name[2]) {}
    default: break;
    case '0':	 // 2 strings to match.
      return MSP430::R10;	 // "r10"
    case '1':	 // 2 strings to match.
      return MSP430::R11;	 // "r11"
    case '2':	 // 2 strings to match.
      return MSP430::R12;	 // "r12"
    case '3':	 // 2 strings to match.
      return MSP430::R13;	 // "r13"
    case '4':	 // 2 strings to match.
      return MSP430::R14;	 // "r14"
    case '5':	 // 2 strings to match.
      return MSP430::R15;	 // "r15"
    }
    break;
  }
  return MSP430::NoRegister;
}

static MCRegister MatchRegisterAltName(StringRef Name) {}
  switch (Name.size()) {}
  default: break;
  case 2:	 // 10 strings to match.
    switch (Name[0]) {}
    default: break;
    case 'c':	 // 2 strings to match.
      if (Name[1] != 'g')
        break;
      return MSP430::CG;	 // "cg"
    case 'f':	 // 2 strings to match.
      if (Name[1] != 'p')
        break;
      return MSP430::R4;	 // "fp"
    case 'p':	 // 2 strings to match.
      if (Name[1] != 'c')
        break;
      return MSP430::PC;	 // "pc"
    case 's':	 // 4 strings to match.
      switch (Name[1]) {}
      default: break;
      case 'p':	 // 2 strings to match.
        return MSP430::SP;	 // "sp"
      case 'r':	 // 2 strings to match.
        return MSP430::SR;	 // "sr"
      }
      break;
    }
    break;
  }
  return MSP430::NoRegister;
}

#endif // GET_REGISTER_MATCHER


#ifdef GET_SUBTARGET_FEATURE_NAME
#undef GET_SUBTARGET_FEATURE_NAME

// User-level names for subtarget features that participate in
// instruction matching.
static const char *getSubtargetFeatureName(uint64_t Val) {}
  return "(unknown)";
}

#endif // GET_SUBTARGET_FEATURE_NAME


#ifdef GET_MATCHER_IMPLEMENTATION
#undef GET_MATCHER_IMPLEMENTATION

enum {}
  Tie0_1_1,
  Tie1_1_1,
};

static const uint8_t TiedAsmOperandTable[][3] =