/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the MSP430 target                             *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

// *** NOTE: This file is #included into the middle of the target
// *** instruction selector class.  These functions are really methods.

// If GET_DAGISEL_DECL is #defined with any value, only function
// declarations will be included when this file is included.
// If GET_DAGISEL_BODY is #defined, its value should be the name of
// the instruction selector class. Function bodies will be emitted
// and each function's name will be qualified with the name of the
// class.
//
// When neither of the GET_DAGISEL* macros is defined, the functions
// are emitted inline.

#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
#endif

#ifdef GET_DAGISEL_BODY
#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
#define LOCAL_DAGISEL_STRINGIZE_(X) #X
static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
   "GET_DAGISEL_BODY is empty: it should be defined with the class name");
#undef LOCAL_DAGISEL_STRINGIZE_
#undef LOCAL_DAGISEL_STRINGIZE
#endif

#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
#define DAGISEL_INLINE 1
#else
#define DAGISEL_INLINE 0
#endif

#if !DAGISEL_INLINE
#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
#else
#define DAGISEL_CLASS_COLONCOLON
#endif

#ifdef GET_DAGISEL_DECL
void SelectCode(SDNode *N);
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
{
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
  // this. Coverage indexes are emitted as 4 bytes,
  // COVERAGE_IDX_VAL handles this.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
  static const uint8_t MatcherTable[] = {
 OPC_SwitchOpcode , 126|128,32, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 125|128,31,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 72|128,9, TARGET_VAL(ISD::AND),
    OPC_Scope, 9|128,9,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 20|128,5, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_Scope, 89|128,4,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 112|128,2, TARGET_VAL(ISD::XOR),
        OPC_Scope, 68,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_RecordChild1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 127,
         OPC_MoveParent,
         OPC_SwitchType , 24, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 5, 6, 7, 8,
         24, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 5, 6, 7, 8,
         0,
        65,
         OPC_RecordChild0,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_Scope, 28,
          OPC_CheckPredicate4,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 127,
          OPC_MoveParent,
          OPC_CheckType, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         28,
          OPC_CheckPredicate5,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 127,
          OPC_MoveParent,
          OPC_CheckType, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         0,
        63,
         OPC_CheckChild0Integer, 127,
         OPC_RecordChild1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_Scope, 26,
          OPC_CheckPredicate4,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         26,
          OPC_CheckPredicate5,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         0,
        57,
         OPC_RecordChild0,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_MoveParent,
         OPC_CheckChild1Integer, 127,
         OPC_MoveParent,
         OPC_SwitchType , 21, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         21, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         0,
        57,
         OPC_CheckChild0Integer, 127,
         OPC_RecordChild1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_SwitchType , 21, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         21, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         0,
        50,
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 127,
         OPC_MoveParent,
         OPC_SwitchType , 20, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mr), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 3,
         20, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mr), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 3,
         0,
        0,
       115, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_RecordChild1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate3,
        OPC_MoveParent,
        OPC_SwitchType , 51, MVT::i8,
         OPC_MoveParent,
         OPC_Scope, 23,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 5, 6, 7, 8,
         23,
          OPC_CheckChild2Same, 4,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 7, 8, 5, 6,
         0,
        51, MVT::i16,
         OPC_MoveParent,
         OPC_Scope, 23,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 5, 6, 7, 8,
         23,
          OPC_CheckChild2Same, 4,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_CheckComplexPat0, /*#*/4,
          OPC_EmitMergeInputChains, 3, 0, 1, 3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mm), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 4, 7, 8, 5, 6,
         0,
        0,
       105, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_Scope, 25,
         OPC_CheckPredicate4,
         OPC_MoveParent,
         OPC_CheckType, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mc), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        25,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_CheckType, MVT::i16,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mc), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        49,
         OPC_MoveParent,
         OPC_SwitchType , 21, MVT::i8,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         21, MVT::i16,
          OPC_MoveParent,
          OPC_CheckChild2Same, 2,
          OPC_CheckPredicate0,
          OPC_CheckPredicate1,
          OPC_CheckComplexPat0, /*#*/2,
          OPC_EmitMergeInputChains, 2, 0, 1,
          OPC_EmitConvertToTarget3,
          OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i16, 3, 4, 5, 6,
         0,
        0,
       0,
      48,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_SwitchType , 20, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 3,
       20, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 3,
       0,
      0,
     106|128,3, TARGET_VAL(ISD::XOR),
      OPC_Scope, 78,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 24, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 4,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mm), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 7, 8, 5, 6,
       24, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 4,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mm), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 7, 8, 5, 6,
       0,
      43,
       OPC_RecordChild0,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      43,
       OPC_CheckChild0Integer, 127,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      43,
       OPC_RecordChild0,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      43,
       OPC_CheckChild0Integer, 127,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      42,
       OPC_RecordChild0,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      42,
       OPC_CheckChild0Integer, 127,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      42,
       OPC_RecordChild0,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      42,
       OPC_CheckChild0Integer, 127,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      60,
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 127,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 20, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 1,
       20, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 1,
       0,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   99|128,2, TARGET_VAL(ISD::ADD),
    OPC_Scope, 36|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_Scope, 101|128,1,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 51, MVT::i8,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       51, MVT::i16,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       0,
      105, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_Scope, 25,
        OPC_CheckPredicate4,
        OPC_MoveParent,
        OPC_CheckType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       25,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       49,
        OPC_MoveParent,
        OPC_SwitchType , 21, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        21, MVT::i16,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        0,
       0,
      0,
     48,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 20, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      20, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   101|128,2, TARGET_VAL(ISD::ADDE),
    OPC_RecordNode,
    OPC_CaptureGlueInput,
    OPC_Scope, 36|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_Scope, 101|128,1,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 51, MVT::i8,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       51, MVT::i16,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       0,
      105, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_Scope, 25,
        OPC_CheckPredicate4,
        OPC_MoveParent,
        OPC_CheckType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       25,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       49,
        OPC_MoveParent,
        OPC_SwitchType , 21, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        21, MVT::i16,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        0,
       0,
      0,
     48,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 20, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      20, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   99|128,2, TARGET_VAL(ISD::OR),
    OPC_Scope, 36|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_Scope, 101|128,1,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 51, MVT::i8,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       51, MVT::i16,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       0,
      105, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_Scope, 25,
        OPC_CheckPredicate4,
        OPC_MoveParent,
        OPC_CheckType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       25,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       49,
        OPC_MoveParent,
        OPC_SwitchType , 21, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        21, MVT::i16,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        0,
       0,
      0,
     48,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 20, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      20, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   99|128,2, TARGET_VAL(ISD::XOR),
    OPC_Scope, 36|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_Scope, 101|128,1,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_SwitchType , 51, MVT::i8,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       51, MVT::i16,
        OPC_MoveParent,
        OPC_Scope, 23,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 5, 6, 7, 8,
        23,
         OPC_CheckChild2Same, 4,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat0, /*#*/4,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mm), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 4, 7, 8, 5, 6,
        0,
       0,
      105, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_Scope, 25,
        OPC_CheckPredicate4,
        OPC_MoveParent,
        OPC_CheckType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       25,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mc), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       49,
        OPC_MoveParent,
        OPC_SwitchType , 21, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        21, MVT::i16,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckPredicate0,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 3, 4, 5, 6,
        0,
       0,
      0,
     48,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 20, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      20, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   110|128,1, TARGET_VAL(ISD::SUB),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_Scope, 47|128,1,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_SwitchType , 24, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mm), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      24, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mm), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      0,
     105, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 25,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      25,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      49,
       OPC_MoveParent,
       OPC_SwitchType , 21, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       21, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       0,
      0,
     0,
    48,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     0,
    0,
   112|128,1, TARGET_VAL(ISD::SUBE),
    OPC_RecordNode,
    OPC_CaptureGlueInput,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_Scope, 47|128,1,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_SwitchType , 24, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      24, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      0,
     105, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 25,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      25,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      49,
       OPC_MoveParent,
       OPC_SwitchType , 21, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       21, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       0,
      0,
     0,
    48,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     0,
    0,
   110|128,1, TARGET_VAL(MSP430ISD::DADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_Scope, 47|128,1,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_SwitchType , 24, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      24, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat0, /*#*/4,
       OPC_EmitMergeInputChains, 3, 0, 1, 3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 5, 6, 7, 8,
      0,
     105, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 25,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      25,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mc), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 6,
      49,
       OPC_MoveParent,
       OPC_SwitchType , 21, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       21, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 3, 4, 5, 6,
       0,
      0,
     0,
    48,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     0,
    0,
   117|128,1, TARGET_VAL(ISD::ADDC),
    OPC_RecordNode,
    OPC_Scope, 53|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_Scope, 119,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_SwitchType , 51, MVT::i16,
       OPC_MoveParent,
       OPC_Scope, 23,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 4, 5, 6, 7, 8,
       23,
        OPC_CheckChild2Same, 4,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 4, 7, 8, 5, 6,
       0,
      51, MVT::i8,
       OPC_MoveParent,
       OPC_Scope, 23,
        OPC_CheckChild2Same, 2,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 4, 5, 6, 7, 8,
       23,
        OPC_CheckChild2Same, 4,
        OPC_CheckPredicate0,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat0, /*#*/4,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 4, 7, 8, 5, 6,
       0,
      0,
     48,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 20, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      20, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 4, 5, 3,
      0,
     0,
    58,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 1,
     0,
    0,
   0|128,1, TARGET_VAL(ISD::SUBC),
    OPC_RecordNode,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_Scope, 65,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat0, /*#*/4,
      OPC_EmitMergeInputChains, 3, 0, 1, 3,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 4, 5, 6, 7, 8,
     24, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat0, /*#*/4,
      OPC_EmitMergeInputChains, 3, 0, 1, 3,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 4, 5, 6, 7, 8,
     0,
    48,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     20, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 4, 5, 3,
     0,
    0,
   55, TARGET_VAL(MSP430ISD::RRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_SwitchType , 19, MVT::i8,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRA8m), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 3, 4,
    19, MVT::i16,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRA16m), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 3, 4,
    0,
   55, TARGET_VAL(MSP430ISD::RRC),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_SwitchType , 19, MVT::i8,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRC8m), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 3, 4,
    19, MVT::i16,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRC16m), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 3, 4,
    0,
   35, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild2Same, 2,
    OPC_CheckPredicate0,
    OPC_CheckPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_MorphNodeTo1, TARGET_VAL(MSP430::SEXT16m), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, 2, 3, 4,
   31, TARGET_VAL(ISD::BSWAP),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckChild2Same, 2,
    OPC_CheckPredicate0,
    OPC_CheckPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_MorphNodeTo0, TARGET_VAL(MSP430::SWPB16m), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 3, 4,
   54, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_SwitchType , 21, MVT::i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mm), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 7, 4, 5,
    21, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mm), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 7, 4, 5,
    0,
   67, TARGET_VAL(MSP430ISD::Wrapper),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 18, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    18, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    18, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    0,
   0,
  122,
   OPC_RecordChild1,
   OPC_Scope, 84,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 37, MVT::i8,
     OPC_Scope, 17,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mc), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 5,
     16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 5,
     0,
    37, MVT::i16,
     OPC_Scope, 17,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mc), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 5,
     16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 5,
     0,
    0,
   16,
    OPC_CheckChild1Type, MVT::i8,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_CheckPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mr), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 3, 4, 1,
   16,
    OPC_CheckChild1Type, MVT::i16,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_CheckPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 3, 4, 1,
   0,
  0,
 0|128,6, TARGET_VAL(MSP430ISD::CMP),
  OPC_Scope, 42|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 11|128,2, TARGET_VAL(ISD::AND),
    OPC_Scope, 35|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 56, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_SwitchType , 21, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 4, 4, 5, 6, 7,
      21, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 4, 4, 5, 6, 7,
      0,
     88, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 21,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      21,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      40,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_SwitchType , 16, MVT::i8,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 3, 4, 5,
       16, MVT::i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                        MVT::i16, 3, 3, 4, 5,
       0,
      0,
     0,
    49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_SwitchType , 15, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 0, 3, 4,
     15, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 0, 3, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate6,
     OPC_SwitchType , 15, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 3, 4, 2,
     15, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 3, 3, 4, 2,
     0,
    0,
   20|128,1, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_SwitchType , 68, MVT::i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 4, 4, 5, 6, 7,
     34, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 15,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      14,
       OPC_MoveParent,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      0,
     0,
    68, MVT::i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate3,
      OPC_MoveParent,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                      MVT::i16, 4, 4, 5, 6, 7,
     34, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_Scope, 15,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      14,
       OPC_MoveParent,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                       MVT::i16, 3, 3, 4, 5,
      0,
     0,
    0,
   0,
  55,
   OPC_RecordChild0,
   OPC_Scope, 25,
    OPC_CheckChild0Type, MVT::i8,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, 3, 0, 3, 4,
   25,
    OPC_CheckChild0Type, MVT::i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, 3, 0, 3, 4,
   0,
  64|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 40, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate2,
    OPC_CheckPredicate3,
    OPC_SwitchType , 14, MVT::i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                     MVT::i16, 3, 3, 4, 2,
    14, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                     MVT::i16, 3, 3, 4, 2,
    0,
   104, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 71,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rc),
                      MVT::i16, 2, 0, 2,
     16,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16rc),
                      MVT::i16, 2, 0, 2,
     30,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_SwitchType , 11, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8ri),
                       MVT::i16, 2, 0, 2,
      11, MVT::i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16ri),
                       MVT::i16, 2, 0, 2,
      0,
     0,
    27,
     OPC_CheckPredicate6,
     OPC_SwitchType , 10, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rr),
                      MVT::i16, 2, 0, 1,
     10, MVT::i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16rr),
                      MVT::i16, 2, 0, 1,
     0,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_EmitIntegerI32, MSP430::subreg_8bit,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i8, 2, 0, 2,
    OPC_EmitIntegerI32, MSP430::subreg_8bit,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i8, 2, 1, 4,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rr),
                    MVT::i16, 2, 3, 5,
   0,
  87,
   OPC_RecordChild0,
   OPC_Scope, 41,
    OPC_CheckChild0Type, MVT::i8,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 10,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8rc),
                      MVT::i16, 2, 0, 2,
     9,
      OPC_MoveParent,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8ri),
                      MVT::i16, 2, 0, 2,
     0,
    7,
     OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8rr),
                     MVT::i16, 2, 0, 1,
    0,
   41,
    OPC_CheckChild0Type, MVT::i16,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 10,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16rc),
                      MVT::i16, 2, 0, 2,
     9,
      OPC_MoveParent,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16ri),
                      MVT::i16, 2, 0, 2,
     0,
    7,
     OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16rr),
                     MVT::i16, 2, 0, 1,
    0,
   0,
  0,
 117|128,5, TARGET_VAL(ISD::AND),
  OPC_Scope, 51,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  51,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  71,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 41,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 16,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    16,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    0,
   21,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
                    MVT::i8, MVT::i16, 2, 0, 2,
   0,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
                    MVT::i8, MVT::i16, 2, 1, 2,
   22,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
                    MVT::i8, MVT::i16, 2, 1, 2,
   0,
  26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_CheckChild0Integer, 127,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i16,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
                   MVT::i16, MVT::i16, 2, 0, 2,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
                    MVT::i16, MVT::i16, 2, 1, 2,
   22,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
                    MVT::i16, MVT::i16, 2, 1, 2,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 33,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
                     MVT::i8, MVT::i16, 2, 0, 2,
    9, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
                     MVT::i16, MVT::i16, 2, 0, 2,
    0,
   20,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
                    MVT::i8, MVT::i16, 2, 0, 2,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
                    MVT::i8, MVT::i16, 2, 1, 2,
   21,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i8,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
                    MVT::i8, MVT::i16, 2, 1, 2,
   0,
  25,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_CheckChild0Integer, 127,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i16,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
                   MVT::i16, MVT::i16, 2, 0, 2,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
                    MVT::i16, MVT::i16, 2, 1, 2,
   21,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
                    MVT::i16, MVT::i16, 2, 1, 2,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   8, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rr),
                    MVT::i8, MVT::i16, 2, 1, 0,
   8, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rr),
                    MVT::i16, MVT::i16, 2, 1, 0,
   0,
  12,
   OPC_CheckAndImm, 127|128,1,
   OPC_RecordChild0,
   OPC_CheckType, MVT::i16,
   OPC_MorphNodeTo1None, TARGET_VAL(MSP430::ZEXT16r),
                   MVT::i16, 1, 0,
  87,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 53, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_Scope, 24,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains, 2, 0, 1,
   OPC_MorphNodeTo0, TARGET_VAL(MSP430::Bm), 0|OPFL_Chain|OPFL_MemRefs,
                   2, 3, 4,
  24,
   OPC_RecordChild1,
   OPC_Scope, 11,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::Bi),
                    1, 1,
   8,
    OPC_CheckChild1Type, MVT::i16,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::Br),
                    1, 1,
   0,
  0,
 90, TARGET_VAL(MSP430ISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains, 2, 0, 1,
   OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs|OPFL_Variadic1,
                   MVT::i16, 2, 3, 4,
  59,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 10, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i16, 1, 2,
    11, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i16, 1, 1,
    11, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i16, 1, 1,
    0,
   10,
    OPC_CheckChild1Type, MVT::i16,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i16, 1, 1,
   0,
  0,
 36|128,2, TARGET_VAL(ISD::ADD),
  OPC_Scope, 44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  54,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(MSP430ISD::Wrapper),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 0, 1,
   12, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 0, 1,
   12, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(MSP430ISD::Wrapper),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 1, 0,
   13, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 1, 0,
   13, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                    MVT::i16, MVT::i16, 2, 1, 0,
   0,
  87,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 59|128,1, TARGET_VAL(ISD::ADDE),
  OPC_CaptureGlueInput,
  OPC_Scope, 44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  93,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 14,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
                     MVT::i8, MVT::i16, 2, 0, 2,
    14,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
                     MVT::i16, MVT::i16, 2, 0, 2,
    27,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
                      MVT::i8, MVT::i16, 2, 0, 2,
     10, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   11,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
                    MVT::i8, MVT::i16, 2, 0, 1,
   11,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 52|128,1, TARGET_VAL(ISD::OR),
  OPC_Scope, 44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  87,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 52|128,1, TARGET_VAL(ISD::XOR),
  OPC_Scope, 44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   0,
  87,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 6|128,1, TARGET_VAL(ISD::SUB),
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  86,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 13|128,1, TARGET_VAL(ISD::SUBE),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  92,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 14,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
                     MVT::i8, MVT::i16, 2, 0, 2,
    14,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
                     MVT::i16, MVT::i16, 2, 0, 2,
    27,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
                      MVT::i8, MVT::i16, 2, 0, 2,
     10, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   11,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
                    MVT::i8, MVT::i16, 2, 0, 1,
   11,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 6|128,1, TARGET_VAL(MSP430ISD::DADD),
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::DADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::DADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   0,
  86,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8rc),
                     MVT::i8, MVT::i16, 2, 0, 2,
    13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16rc),
                     MVT::i16, MVT::i16, 2, 0, 2,
    25,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8ri),
                      MVT::i8, MVT::i16, 2, 0, 2,
     9, MVT::i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16ri),
                      MVT::i16, MVT::i16, 2, 0, 2,
     0,
    0,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   0,
  0,
 21|128,1, TARGET_VAL(ISD::ADDC),
  OPC_Scope, 44,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   0,
  44,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 2, 3, 4,
   13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 2, 3, 4,
   0,
  56,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD16ri),
                     MVT::i16, MVT::i16, 2, 0, 2,
    9, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD8ri),
                     MVT::i8, MVT::i16, 2, 0, 2,
    0,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   0,
  0,
 103, TARGET_VAL(ISD::SUBC),
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate2,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::i16,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i16, MVT::i16, 3, 0, 3, 4,
   13, MVT::i8,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                    MVT::i8, MVT::i16, 3, 0, 3, 4,
   0,
  55,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB16ri),
                     MVT::i16, MVT::i16, 2, 0, 2,
    9, MVT::i8,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB8ri),
                     MVT::i8, MVT::i16, 2, 0, 2,
    0,
   10,
    OPC_CheckType, MVT::i16,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB16rr),
                    MVT::i16, MVT::i16, 2, 0, 1,
   10,
    OPC_CheckType, MVT::i8,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB8rr),
                    MVT::i8, MVT::i16, 2, 0, 1,
   0,
  0,
 94, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckPredicate2,
  OPC_Scope, 53,
   OPC_CheckPredicate3,
   OPC_SwitchType , 23, MVT::i8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_Scope, 8,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV8rm), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i8, 2, 2, 3,
    8,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV8rn), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i8, 2, 2, 3,
    0,
   23, MVT::i16,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_Scope, 8,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV16rm), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 2, 3,
    8,
     OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV16rn), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i16, 2, 2, 3,
    0,
   0,
  16,
   OPC_CheckPredicate, 9,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::i16,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i16, 2, 2, 3,
  16,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::i16,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i16, 2, 2, 3,
  0,
 21, TARGET_VAL(ISD::CALLSEQ_START),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                  MVT::i16, 2, 1, 2,
 22, TARGET_VAL(ISD::CALLSEQ_END),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i16, 2, 1, 2,
 22, TARGET_VAL(MSP430ISD::BR_CC),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo0, TARGET_VAL(MSP430::JCC), 0|OPFL_Chain|OPFL_GlueInput,
                  2, 1, 3,
 43, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 12,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MorphNodeTo1None, TARGET_VAL(MSP430::ZEXT16r),
                   MVT::i16, 1, 0,
  27,
   OPC_RecordChild0,
   OPC_Scope, 16,
    OPC_MoveChild0,
    OPC_CheckPredicate, 10,
    OPC_MoveParent,
    OPC_EmitIntegerI16, 0,
    OPC_EmitIntegerI32, MSP430::subreg_8bit,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i16, 3, 1, 0, 2,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOVZX16rr8),
                    MVT::i16, 1, 0,
   0,
  0,
 40, TARGET_VAL(MSP430ISD::Wrapper),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckType, MVT::i16,
   OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
                   MVT::i16, 1, 0,
  9, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckType, MVT::i16,
   OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
                   MVT::i16, 1, 0,
  9, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckType, MVT::i16,
   OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
                   MVT::i16, 1, 0,
  0,
 33, TARGET_VAL(MSP430ISD::SELECT_CC),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::i8,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(MSP430::Select8),
                   MVT::i8, 3, 0, 1, 3,
  9, MVT::i16,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(MSP430::Select16),
                   MVT::i16, 3, 0, 1, 3,
  0,
 45, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_SwitchType , 19, MVT::i8,
   OPC_Scope, 8,
    OPC_CheckPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV8rc),
                    MVT::i8, 1, 1,
   7,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV8ri),
                    MVT::i8, 1, 1,
   0,
  19, MVT::i16,
   OPC_Scope, 8,
    OPC_CheckPredicate5,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16rc),
                    MVT::i16, 1, 1,
   7,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
                    MVT::i16, 1, 1,
   0,
  0,
 8, TARGET_VAL(MSP430ISD::RET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(MSP430::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0,
 8, TARGET_VAL(MSP430ISD::RETI_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(MSP430::RETI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0,
 13, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::JMP),
                  1, 1,
 23, TARGET_VAL(MSP430ISD::RLA),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rr),
                   MVT::i8, MVT::i16, 2, 0, 0,
  8, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rr),
                   MVT::i16, MVT::i16, 2, 0, 0,
  0,
 21, TARGET_VAL(MSP430ISD::RRA),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRA8r),
                   MVT::i8, MVT::i16, 1, 0,
  7, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRA16r),
                   MVT::i16, MVT::i16, 1, 0,
  0,
 21, TARGET_VAL(MSP430ISD::RRC),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRC8r),
                   MVT::i8, MVT::i16, 1, 0,
  7, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRC16r),
                   MVT::i16, MVT::i16, 1, 0,
  0,
 12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_RecordChild0,
  OPC_MoveChild1,
  OPC_CheckValueType, MVT::i8,
  OPC_MoveParent,
  OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SEXT16r),
                  MVT::i16, MVT::i16, 1, 0,
 9, TARGET_VAL(ISD::BSWAP),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i16,
  OPC_MorphNodeTo1None, TARGET_VAL(MSP430::SWPB16r),
                  MVT::i16, 1, 0,
 13, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_RecordChild0,
  OPC_EmitIntegerI16, 0,
  OPC_EmitIntegerI32, MSP430::subreg_8bit,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::i16, 3, 1, 0, 2,
 10, TARGET_VAL(ISD::TRUNCATE),
  OPC_RecordChild0,
  OPC_EmitIntegerI32, MSP430::subreg_8bit,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                  MVT::i8, 2, 0, 1,
 26, TARGET_VAL(ISD::SHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::i8,
  OPC_SwitchType , 8, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Shl8),
                   MVT::i8, MVT::i16, 2, 0, 1,
  8, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Shl16),
                   MVT::i16, MVT::i16, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::SRA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::i8,
  OPC_SwitchType , 8, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Sra8),
                   MVT::i8, MVT::i16, 2, 0, 1,
  8, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Sra16),
                   MVT::i16, MVT::i16, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::SRL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::i8,
  OPC_SwitchType , 8, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Srl8),
                   MVT::i8, MVT::i16, 2, 0, 1,
  8, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Srl16),
                   MVT::i16, MVT::i16, 2, 0, 1,
  0,
 21, TARGET_VAL(MSP430ISD::RRCL),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::i8,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Rrcl8),
                   MVT::i8, MVT::i16, 1, 0,
  7, MVT::i16,
   OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Rrcl16),
                   MVT::i16, MVT::i16, 1, 0,
  0,
 0,
    0
  }; // Total Array size is 8069 bytes

  #undef COVERAGE_IDX_VAL
  #undef TARGET_VAL
  SelectCodeCommon(N, MatcherTable, sizeof(MatcherTable));
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: {
    // Predicate_unindexedstore
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 1: {
    // Predicate_store
    SDNode *N = Op.getNode();
    (void)N;
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 2: {
    // Predicate_unindexedload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 3: {
    // Predicate_load
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

  }
  case 4: {
    // Predicate_cg8imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm == 0 || Imm == 1 || Imm == 2 ||
                                  Imm == 4 || Imm == 8 || Imm == -1;
  }
  case 5: {
    // Predicate_cg16imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm == 0 || Imm == 1 || Imm == 2 ||
                                    Imm == 4 || Imm == 8 || Imm == -1;
  }
  case 6: {
    // Predicate_and_su
    SDNode *N = Op.getNode();
    (void)N;

  return N->hasOneUse();

  }
  case 7: {
    // Predicate_extloadi8
    // Predicate_zextloadi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

  }
  case 8: {
    // Predicate_extload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

  }
  case 9: {
    // Predicate_zextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
return true;

  }
  case 10: {
    // Predicate_def8
    SDNode *N = Op.getNode();
    (void)N;

  return N->getOpcode() != ISD::TRUNCATE &&
         N->getOpcode() != TargetOpcode::EXTRACT_SUBREG &&
         N->getOpcode() != ISD::CopyFromReg;

  }
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
#if DAGISEL_INLINE
  override
#endif
{
  unsigned NextRes = Result.size();
  switch (PatternNo) {
  default: llvm_unreachable("Invalid pattern # in table?");
  case 0:
    Result.resize(NextRes+2);
  return SelectAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
  }
}
#endif // GET_DAGISEL_BODY


#ifdef DAGISEL_INLINE
#undef DAGISEL_INLINE
#endif
#ifdef DAGISEL_CLASS_COLONCOLON
#undef DAGISEL_CLASS_COLONCOLON
#endif
#ifdef GET_DAGISEL_DECL
#undef GET_DAGISEL_DECL
#endif
#ifdef GET_DAGISEL_BODY
#undef GET_DAGISEL_BODY
#endif
