llvm/lib/Target/BPF/BPFGenAsmMatcher.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Assembly Matcher Source Fragment                                           *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: BPF.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

  Match_InvalidBrTarget,
  Match_InvalidSImm16,
  END_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 {}
        return BPF::R2;	 // "r2"
      case '3':	 // 1 string to match.
        return BPF::R3;	 // "r3"
      case '4':	 // 1 string to match.
        return BPF::R4;	 // "r4"
      case '5':	 // 1 string to match.
        return BPF::R5;	 // "r5"
      case '6':	 // 1 string to match.
        return BPF::R6;	 // "r6"
      case '7':	 // 1 string to match.
        return BPF::R7;	 // "r7"
      case '8':	 // 1 string to match.
        return BPF::R8;	 // "r8"
      case '9':	 // 1 string to match.
        return BPF::R9;	 // "r9"
      }
      break;
    case 'w':	 // 10 strings to match.
      switch (Name[1]) {}
      default: break;
      case '0':	 // 1 string to match.
        return BPF::W0;	 // "w0"
      case '1':	 // 1 string to match.
        return BPF::W1;	 // "w1"
      case '2':	 // 1 string to match.
        return BPF::W2;	 // "w2"
      case '3':	 // 1 string to match.
        return BPF::W3;	 // "w3"
      case '4':	 // 1 string to match.
        return BPF::W4;	 // "w4"
      case '5':	 // 1 string to match.
        return BPF::W5;	 // "w5"
      case '6':	 // 1 string to match.
        return BPF::W6;	 // "w6"
      case '7':	 // 1 string to match.
        return BPF::W7;	 // "w7"
      case '8':	 // 1 string to match.
        return BPF::W8;	 // "w8"
      case '9':	 // 1 string to match.
        return BPF::W9;	 // "w9"
      }
      break;
    }
    break;
  case 3:	 // 4 strings to match.
    switch (Name[0]) {}
    default: break;
    case 'r':	 // 2 strings to match.
      if (Name[1] != '1')
        break;
      switch (Name[2]) {}
      default: break;
      case '0':	 // 1 string to match.
        return BPF::R10;	 // "r10"
      case '1':	 // 1 string to match.
        return BPF::R11;	 // "r11"
      }
      break;
    case 'w':	 // 2 strings to match.
      if (Name[1] != '1')
        break;
      switch (Name[2]) {}
      default: break;
      case '0':	 // 1 string to match.
        return BPF::W10;	 // "w10"
      case '1':	 // 1 string to match.
        return BPF::W11;	 // "w11"
      }
      break;
    }
    break;
  }
  return BPF::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_0_0,
  Tie0_0_3,
  Tie0_0_6,
  Tie0_0_12,
  Tie0_12_12,
};

static const uint8_t TiedAsmOperandTable[][3] =